Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5496 | leency | 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__ */ |