| /***************************************************************************/ |
| /* */ |
| /* svpsinfo.h */ |
| /* */ |
| /* The FreeType PostScript info service (specification). */ |
| /* */ |
| /* Copyright 2003-2015 by */ |
| /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
| /* */ |
| /* This file is part of the FreeType project, and may only be used, */ |
| /* modified, and distributed under the terms of the FreeType project */ |
| /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
| /* this file you indicate that you have read the license and */ |
| /* understand and accept it fully. */ |
| /* */ |
| /***************************************************************************/ |
| |
| |
| #ifndef __SVPSINFO_H__ |
| #define __SVPSINFO_H__ |
| |
| #include FT_INTERNAL_SERVICE_H |
| #include FT_INTERNAL_TYPE1_TYPES_H |
| |
| |
| FT_BEGIN_HEADER |
| |
| |
| #define FT_SERVICE_ID_POSTSCRIPT_INFO "postscript-info" |
| |
| |
| typedef FT_Error |
| (*PS_GetFontInfoFunc)( FT_Face face, |
| PS_FontInfoRec* afont_info ); |
| |
| typedef FT_Error |
| (*PS_GetFontExtraFunc)( FT_Face face, |
| PS_FontExtraRec* afont_extra ); |
| |
| typedef FT_Int |
| (*PS_HasGlyphNamesFunc)( FT_Face face ); |
| |
| typedef FT_Error |
| (*PS_GetFontPrivateFunc)( FT_Face face, |
| PS_PrivateRec* afont_private ); |
| |
| typedef FT_Long |
| (*PS_GetFontValueFunc)( FT_Face face, |
| PS_Dict_Keys key, |
| FT_UInt idx, |
| void *value, |
| FT_Long value_len ); |
| |
| |
| FT_DEFINE_SERVICE( PsInfo ) |
| { |
| PS_GetFontInfoFunc ps_get_font_info; |
| PS_GetFontExtraFunc ps_get_font_extra; |
| PS_HasGlyphNamesFunc ps_has_glyph_names; |
| PS_GetFontPrivateFunc ps_get_font_private; |
| PS_GetFontValueFunc ps_get_font_value; |
| }; |
| |
| |
| #ifndef FT_CONFIG_OPTION_PIC |
| |
| #define FT_DEFINE_SERVICE_PSINFOREC( class_, \ |
| get_font_info_, \ |
| ps_get_font_extra_, \ |
| has_glyph_names_, \ |
| get_font_private_, \ |
| get_font_value_ ) \ |
| static const FT_Service_PsInfoRec class_ = \ |
| { \ |
| get_font_info_, ps_get_font_extra_, has_glyph_names_, \ |
| get_font_private_, get_font_value_ \ |
| }; |
| |
| #else /* FT_CONFIG_OPTION_PIC */ |
| |
| #define FT_DEFINE_SERVICE_PSINFOREC( class_, \ |
| get_font_info_, \ |
| ps_get_font_extra_, \ |
| has_glyph_names_, \ |
| get_font_private_, \ |
| get_font_value_ ) \ |
| void \ |
| FT_Init_Class_ ## class_( FT_Library library, \ |
| FT_Service_PsInfoRec* clazz ) \ |
| { \ |
| FT_UNUSED( library ); \ |
| \ |
| clazz->ps_get_font_info = get_font_info_; \ |
| clazz->ps_get_font_extra = ps_get_font_extra_; \ |
| clazz->ps_has_glyph_names = has_glyph_names_; \ |
| clazz->ps_get_font_private = get_font_private_; \ |
| clazz->ps_get_font_value = get_font_value_; \ |
| } |
| |
| #endif /* FT_CONFIG_OPTION_PIC */ |
| |
| /* */ |
| |
| |
| FT_END_HEADER |
| |
| |
| #endif /* __SVPSINFO_H__ */ |
| |
| |
| /* END */ |