1 /***************************************************************************/ 2 /* */ 3 /* svttglyf.h */ 4 /* */ 5 /* The FreeType TrueType glyph service. */ 6 /* */ 7 /* Copyright 2007-2018 by */ 8 /* David Turner. */ 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 #ifndef SVTTGLYF_H_ 19 #define SVTTGLYF_H_ 20 21 #include FT_INTERNAL_SERVICE_H 22 #include FT_TRUETYPE_TABLES_H 23 24 25 FT_BEGIN_HEADER 26 27 28 #define FT_SERVICE_ID_TT_GLYF "tt-glyf" 29 30 31 typedef FT_ULong 32 (*TT_Glyf_GetLocationFunc)( FT_Face face, 33 FT_UInt gindex, 34 FT_ULong *psize ); 35 36 FT_DEFINE_SERVICE( TTGlyf ) 37 { 38 TT_Glyf_GetLocationFunc get_location; 39 }; 40 41 42 #ifndef FT_CONFIG_OPTION_PIC 43 44 #define FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ ) \ 45 static const FT_Service_TTGlyfRec class_ = \ 46 { \ 47 get_location_ \ 48 }; 49 50 #else /* FT_CONFIG_OPTION_PIC */ 51 52 #define FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ ) \ 53 void \ 54 FT_Init_Class_ ## class_( FT_Service_TTGlyfRec* clazz ) \ 55 { \ 56 clazz->get_location = get_location_; \ 57 } 58 59 #endif /* FT_CONFIG_OPTION_PIC */ 60 61 /* */ 62 63 64 FT_END_HEADER 65 66 #endif /* SVTTGLYF_H_ */ 67 68 69 /* END */ 70