Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4349 | Serge | 1 | /***************************************************************************/ |
2 | /* */ |
||
3 | /* fttype1.c */ |
||
4 | /* */ |
||
5 | /* FreeType utility file for PS names support (body). */ |
||
6 | /* */ |
||
7 | /* Copyright 2002-2004, 2011 by */ |
||
8 | /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
||
9 | /* */ |
||
10 | /* This file is part of the FreeType project, and may only be used, */ |
||
11 | /* modified, and distributed under the terms of the FreeType project */ |
||
12 | /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
||
13 | /* this file you indicate that you have read the license and */ |
||
14 | /* understand and accept it fully. */ |
||
15 | /* */ |
||
16 | /***************************************************************************/ |
||
17 | |||
18 | |||
19 | #include |
||
20 | #include FT_INTERNAL_OBJECTS_H |
||
21 | #include FT_INTERNAL_SERVICE_H |
||
22 | #include FT_SERVICE_POSTSCRIPT_INFO_H |
||
23 | |||
24 | |||
25 | /* documentation is in t1tables.h */ |
||
26 | |||
27 | FT_EXPORT_DEF( FT_Error ) |
||
28 | FT_Get_PS_Font_Info( FT_Face face, |
||
29 | PS_FontInfoRec* afont_info ) |
||
30 | { |
||
31 | FT_Error error = FT_ERR( Invalid_Argument ); |
||
32 | |||
33 | |||
34 | if ( face ) |
||
35 | { |
||
36 | FT_Service_PsInfo service = NULL; |
||
37 | |||
38 | |||
39 | FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO ); |
||
40 | |||
41 | if ( service && service->ps_get_font_info ) |
||
42 | error = service->ps_get_font_info( face, afont_info ); |
||
43 | } |
||
44 | |||
45 | return error; |
||
46 | } |
||
47 | |||
48 | |||
49 | /* documentation is in t1tables.h */ |
||
50 | |||
51 | FT_EXPORT_DEF( FT_Int ) |
||
52 | FT_Has_PS_Glyph_Names( FT_Face face ) |
||
53 | { |
||
54 | FT_Int result = 0; |
||
55 | FT_Service_PsInfo service = NULL; |
||
56 | |||
57 | |||
58 | if ( face ) |
||
59 | { |
||
60 | FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO ); |
||
61 | |||
62 | if ( service && service->ps_has_glyph_names ) |
||
63 | result = service->ps_has_glyph_names( face ); |
||
64 | } |
||
65 | |||
66 | return result; |
||
67 | } |
||
68 | |||
69 | |||
70 | /* documentation is in t1tables.h */ |
||
71 | |||
72 | FT_EXPORT_DEF( FT_Error ) |
||
73 | FT_Get_PS_Font_Private( FT_Face face, |
||
74 | PS_PrivateRec* afont_private ) |
||
75 | { |
||
76 | FT_Error error = FT_ERR( Invalid_Argument ); |
||
77 | |||
78 | |||
79 | if ( face ) |
||
80 | { |
||
81 | FT_Service_PsInfo service = NULL; |
||
82 | |||
83 | |||
84 | FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO ); |
||
85 | |||
86 | if ( service && service->ps_get_font_private ) |
||
87 | error = service->ps_get_font_private( face, afont_private ); |
||
88 | } |
||
89 | |||
90 | return error; |
||
91 | } |
||
92 | |||
93 | |||
94 | /* documentation is in t1tables.h */ |
||
95 | |||
96 | FT_EXPORT_DEF( FT_Long ) |
||
97 | FT_Get_PS_Font_Value( FT_Face face, |
||
98 | PS_Dict_Keys key, |
||
99 | FT_UInt idx, |
||
100 | void *value, |
||
101 | FT_Long value_len ) |
||
102 | { |
||
103 | FT_Int result = 0; |
||
104 | FT_Service_PsInfo service = NULL; |
||
105 | |||
106 | |||
107 | if ( face ) |
||
108 | { |
||
109 | FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO ); |
||
110 | |||
111 | if ( service && service->ps_get_font_value ) |
||
112 | result = service->ps_get_font_value( face, key, idx, |
||
113 | value, value_len ); |
||
114 | } |
||
115 | |||
116 | return result; |
||
117 | } |
||
118 | |||
119 | |||
120 | /* END */ |