OLD | NEW |
| (Empty) |
1 /***************************************************************************/ | |
2 /* */ | |
3 /* svpsinfo.h */ | |
4 /* */ | |
5 /* The FreeType PostScript info service (specification). */ | |
6 /* */ | |
7 /* Copyright 2003, 2004, 2009, 2011, 2012 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 #ifndef __SVPSINFO_H__ | |
20 #define __SVPSINFO_H__ | |
21 | |
22 #include "../ftserv.h" | |
23 #include "../t1types.h" | |
24 | |
25 | |
26 FT_BEGIN_HEADER | |
27 | |
28 | |
29 #define FT_SERVICE_ID_POSTSCRIPT_INFO "postscript-info" | |
30 | |
31 | |
32 typedef FT_Error | |
33 (*PS_GetFontInfoFunc)( FT_Face face, | |
34 PS_FontInfoRec* afont_info ); | |
35 | |
36 typedef FT_Error | |
37 (*PS_GetFontExtraFunc)( FT_Face face, | |
38 PS_FontExtraRec* afont_extra ); | |
39 | |
40 typedef FT_Int | |
41 (*PS_HasGlyphNamesFunc)( FT_Face face ); | |
42 | |
43 typedef FT_Error | |
44 (*PS_GetFontPrivateFunc)( FT_Face face, | |
45 PS_PrivateRec* afont_private ); | |
46 | |
47 typedef FT_Long | |
48 (*PS_GetFontValueFunc)( FT_Face face, | |
49 PS_Dict_Keys key, | |
50 FT_UInt idx, | |
51 void *value, | |
52 FT_Long value_len ); | |
53 | |
54 | |
55 FT_DEFINE_SERVICE( PsInfo ) | |
56 { | |
57 PS_GetFontInfoFunc ps_get_font_info; | |
58 PS_GetFontExtraFunc ps_get_font_extra; | |
59 PS_HasGlyphNamesFunc ps_has_glyph_names; | |
60 PS_GetFontPrivateFunc ps_get_font_private; | |
61 PS_GetFontValueFunc ps_get_font_value; | |
62 }; | |
63 | |
64 | |
65 #ifndef FT_CONFIG_OPTION_PIC | |
66 | |
67 #define FT_DEFINE_SERVICE_PSINFOREC( class_, \ | |
68 get_font_info_, \ | |
69 ps_get_font_extra_, \ | |
70 has_glyph_names_, \ | |
71 get_font_private_, \ | |
72 get_font_value_ ) \ | |
73 static const FT_Service_PsInfoRec class_ = \ | |
74 { \ | |
75 get_font_info_, ps_get_font_extra_, has_glyph_names_, \ | |
76 get_font_private_, get_font_value_ \ | |
77 }; | |
78 | |
79 #else /* FT_CONFIG_OPTION_PIC */ | |
80 | |
81 #define FT_DEFINE_SERVICE_PSINFOREC( class_, \ | |
82 get_font_info_, \ | |
83 ps_get_font_extra_, \ | |
84 has_glyph_names_, \ | |
85 get_font_private_, \ | |
86 get_font_value_ ) \ | |
87 void \ | |
88 FT_Init_Class_ ## class_( FT_Library library, \ | |
89 FT_Service_PsInfoRec* clazz ) \ | |
90 { \ | |
91 FT_UNUSED( library ); \ | |
92 \ | |
93 clazz->ps_get_font_info = get_font_info_; \ | |
94 clazz->ps_get_font_extra = ps_get_font_extra_; \ | |
95 clazz->ps_has_glyph_names = has_glyph_names_; \ | |
96 clazz->ps_get_font_private = get_font_private_; \ | |
97 clazz->ps_get_font_value = get_font_value_; \ | |
98 } | |
99 | |
100 #endif /* FT_CONFIG_OPTION_PIC */ | |
101 | |
102 /* */ | |
103 | |
104 | |
105 FT_END_HEADER | |
106 | |
107 | |
108 #endif /* __SVPSINFO_H__ */ | |
109 | |
110 | |
111 /* END */ | |
OLD | NEW |