1 /**************************************************************************** 2 * 3 * svpsinfo.h 4 * 5 * The FreeType PostScript info service (specification). 6 * 7 * Copyright (C) 2003-2023 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 SVPSINFO_H_ 20 #define SVPSINFO_H_ 21 22 #include <freetype/internal/ftserv.h> 23 #include <freetype/internal/t1types.h> 24 25 26 FT_BEGIN_HEADER 27 28 29 #define FT_SERVICE_ID_POSTSCRIPT_INFO "postscript-info" 30 31 32 typedef FT_Error 33 (*PS_GetFontInfoFunc)( FT_Face face, 34 PS_FontInfoRec* afont_info ); 35 36 typedef FT_Error 37 (*PS_GetFontExtraFunc)( FT_Face face, 38 PS_FontExtraRec* afont_extra ); 39 40 typedef FT_Int 41 (*PS_HasGlyphNamesFunc)( FT_Face face ); 42 43 typedef FT_Error 44 (*PS_GetFontPrivateFunc)( FT_Face face, 45 PS_PrivateRec* afont_private ); 46 47 typedef FT_Long 48 (*PS_GetFontValueFunc)( FT_Face face, 49 PS_Dict_Keys key, 50 FT_UInt idx, 51 void *value, 52 FT_Long value_len ); 53 54 FT_DEFINE_SERVICE(PsInfo)55 FT_DEFINE_SERVICE( PsInfo ) 56 { 57 PS_GetFontInfoFunc ps_get_font_info; 58 PS_GetFontExtraFunc ps_get_font_extra; 59 PS_HasGlyphNamesFunc ps_has_glyph_names; 60 PS_GetFontPrivateFunc ps_get_font_private; 61 PS_GetFontValueFunc ps_get_font_value; 62 }; 63 64 65 #define FT_DEFINE_SERVICE_PSINFOREC( class_, \ 66 get_font_info_, \ 67 ps_get_font_extra_, \ 68 has_glyph_names_, \ 69 get_font_private_, \ 70 get_font_value_ ) \ 71 static const FT_Service_PsInfoRec class_ = \ 72 { \ 73 get_font_info_, ps_get_font_extra_, has_glyph_names_, \ 74 get_font_private_, get_font_value_ \ 75 }; 76 77 /* */ 78 79 80 FT_END_HEADER 81 82 83 #endif /* SVPSINFO_H_ */ 84 85 86 /* END */ 87