00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __SVPSINFO_H__
00020 #define __SVPSINFO_H__
00021
00022 #include FT_INTERNAL_SERVICE_H
00023 #include FT_INTERNAL_TYPE1_TYPES_H
00024
00025
00026 FT_BEGIN_HEADER
00027
00028
00029 #define FT_SERVICE_ID_POSTSCRIPT_INFO "postscript-info"
00030
00031
00032 typedef FT_Error
00033 (*PS_GetFontInfoFunc)( FT_Face face,
00034 PS_FontInfoRec* afont_info );
00035
00036 typedef FT_Error
00037 (*PS_GetFontExtraFunc)( FT_Face face,
00038 PS_FontExtraRec* afont_extra );
00039
00040 typedef FT_Int
00041 (*PS_HasGlyphNamesFunc)( FT_Face face );
00042
00043 typedef FT_Error
00044 (*PS_GetFontPrivateFunc)( FT_Face face,
00045 PS_PrivateRec* afont_private );
00046
00047
00048 FT_DEFINE_SERVICE( PsInfo )
00049 {
00050 PS_GetFontInfoFunc ps_get_font_info;
00051 PS_GetFontExtraFunc ps_get_font_extra;
00052 PS_HasGlyphNamesFunc ps_has_glyph_names;
00053 PS_GetFontPrivateFunc ps_get_font_private;
00054 };
00055
00056 #ifndef FT_CONFIG_OPTION_PIC
00057
00058 #define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_, \
00059 ps_get_font_extra_, has_glyph_names_, get_font_private_) \
00060 static const FT_Service_PsInfoRec class_ = \
00061 { \
00062 get_font_info_, ps_get_font_extra_, has_glyph_names_, \
00063 get_font_private_ \
00064 };
00065
00066 #else
00067
00068 #define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_, \
00069 ps_get_font_extra_, has_glyph_names_, get_font_private_) \
00070 void \
00071 FT_Init_Class_##class_( FT_Library library, \
00072 FT_Service_PsInfoRec* clazz) \
00073 { \
00074 FT_UNUSED(library); \
00075 clazz->ps_get_font_info = get_font_info_; \
00076 clazz->ps_get_font_extra = ps_get_font_extra_; \
00077 clazz->ps_has_glyph_names = has_glyph_names_; \
00078 clazz->ps_get_font_private = get_font_private_; \
00079 }
00080
00081 #endif
00082
00083
00084
00085
00086 FT_END_HEADER
00087
00088
00089 #endif
00090
00091
00092