1 /***************************************************************************/ |
|
2 /* */ |
|
3 /* svcid.h */ |
|
4 /* */ |
|
5 /* The FreeType CID font services (specification). */ |
|
6 /* */ |
|
7 /* Copyright 2007, 2009 by Derek Clegg, Michael Toftdal. */ |
|
8 /* */ |
|
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. */ |
|
14 /* */ |
|
15 /***************************************************************************/ |
|
16 |
|
17 |
|
18 #ifndef __SVCID_H__ |
|
19 #define __SVCID_H__ |
|
20 |
|
21 #include FT_INTERNAL_SERVICE_H |
|
22 |
|
23 |
|
24 FT_BEGIN_HEADER |
|
25 |
|
26 |
|
27 #define FT_SERVICE_ID_CID "CID" |
|
28 |
|
29 typedef FT_Error |
|
30 (*FT_CID_GetRegistryOrderingSupplementFunc)( FT_Face face, |
|
31 const char* *registry, |
|
32 const char* *ordering, |
|
33 FT_Int *supplement ); |
|
34 typedef FT_Error |
|
35 (*FT_CID_GetIsInternallyCIDKeyedFunc)( FT_Face face, |
|
36 FT_Bool *is_cid ); |
|
37 typedef FT_Error |
|
38 (*FT_CID_GetCIDFromGlyphIndexFunc)( FT_Face face, |
|
39 FT_UInt glyph_index, |
|
40 FT_UInt *cid ); |
|
41 |
|
42 FT_DEFINE_SERVICE( CID ) |
|
43 { |
|
44 FT_CID_GetRegistryOrderingSupplementFunc get_ros; |
|
45 FT_CID_GetIsInternallyCIDKeyedFunc get_is_cid; |
|
46 FT_CID_GetCIDFromGlyphIndexFunc get_cid_from_glyph_index; |
|
47 }; |
|
48 |
|
49 #ifndef FT_CONFIG_OPTION_PIC |
|
50 |
|
51 #define FT_DEFINE_SERVICE_CIDREC(class_, get_ros_, \ |
|
52 get_is_cid_, get_cid_from_glyph_index_ ) \ |
|
53 static const FT_Service_CIDRec class_ = \ |
|
54 { \ |
|
55 get_ros_, get_is_cid_, get_cid_from_glyph_index_ \ |
|
56 }; |
|
57 |
|
58 #else /* FT_CONFIG_OPTION_PIC */ |
|
59 |
|
60 #define FT_DEFINE_SERVICE_CIDREC(class_, get_ros_, \ |
|
61 get_is_cid_, get_cid_from_glyph_index_ ) \ |
|
62 void \ |
|
63 FT_Init_Class_##class_( FT_Library library, \ |
|
64 FT_Service_CIDRec* clazz) \ |
|
65 { \ |
|
66 FT_UNUSED(library); \ |
|
67 clazz->get_ros = get_ros_; \ |
|
68 clazz->get_is_cid = get_is_cid_; \ |
|
69 clazz->get_cid_from_glyph_index = get_cid_from_glyph_index_; \ |
|
70 } |
|
71 |
|
72 #endif /* FT_CONFIG_OPTION_PIC */ |
|
73 |
|
74 /* */ |
|
75 |
|
76 |
|
77 FT_END_HEADER |
|
78 |
|
79 |
|
80 #endif /* __SVCID_H__ */ |
|
81 |
|
82 |
|
83 /* END */ |
|