1 /***************************************************************************/
5 /* The FreeType CID font services (specification). */
7 /* Copyright 2007, 2009, 2012 by Derek Clegg, Michael Toftdal. */
9 /* This file is part of the FreeType project, and may only be used, */
10 /* modified, and distributed under the terms of the FreeType project */
11 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
12 /* this file you indicate that you have read the license and */
13 /* understand and accept it fully. */
15 /***************************************************************************/
21 #include FT_INTERNAL_SERVICE_H
27 #define FT_SERVICE_ID_CID "CID"
30 (*FT_CID_GetRegistryOrderingSupplementFunc)( FT_Face face,
31 const char* *registry,
32 const char* *ordering,
35 (*FT_CID_GetIsInternallyCIDKeyedFunc)( FT_Face face,
38 (*FT_CID_GetCIDFromGlyphIndexFunc)( FT_Face face,
42 FT_DEFINE_SERVICE( CID )
44 FT_CID_GetRegistryOrderingSupplementFunc get_ros;
45 FT_CID_GetIsInternallyCIDKeyedFunc get_is_cid;
46 FT_CID_GetCIDFromGlyphIndexFunc get_cid_from_glyph_index;
50 #ifndef FT_CONFIG_OPTION_PIC
52 #define FT_DEFINE_SERVICE_CIDREC( class_, \
55 get_cid_from_glyph_index_ ) \
56 static const FT_Service_CIDRec class_ = \
58 get_ros_, get_is_cid_, get_cid_from_glyph_index_ \
61 #else /* FT_CONFIG_OPTION_PIC */
63 #define FT_DEFINE_SERVICE_CIDREC( class_, \
66 get_cid_from_glyph_index_ ) \
68 FT_Init_Class_ ## class_( FT_Library library, \
69 FT_Service_CIDRec* clazz ) \
71 FT_UNUSED( library ); \
73 clazz->get_ros = get_ros_; \
74 clazz->get_is_cid = get_is_cid_; \
75 clazz->get_cid_from_glyph_index = get_cid_from_glyph_index_; \
78 #endif /* FT_CONFIG_OPTION_PIC */
86 #endif /* __SVCID_H__ */