1 /**************************************************************************** 2 * 3 * svcid.h 4 * 5 * The FreeType CID font services (specification). 6 * 7 * Copyright (C) 2007-2020 by 8 * Derek Clegg and Michael Toftdal. 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 SVCID_H_ 20 #define SVCID_H_ 21 22 #include <freetype/internal/ftserv.h> 23 24 25 FT_BEGIN_HEADER 26 27 28 #define FT_SERVICE_ID_CID "CID" 29 30 typedef FT_Error 31 (*FT_CID_GetRegistryOrderingSupplementFunc)( FT_Face face, 32 const char* *registry, 33 const char* *ordering, 34 FT_Int *supplement ); 35 typedef FT_Error 36 (*FT_CID_GetIsInternallyCIDKeyedFunc)( FT_Face face, 37 FT_Bool *is_cid ); 38 typedef FT_Error 39 (*FT_CID_GetCIDFromGlyphIndexFunc)( FT_Face face, 40 FT_UInt glyph_index, 41 FT_UInt *cid ); 42 FT_DEFINE_SERVICE(CID)43 FT_DEFINE_SERVICE( CID ) 44 { 45 FT_CID_GetRegistryOrderingSupplementFunc get_ros; 46 FT_CID_GetIsInternallyCIDKeyedFunc get_is_cid; 47 FT_CID_GetCIDFromGlyphIndexFunc get_cid_from_glyph_index; 48 }; 49 50 51 #define FT_DEFINE_SERVICE_CIDREC( class_, \ 52 get_ros_, \ 53 get_is_cid_, \ 54 get_cid_from_glyph_index_ ) \ 55 static const FT_Service_CIDRec class_ = \ 56 { \ 57 get_ros_, get_is_cid_, get_cid_from_glyph_index_ \ 58 }; 59 60 /* */ 61 62 63 FT_END_HEADER 64 65 66 #endif /* SVCID_H_ */ 67 68 69 /* END */ 70