Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4349 | Serge | 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 FT_INTERNAL_SERVICE_H |
||
23 | #include FT_INTERNAL_TYPE1_TYPES_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 */ |