1 /***************************************************************************/ |
|
2 /* */ |
|
3 /* svgldict.h */ |
|
4 /* */ |
|
5 /* The FreeType glyph dictionary services (specification). */ |
|
6 /* */ |
|
7 /* Copyright 2003 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 __SVGLDICT_H__ |
|
20 #define __SVGLDICT_H__ |
|
21 |
|
22 #include FT_INTERNAL_SERVICE_H |
|
23 |
|
24 |
|
25 FT_BEGIN_HEADER |
|
26 |
|
27 |
|
28 /* |
|
29 * A service used to retrieve glyph names, as well as to find the |
|
30 * index of a given glyph name in a font. |
|
31 * |
|
32 */ |
|
33 |
|
34 #define FT_SERVICE_ID_GLYPH_DICT "glyph-dict" |
|
35 |
|
36 |
|
37 typedef FT_Error |
|
38 (*FT_GlyphDict_GetNameFunc)( FT_Face face, |
|
39 FT_UInt glyph_index, |
|
40 FT_Pointer buffer, |
|
41 FT_UInt buffer_max ); |
|
42 |
|
43 typedef FT_UInt |
|
44 (*FT_GlyphDict_NameIndexFunc)( FT_Face face, |
|
45 FT_String* glyph_name ); |
|
46 |
|
47 |
|
48 FT_DEFINE_SERVICE( GlyphDict ) |
|
49 { |
|
50 FT_GlyphDict_GetNameFunc get_name; |
|
51 FT_GlyphDict_NameIndexFunc name_index; /* optional */ |
|
52 }; |
|
53 |
|
54 #ifndef FT_CONFIG_OPTION_PIC |
|
55 |
|
56 #define FT_DEFINE_SERVICE_GLYPHDICTREC(class_, get_name_, name_index_) \ |
|
57 static const FT_Service_GlyphDictRec class_ = \ |
|
58 { \ |
|
59 get_name_, name_index_ \ |
|
60 }; |
|
61 |
|
62 #else /* FT_CONFIG_OPTION_PIC */ |
|
63 |
|
64 #define FT_DEFINE_SERVICE_GLYPHDICTREC(class_, get_name_, name_index_) \ |
|
65 void \ |
|
66 FT_Init_Class_##class_( FT_Library library, \ |
|
67 FT_Service_GlyphDictRec* clazz) \ |
|
68 { \ |
|
69 FT_UNUSED(library); \ |
|
70 clazz->get_name = get_name_; \ |
|
71 clazz->name_index = name_index_; \ |
|
72 } |
|
73 |
|
74 #endif /* FT_CONFIG_OPTION_PIC */ |
|
75 |
|
76 /* */ |
|
77 |
|
78 |
|
79 FT_END_HEADER |
|
80 |
|
81 |
|
82 #endif /* __SVGLDICT_H__ */ |
|