1 /***************************************************************************/ 2 /* */ 3 /* svpsinfo.h */ 4 /* */ 5 /* The FreeType PostScript info service (specification). */ 6 /* */ 7 /* Copyright 2003-2018 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 FT_INTERNAL_SERVICE_H 23 #include FT_INTERNAL_TYPE1_TYPES_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 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 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 #ifndef FT_CONFIG_OPTION_PIC 66 67 #define FT_DEFINE_SERVICE_PSINFOREC( class_, \ 68 get_font_info_, \ 69 ps_get_font_extra_, \ 70 has_glyph_names_, \ 71 get_font_private_, \ 72 get_font_value_ ) \ 73 static const FT_Service_PsInfoRec class_ = \ 74 { \ 75 get_font_info_, ps_get_font_extra_, has_glyph_names_, \ 76 get_font_private_, get_font_value_ \ 77 }; 78 79 #else /* FT_CONFIG_OPTION_PIC */ 80 81 #define FT_DEFINE_SERVICE_PSINFOREC( class_, \ 82 get_font_info_, \ 83 ps_get_font_extra_, \ 84 has_glyph_names_, \ 85 get_font_private_, \ 86 get_font_value_ ) \ 87 void \ 88 FT_Init_Class_ ## class_( FT_Library library, \ 89 FT_Service_PsInfoRec* clazz ) \ 90 { \ 91 FT_UNUSED( library ); \ 92 \ 93 clazz->ps_get_font_info = get_font_info_; \ 94 clazz->ps_get_font_extra = ps_get_font_extra_; \ 95 clazz->ps_has_glyph_names = has_glyph_names_; \ 96 clazz->ps_get_font_private = get_font_private_; \ 97 clazz->ps_get_font_value = get_font_value_; \ 98 } 99 100 #endif /* FT_CONFIG_OPTION_PIC */ 101 102 /* */ 103 104 105 FT_END_HEADER 106 107 108 #endif /* SVPSINFO_H_ */ 109 110 111 /* END */ | 1 /**************************************************************************** 2 * 3 * svpsinfo.h 4 * 5 * The FreeType PostScript info service (specification). 6 * 7 * Copyright (C) 2003-2019 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 FT_INTERNAL_SERVICE_H 23 #include FT_INTERNAL_TYPE1_TYPES_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 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 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 */ |