1 /***************************************************************************/ |
|
2 /* */ |
|
3 /* svpsinfo.h */ |
|
4 /* */ |
|
5 /* The FreeType PostScript info service (specification). */ |
|
6 /* */ |
|
7 /* Copyright 2003, 2004, 2009 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 |
|
48 FT_DEFINE_SERVICE( PsInfo ) |
|
49 { |
|
50 PS_GetFontInfoFunc ps_get_font_info; |
|
51 PS_GetFontExtraFunc ps_get_font_extra; |
|
52 PS_HasGlyphNamesFunc ps_has_glyph_names; |
|
53 PS_GetFontPrivateFunc ps_get_font_private; |
|
54 }; |
|
55 |
|
56 #ifndef FT_CONFIG_OPTION_PIC |
|
57 |
|
58 #define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_, \ |
|
59 ps_get_font_extra_, has_glyph_names_, get_font_private_) \ |
|
60 static const FT_Service_PsInfoRec class_ = \ |
|
61 { \ |
|
62 get_font_info_, ps_get_font_extra_, has_glyph_names_, \ |
|
63 get_font_private_ \ |
|
64 }; |
|
65 |
|
66 #else /* FT_CONFIG_OPTION_PIC */ |
|
67 |
|
68 #define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_, \ |
|
69 ps_get_font_extra_, has_glyph_names_, get_font_private_) \ |
|
70 void \ |
|
71 FT_Init_Class_##class_( FT_Library library, \ |
|
72 FT_Service_PsInfoRec* clazz) \ |
|
73 { \ |
|
74 FT_UNUSED(library); \ |
|
75 clazz->ps_get_font_info = get_font_info_; \ |
|
76 clazz->ps_get_font_extra = ps_get_font_extra_; \ |
|
77 clazz->ps_has_glyph_names = has_glyph_names_; \ |
|
78 clazz->ps_get_font_private = get_font_private_; \ |
|
79 } |
|
80 |
|
81 #endif /* FT_CONFIG_OPTION_PIC */ |
|
82 |
|
83 /* */ |
|
84 |
|
85 |
|
86 FT_END_HEADER |
|
87 |
|
88 |
|
89 #endif /* __SVPSINFO_H__ */ |
|
90 |
|
91 |
|
92 /* END */ |
|