1 /***************************************************************************/ 2 /* */ 3 /* svbdf.h */ 4 /* */ 5 /* The FreeType BDF services (specification). */ 6 /* */ 7 /* Copyright 2003 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 #ifndef FT_CONFIG_OPTION_PIC 49 50 #define FT_DEFINE_SERVICE_BDFRec(class_, get_charset_id_, get_property_) \ 51 static const FT_Service_BDFRec class_ = \ 52 { \ 53 get_charset_id_, get_property_ \ 54 }; 55 56 #else /* FT_CONFIG_OPTION_PIC */ 57 58 #define FT_DEFINE_SERVICE_BDFRec(class_, get_charset_id_, get_property_) \ 59 void \ 60 FT_Init_Class_##class_( FT_Service_BDFRec* clazz ) \ 61 { \ 62 clazz->get_charset_id = get_charset_id_; \ 63 clazz->get_property = get_property_; \ 64 } 65 66 #endif /* FT_CONFIG_OPTION_PIC */ 67 68 /* */ 69 70 71 FT_END_HEADER 72 73 74 #endif /* __SVBDF_H__ */ 75 76 77 /* END */ 78