00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __SVGLDICT_H__
00020 #define __SVGLDICT_H__
00021
00022 #include FT_INTERNAL_SERVICE_H
00023
00024
00025 FT_BEGIN_HEADER
00026
00027
00028
00029
00030
00031
00032
00033
00034 #define FT_SERVICE_ID_GLYPH_DICT "glyph-dict"
00035
00036
00037 typedef FT_Error
00038 (*FT_GlyphDict_GetNameFunc)( FT_Face face,
00039 FT_UInt glyph_index,
00040 FT_Pointer buffer,
00041 FT_UInt buffer_max );
00042
00043 typedef FT_UInt
00044 (*FT_GlyphDict_NameIndexFunc)( FT_Face face,
00045 FT_String* glyph_name );
00046
00047
00048 FT_DEFINE_SERVICE( GlyphDict )
00049 {
00050 FT_GlyphDict_GetNameFunc get_name;
00051 FT_GlyphDict_NameIndexFunc name_index;
00052 };
00053
00054 #ifndef FT_CONFIG_OPTION_PIC
00055
00056 #define FT_DEFINE_SERVICE_GLYPHDICTREC(class_, get_name_, name_index_) \
00057 static const FT_Service_GlyphDictRec class_ = \
00058 { \
00059 get_name_, name_index_ \
00060 };
00061
00062 #else
00063
00064 #define FT_DEFINE_SERVICE_GLYPHDICTREC(class_, get_name_, name_index_) \
00065 void \
00066 FT_Init_Class_##class_( FT_Library library, \
00067 FT_Service_GlyphDictRec* clazz) \
00068 { \
00069 FT_UNUSED(library); \
00070 clazz->get_name = get_name_; \
00071 clazz->name_index = name_index_; \
00072 }
00073
00074 #endif
00075
00076
00077
00078
00079 FT_END_HEADER
00080
00081
00082 #endif