OLD | NEW |
| (Empty) |
1 /***************************************************************************/ | |
2 /* */ | |
3 /* svttcmap.h */ | |
4 /* */ | |
5 /* The FreeType TrueType/sfnt cmap extra information service. */ | |
6 /* */ | |
7 /* Copyright 2003 by */ | |
8 /* Masatake YAMATO, Redhat K.K. */ | |
9 /* */ | |
10 /* Copyright 2003, 2008, 2009, 2012, 2013 by */ | |
11 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ | |
12 /* */ | |
13 /* This file is part of the FreeType project, and may only be used, */ | |
14 /* modified, and distributed under the terms of the FreeType project */ | |
15 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | |
16 /* this file you indicate that you have read the license and */ | |
17 /* understand and accept it fully. */ | |
18 /* */ | |
19 /***************************************************************************/ | |
20 | |
21 /* Development of this service is support of | |
22 Information-technology Promotion Agency, Japan. */ | |
23 | |
24 #ifndef __SVTTCMAP_H__ | |
25 #define __SVTTCMAP_H__ | |
26 | |
27 #include FT_INTERNAL_SERVICE_H | |
28 #include FT_TRUETYPE_TABLES_H | |
29 | |
30 | |
31 FT_BEGIN_HEADER | |
32 | |
33 | |
34 #define FT_SERVICE_ID_TT_CMAP "tt-cmaps" | |
35 | |
36 | |
37 /*************************************************************************/ | |
38 /* */ | |
39 /* <Struct> */ | |
40 /* TT_CMapInfo */ | |
41 /* */ | |
42 /* <Description> */ | |
43 /* A structure used to store TrueType/sfnt specific cmap information */ | |
44 /* which is not covered by the generic @FT_CharMap structure. This */ | |
45 /* structure can be accessed with the @FT_Get_TT_CMap_Info function. */ | |
46 /* */ | |
47 /* <Fields> */ | |
48 /* language :: */ | |
49 /* The language ID used in Mac fonts. Definitions of values are in */ | |
50 /* `ttnameid.h'. */ | |
51 /* */ | |
52 /* format :: */ | |
53 /* The cmap format. OpenType 1.5 defines the formats 0 (byte */ | |
54 /* encoding table), 2~(high-byte mapping through table), 4~(segment */ | |
55 /* mapping to delta values), 6~(trimmed table mapping), 8~(mixed */ | |
56 /* 16-bit and 32-bit coverage), 10~(trimmed array), 12~(segmented */ | |
57 /* coverage), and 14 (Unicode Variation Sequences). */ | |
58 /* */ | |
59 typedef struct TT_CMapInfo_ | |
60 { | |
61 FT_ULong language; | |
62 FT_Long format; | |
63 | |
64 } TT_CMapInfo; | |
65 | |
66 | |
67 typedef FT_Error | |
68 (*TT_CMap_Info_GetFunc)( FT_CharMap charmap, | |
69 TT_CMapInfo *cmap_info ); | |
70 | |
71 | |
72 FT_DEFINE_SERVICE( TTCMaps ) | |
73 { | |
74 TT_CMap_Info_GetFunc get_cmap_info; | |
75 }; | |
76 | |
77 #ifndef FT_CONFIG_OPTION_PIC | |
78 | |
79 #define FT_DEFINE_SERVICE_TTCMAPSREC( class_, get_cmap_info_ ) \ | |
80 static const FT_Service_TTCMapsRec class_ = \ | |
81 { \ | |
82 get_cmap_info_ \ | |
83 }; | |
84 | |
85 #else /* FT_CONFIG_OPTION_PIC */ | |
86 | |
87 #define FT_DEFINE_SERVICE_TTCMAPSREC( class_, get_cmap_info_ ) \ | |
88 void \ | |
89 FT_Init_Class_ ## class_( FT_Library library, \ | |
90 FT_Service_TTCMapsRec* clazz ) \ | |
91 { \ | |
92 FT_UNUSED( library ); \ | |
93 \ | |
94 clazz->get_cmap_info = get_cmap_info_; \ | |
95 } | |
96 | |
97 #endif /* FT_CONFIG_OPTION_PIC */ | |
98 | |
99 /* */ | |
100 | |
101 | |
102 FT_END_HEADER | |
103 | |
104 #endif /* __SVTTCMAP_H__ */ | |
105 | |
106 | |
107 /* END */ | |
OLD | NEW |