rev |
line source |
nuclear@0
|
1 /***************************************************************************/
|
nuclear@0
|
2 /* */
|
nuclear@0
|
3 /* svcid.h */
|
nuclear@0
|
4 /* */
|
nuclear@0
|
5 /* The FreeType CID font services (specification). */
|
nuclear@0
|
6 /* */
|
nuclear@0
|
7 /* Copyright 2007, 2009 by Derek Clegg, Michael Toftdal. */
|
nuclear@0
|
8 /* */
|
nuclear@0
|
9 /* This file is part of the FreeType project, and may only be used, */
|
nuclear@0
|
10 /* modified, and distributed under the terms of the FreeType project */
|
nuclear@0
|
11 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
nuclear@0
|
12 /* this file you indicate that you have read the license and */
|
nuclear@0
|
13 /* understand and accept it fully. */
|
nuclear@0
|
14 /* */
|
nuclear@0
|
15 /***************************************************************************/
|
nuclear@0
|
16
|
nuclear@0
|
17
|
nuclear@0
|
18 #ifndef __SVCID_H__
|
nuclear@0
|
19 #define __SVCID_H__
|
nuclear@0
|
20
|
nuclear@0
|
21 #include FT_INTERNAL_SERVICE_H
|
nuclear@0
|
22
|
nuclear@0
|
23
|
nuclear@0
|
24 FT_BEGIN_HEADER
|
nuclear@0
|
25
|
nuclear@0
|
26
|
nuclear@0
|
27 #define FT_SERVICE_ID_CID "CID"
|
nuclear@0
|
28
|
nuclear@0
|
29 typedef FT_Error
|
nuclear@0
|
30 (*FT_CID_GetRegistryOrderingSupplementFunc)( FT_Face face,
|
nuclear@0
|
31 const char* *registry,
|
nuclear@0
|
32 const char* *ordering,
|
nuclear@0
|
33 FT_Int *supplement );
|
nuclear@0
|
34 typedef FT_Error
|
nuclear@0
|
35 (*FT_CID_GetIsInternallyCIDKeyedFunc)( FT_Face face,
|
nuclear@0
|
36 FT_Bool *is_cid );
|
nuclear@0
|
37 typedef FT_Error
|
nuclear@0
|
38 (*FT_CID_GetCIDFromGlyphIndexFunc)( FT_Face face,
|
nuclear@0
|
39 FT_UInt glyph_index,
|
nuclear@0
|
40 FT_UInt *cid );
|
nuclear@0
|
41
|
nuclear@0
|
42 FT_DEFINE_SERVICE( CID )
|
nuclear@0
|
43 {
|
nuclear@0
|
44 FT_CID_GetRegistryOrderingSupplementFunc get_ros;
|
nuclear@0
|
45 FT_CID_GetIsInternallyCIDKeyedFunc get_is_cid;
|
nuclear@0
|
46 FT_CID_GetCIDFromGlyphIndexFunc get_cid_from_glyph_index;
|
nuclear@0
|
47 };
|
nuclear@0
|
48
|
nuclear@0
|
49 #ifndef FT_CONFIG_OPTION_PIC
|
nuclear@0
|
50
|
nuclear@0
|
51 #define FT_DEFINE_SERVICE_CIDREC(class_, get_ros_, \
|
nuclear@0
|
52 get_is_cid_, get_cid_from_glyph_index_ ) \
|
nuclear@0
|
53 static const FT_Service_CIDRec class_ = \
|
nuclear@0
|
54 { \
|
nuclear@0
|
55 get_ros_, get_is_cid_, get_cid_from_glyph_index_ \
|
nuclear@0
|
56 };
|
nuclear@0
|
57
|
nuclear@0
|
58 #else /* FT_CONFIG_OPTION_PIC */
|
nuclear@0
|
59
|
nuclear@0
|
60 #define FT_DEFINE_SERVICE_CIDREC(class_, get_ros_, \
|
nuclear@0
|
61 get_is_cid_, get_cid_from_glyph_index_ ) \
|
nuclear@0
|
62 void \
|
nuclear@0
|
63 FT_Init_Class_##class_( FT_Library library, \
|
nuclear@0
|
64 FT_Service_CIDRec* clazz) \
|
nuclear@0
|
65 { \
|
nuclear@0
|
66 FT_UNUSED(library); \
|
nuclear@0
|
67 clazz->get_ros = get_ros_; \
|
nuclear@0
|
68 clazz->get_is_cid = get_is_cid_; \
|
nuclear@0
|
69 clazz->get_cid_from_glyph_index = get_cid_from_glyph_index_; \
|
nuclear@0
|
70 }
|
nuclear@0
|
71
|
nuclear@0
|
72 #endif /* FT_CONFIG_OPTION_PIC */
|
nuclear@0
|
73
|
nuclear@0
|
74 /* */
|
nuclear@0
|
75
|
nuclear@0
|
76
|
nuclear@0
|
77 FT_END_HEADER
|
nuclear@0
|
78
|
nuclear@0
|
79
|
nuclear@0
|
80 #endif /* __SVCID_H__ */
|
nuclear@0
|
81
|
nuclear@0
|
82
|
nuclear@0
|
83 /* END */
|