Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
3918 | Serge | 1 | /***************************************************************************/ |
2 | /* */ |
||
3 | /* svgldict.h */ |
||
4 | /* */ |
||
5 | /* The FreeType glyph dictionary services (specification). */ |
||
6 | /* */ |
||
7 | /* Copyright 2003, 2009, 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 __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 | |||
55 | #ifndef FT_CONFIG_OPTION_PIC |
||
56 | |||
57 | #define FT_DEFINE_SERVICE_GLYPHDICTREC( class_, \ |
||
58 | get_name_, \ |
||
59 | name_index_) \ |
||
60 | static const FT_Service_GlyphDictRec class_ = \ |
||
61 | { \ |
||
62 | get_name_, name_index_ \ |
||
63 | }; |
||
64 | |||
65 | #else /* FT_CONFIG_OPTION_PIC */ |
||
66 | |||
67 | #define FT_DEFINE_SERVICE_GLYPHDICTREC( class_, \ |
||
68 | get_name_, \ |
||
69 | name_index_) \ |
||
70 | void \ |
||
71 | FT_Init_Class_ ## class_( FT_Library library, \ |
||
72 | FT_Service_GlyphDictRec* clazz ) \ |
||
73 | { \ |
||
74 | FT_UNUSED( library ); \ |
||
75 | \ |
||
76 | clazz->get_name = get_name_; \ |
||
77 | clazz->name_index = name_index_; \ |
||
78 | } |
||
79 | |||
80 | #endif /* FT_CONFIG_OPTION_PIC */ |
||
81 | |||
82 | /* */ |
||
83 | |||
84 | |||
85 | FT_END_HEADER |
||
86 | |||
87 | |||
88 | #endif /* __SVGLDICT_H__ */ |