1 /***************************************************************************/ 2 /* */ 3 /* svbdf.h */ 4 /* */ 5 /* The FreeType BDF services (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 SVBDF_H_ 20 #define SVBDF_H_ 21 22 #include FT_BDF_H 23 #include FT_INTERNAL_SERVICE_H 24 25 26 FT_BEGIN_HEADER 27 28 29 #define FT_SERVICE_ID_BDF "bdf" 30 31 typedef FT_Error 32 (*FT_BDF_GetCharsetIdFunc)( FT_Face face, 33 const char* *acharset_encoding, 34 const char* *acharset_registry ); 35 36 typedef FT_Error 37 (*FT_BDF_GetPropertyFunc)( FT_Face face, 38 const char* prop_name, 39 BDF_PropertyRec *aproperty ); 40 41 FT_DEFINE_SERVICE(BDF)42 FT_DEFINE_SERVICE( BDF ) 43 { 44 FT_BDF_GetCharsetIdFunc get_charset_id; 45 FT_BDF_GetPropertyFunc get_property; 46 }; 47 48 49 #ifndef FT_CONFIG_OPTION_PIC 50 51 #define FT_DEFINE_SERVICE_BDFRec( class_, \ 52 get_charset_id_, \ 53 get_property_ ) \ 54 static const FT_Service_BDFRec class_ = \ 55 { \ 56 get_charset_id_, get_property_ \ 57 }; 58 59 #else /* FT_CONFIG_OPTION_PIC */ 60 61 #define FT_DEFINE_SERVICE_BDFRec( class_, \ 62 get_charset_id_, \ 63 get_property_ ) \ 64 void \ 65 FT_Init_Class_ ## class_( FT_Service_BDFRec* clazz ) \ 66 { \ 67 clazz->get_charset_id = get_charset_id_; \ 68 clazz->get_property = get_property_; \ 69 } 70 71 #endif /* FT_CONFIG_OPTION_PIC */ 72 73 /* */ 74 75 76 FT_END_HEADER 77 78 79 #endif /* SVBDF_H_ */ 80 81 82 /* END */ 83