1 /***************************************************************************/ |
|
2 /* */ |
|
3 /* gxvfeat.h */ |
|
4 /* */ |
|
5 /* TrueTypeGX/AAT feat table validation (specification). */ |
|
6 /* */ |
|
7 /* Copyright 2004, 2005 by suzuki toshiya, Masatake YAMATO, Red Hat K.K., */ |
|
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
|
9 /* */ |
|
10 /* This file is part of the FreeType project, and may only be used, */ |
|
11 /* modified, and distributed under the terms of the FreeType project */ |
|
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
|
13 /* this file you indicate that you have read the license and */ |
|
14 /* understand and accept it fully. */ |
|
15 /* */ |
|
16 /***************************************************************************/ |
|
17 |
|
18 /***************************************************************************/ |
|
19 /* */ |
|
20 /* gxvalid is derived from both gxlayout module and otvalid module. */ |
|
21 /* Development of gxlayout is supported by the Information-technology */ |
|
22 /* Promotion Agency(IPA), Japan. */ |
|
23 /* */ |
|
24 /***************************************************************************/ |
|
25 |
|
26 |
|
27 #ifndef __GXVFEAT_H__ |
|
28 #define __GXVFEAT_H__ |
|
29 |
|
30 |
|
31 #include "gxvalid.h" |
|
32 #include "gxvcommn.h" |
|
33 |
|
34 |
|
35 /*************************************************************************/ |
|
36 /*************************************************************************/ |
|
37 /***** *****/ |
|
38 /***** Registry predefined by Apple *****/ |
|
39 /***** *****/ |
|
40 /*************************************************************************/ |
|
41 /*************************************************************************/ |
|
42 |
|
43 /* TODO: More compact format */ |
|
44 typedef struct GXV_Feature_RegistryRec_ |
|
45 { |
|
46 FT_Bool existence; |
|
47 FT_Bool apple_reserved; |
|
48 FT_Bool exclusive; |
|
49 FT_Byte nSettings; |
|
50 |
|
51 } GX_Feature_RegistryRec; |
|
52 |
|
53 |
|
54 #define gxv_feat_registry_length \ |
|
55 ( sizeof ( gxv_feat_registry ) / \ |
|
56 sizeof ( GX_Feature_RegistryRec ) ) |
|
57 |
|
58 |
|
59 static GX_Feature_RegistryRec gxv_feat_registry[] = |
|
60 { |
|
61 /* Generated from gxvfgen.c */ |
|
62 {1, 0, 0, 1}, /* All Typographic Features */ |
|
63 {1, 0, 0, 8}, /* Ligatures */ |
|
64 {1, 0, 1, 3}, /* Cursive Connection */ |
|
65 {1, 0, 1, 6}, /* Letter Case */ |
|
66 {1, 0, 0, 1}, /* Vertical Substitution */ |
|
67 {1, 0, 0, 1}, /* Linguistic Rearrangement */ |
|
68 {1, 0, 1, 2}, /* Number Spacing */ |
|
69 {1, 1, 0, 0}, /* Apple Reserved 1 */ |
|
70 {1, 0, 0, 5}, /* Smart Swashes */ |
|
71 {1, 0, 1, 3}, /* Diacritics */ |
|
72 {1, 0, 1, 4}, /* Vertical Position */ |
|
73 {1, 0, 1, 3}, /* Fractions */ |
|
74 {1, 1, 0, 0}, /* Apple Reserved 2 */ |
|
75 {1, 0, 0, 1}, /* Overlapping Characters */ |
|
76 {1, 0, 0, 6}, /* Typographic Extras */ |
|
77 {1, 0, 0, 5}, /* Mathematical Extras */ |
|
78 {1, 0, 1, 7}, /* Ornament Sets */ |
|
79 {1, 0, 1, 1}, /* Character Alternatives */ |
|
80 {1, 0, 1, 5}, /* Design Complexity */ |
|
81 {1, 0, 1, 6}, /* Style Options */ |
|
82 {1, 0, 1, 11}, /* Character Shape */ |
|
83 {1, 0, 1, 2}, /* Number Case */ |
|
84 {1, 0, 1, 4}, /* Text Spacing */ |
|
85 {1, 0, 1, 10}, /* Transliteration */ |
|
86 {1, 0, 1, 9}, /* Annotation */ |
|
87 {1, 0, 1, 2}, /* Kana Spacing */ |
|
88 {1, 0, 1, 2}, /* Ideographic Spacing */ |
|
89 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
90 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
91 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
92 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
93 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
94 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
95 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
96 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
97 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
98 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
99 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
100 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
101 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
102 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
103 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
104 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
105 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
106 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
107 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
108 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
109 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
110 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
111 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
112 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
113 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
114 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
115 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
116 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
117 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
118 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
119 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
120 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
121 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
122 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
123 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
124 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
125 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
126 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
127 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
128 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
129 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
130 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
131 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
132 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
133 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
134 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
135 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
136 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
137 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
138 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
139 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
140 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
141 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
142 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
143 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
144 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
145 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
146 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
147 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
148 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
149 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
150 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
151 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
152 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
153 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
154 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
155 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
156 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
157 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
158 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
159 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
160 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
161 {0, 0, 0, 0}, /* __EMPTY__ */ |
|
162 {1, 0, 1, 4}, /* Text Spacing */ |
|
163 {1, 0, 1, 2}, /* Kana Spacing */ |
|
164 {1, 0, 1, 2}, /* Ideographic Spacing */ |
|
165 {1, 0, 1, 4}, /* CJK Roman Spacing */ |
|
166 }; |
|
167 |
|
168 |
|
169 #endif /* __GXVFEAT_H__ */ |
|
170 |
|
171 |
|
172 /* END */ |
|