OLD | NEW |
| (Empty) |
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 "../../include/ft2build.h" | |
20 #include "../../include/freetype/internal/ftobjs.h" | |
21 #include "../../include/freetype/internal/ftserv.h" | |
22 #include "../../include/freetype/internal/services/svpsinfo.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 */ | |
OLD | NEW |