rev |
line source |
nuclear@0
|
1 /***************************************************************************/
|
nuclear@0
|
2 /* */
|
nuclear@0
|
3 /* svgldict.h */
|
nuclear@0
|
4 /* */
|
nuclear@0
|
5 /* The FreeType glyph dictionary services (specification). */
|
nuclear@0
|
6 /* */
|
nuclear@0
|
7 /* Copyright 2003 by */
|
nuclear@0
|
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
nuclear@0
|
9 /* */
|
nuclear@0
|
10 /* This file is part of the FreeType project, and may only be used, */
|
nuclear@0
|
11 /* modified, and distributed under the terms of the FreeType project */
|
nuclear@0
|
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
nuclear@0
|
13 /* this file you indicate that you have read the license and */
|
nuclear@0
|
14 /* understand and accept it fully. */
|
nuclear@0
|
15 /* */
|
nuclear@0
|
16 /***************************************************************************/
|
nuclear@0
|
17
|
nuclear@0
|
18
|
nuclear@0
|
19 #ifndef __SVGLDICT_H__
|
nuclear@0
|
20 #define __SVGLDICT_H__
|
nuclear@0
|
21
|
nuclear@0
|
22 #include FT_INTERNAL_SERVICE_H
|
nuclear@0
|
23
|
nuclear@0
|
24
|
nuclear@0
|
25 FT_BEGIN_HEADER
|
nuclear@0
|
26
|
nuclear@0
|
27
|
nuclear@0
|
28 /*
|
nuclear@0
|
29 * A service used to retrieve glyph names, as well as to find the
|
nuclear@0
|
30 * index of a given glyph name in a font.
|
nuclear@0
|
31 *
|
nuclear@0
|
32 */
|
nuclear@0
|
33
|
nuclear@0
|
34 #define FT_SERVICE_ID_GLYPH_DICT "glyph-dict"
|
nuclear@0
|
35
|
nuclear@0
|
36
|
nuclear@0
|
37 typedef FT_Error
|
nuclear@0
|
38 (*FT_GlyphDict_GetNameFunc)( FT_Face face,
|
nuclear@0
|
39 FT_UInt glyph_index,
|
nuclear@0
|
40 FT_Pointer buffer,
|
nuclear@0
|
41 FT_UInt buffer_max );
|
nuclear@0
|
42
|
nuclear@0
|
43 typedef FT_UInt
|
nuclear@0
|
44 (*FT_GlyphDict_NameIndexFunc)( FT_Face face,
|
nuclear@0
|
45 FT_String* glyph_name );
|
nuclear@0
|
46
|
nuclear@0
|
47
|
nuclear@0
|
48 FT_DEFINE_SERVICE( GlyphDict )
|
nuclear@0
|
49 {
|
nuclear@0
|
50 FT_GlyphDict_GetNameFunc get_name;
|
nuclear@0
|
51 FT_GlyphDict_NameIndexFunc name_index; /* optional */
|
nuclear@0
|
52 };
|
nuclear@0
|
53
|
nuclear@0
|
54 #ifndef FT_CONFIG_OPTION_PIC
|
nuclear@0
|
55
|
nuclear@0
|
56 #define FT_DEFINE_SERVICE_GLYPHDICTREC(class_, get_name_, name_index_) \
|
nuclear@0
|
57 static const FT_Service_GlyphDictRec class_ = \
|
nuclear@0
|
58 { \
|
nuclear@0
|
59 get_name_, name_index_ \
|
nuclear@0
|
60 };
|
nuclear@0
|
61
|
nuclear@0
|
62 #else /* FT_CONFIG_OPTION_PIC */
|
nuclear@0
|
63
|
nuclear@0
|
64 #define FT_DEFINE_SERVICE_GLYPHDICTREC(class_, get_name_, name_index_) \
|
nuclear@0
|
65 void \
|
nuclear@0
|
66 FT_Init_Class_##class_( FT_Library library, \
|
nuclear@0
|
67 FT_Service_GlyphDictRec* clazz) \
|
nuclear@0
|
68 { \
|
nuclear@0
|
69 FT_UNUSED(library); \
|
nuclear@0
|
70 clazz->get_name = get_name_; \
|
nuclear@0
|
71 clazz->name_index = name_index_; \
|
nuclear@0
|
72 }
|
nuclear@0
|
73
|
nuclear@0
|
74 #endif /* FT_CONFIG_OPTION_PIC */
|
nuclear@0
|
75
|
nuclear@0
|
76 /* */
|
nuclear@0
|
77
|
nuclear@0
|
78
|
nuclear@0
|
79 FT_END_HEADER
|
nuclear@0
|
80
|
nuclear@0
|
81
|
nuclear@0
|
82 #endif /* __SVGLDICT_H__ */
|