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