OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkPanose_DEFINED | 8 #ifndef SkPanose_DEFINED |
9 #define SkPanose_DEFINED | 9 #define SkPanose_DEFINED |
10 | 10 |
11 #include "SkOTTableTypes.h" | 11 #include "SkOTTableTypes.h" |
12 #include "SkTypedEnum.h" | |
13 | 12 |
14 #pragma pack(push, 1) | 13 #pragma pack(push, 1) |
15 | 14 |
16 struct SkPanose { | 15 struct SkPanose { |
17 //This value changes the meaning of the following 9 bytes. | 16 //This value changes the meaning of the following 9 bytes. |
18 struct FamilyType { | 17 struct FamilyType { |
19 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 18 enum Value : SK_OT_BYTE { |
20 ((Any, 0)) | 19 Any = 0, |
21 ((NoFit, 1)) | 20 NoFit = 1, |
22 ((TextAndDisplay, 2)) | 21 TextAndDisplay = 2, |
23 ((Script, 3)) | 22 Script = 3, |
24 ((Decorative, 4)) | 23 Decorative = 4, |
25 ((Pictoral, 5)) | 24 Pictoral = 5, |
26 SK_SEQ_END, | 25 } value; |
27 (value)SK_SEQ_END) | |
28 } bFamilyType; | 26 } bFamilyType; |
29 | 27 |
30 union Data { | 28 union Data { |
31 struct TextAndDisplay { | 29 struct TextAndDisplay { |
32 struct SerifStyle { | 30 struct SerifStyle { |
33 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 31 enum Value : SK_OT_BYTE { |
34 ((Any, 0)) | 32 Any = 0, |
35 ((NoFit, 1)) | 33 NoFit = 1, |
36 ((Cove, 2)) | 34 Cove = 2, |
37 ((ObtuseCove, 3)) | 35 ObtuseCove = 3, |
38 ((SquareCove, 4)) | 36 SquareCove = 4, |
39 ((ObtuseSquareCove, 5)) | 37 ObtuseSquareCove = 5, |
40 ((Square, 6)) | 38 Square = 6, |
41 ((Thin, 7)) | 39 Thin = 7, |
42 ((Bone, 8)) | 40 Bone = 8, |
43 ((Exaggerated, 9)) | 41 Exaggerated = 9, |
44 ((Triangle, 10)) | 42 Triangle = 10, |
45 ((NormalSans, 11)) | 43 NormalSans = 11, |
46 ((ObtuseSans, 12)) | 44 ObtuseSans = 12, |
47 ((PerpSans, 13)) | 45 PerpSans = 13, |
48 ((Flared, 14)) | 46 Flared = 14, |
49 ((Rounded, 15)) | 47 Rounded = 15, |
50 SK_SEQ_END, | 48 } value; |
51 (value)SK_SEQ_END) | |
52 } bSerifStyle; | 49 } bSerifStyle; |
53 | 50 |
54 struct Weight { | 51 struct Weight { |
55 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 52 enum Value : SK_OT_BYTE { |
56 ((Any, 0)) | 53 Any = 0, |
57 ((NoFit, 1)) | 54 NoFit = 1, |
58 ((VeryLight, 2)) | 55 VeryLight = 2, |
59 ((Light, 3)) | 56 Light = 3, |
60 ((Thin, 4)) | 57 Thin = 4, |
61 ((Book, 5)) | 58 Book = 5, |
62 ((Medium, 6)) | 59 Medium = 6, |
63 ((Demi, 7)) | 60 Demi = 7, |
64 ((Bold, 8)) | 61 Bold = 8, |
65 ((Heavy, 9)) | 62 Heavy = 9, |
66 ((Black, 10)) | 63 Black = 10, |
67 ((ExtraBlack, 11)) | 64 ExtraBlack = 11, |
68 SK_SEQ_END, | 65 } value; |
69 (value)SK_SEQ_END) | |
70 } bWeight; | 66 } bWeight; |
71 | 67 |
72 struct Proportion { | 68 struct Proportion { |
73 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 69 enum Value : SK_OT_BYTE { |
74 ((Any, 0)) | 70 Any = 0, |
75 ((NoFit, 1)) | 71 NoFit = 1, |
76 ((OldStyle, 2)) | 72 OldStyle = 2, |
77 ((Modern, 3)) | 73 Modern = 3, |
78 ((EvenWidth, 4)) | 74 EvenWidth = 4, |
79 ((Expanded, 5)) | 75 Expanded = 5, |
80 ((Condensed, 6)) | 76 Condensed = 6, |
81 ((VeryExpanded, 7)) | 77 VeryExpanded = 7, |
82 ((VeryCondensed, 8)) | 78 VeryCondensed = 8, |
83 ((Monospaced, 9)) | 79 Monospaced = 9, |
84 SK_SEQ_END, | 80 } value; |
85 (value)SK_SEQ_END) | |
86 } bProportion; | 81 } bProportion; |
87 | 82 |
88 struct Contrast { | 83 struct Contrast { |
89 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 84 enum Value : SK_OT_BYTE { |
90 ((Any, 0)) | 85 Any = 0, |
91 ((NoFit, 1)) | 86 NoFit = 1, |
92 ((None, 2)) | 87 None = 2, |
93 ((VeryLow, 3)) | 88 VeryLow = 3, |
94 ((Low, 4)) | 89 Low = 4, |
95 ((MediumLow, 5)) | 90 MediumLow = 5, |
96 ((Medium, 6)) | 91 Medium = 6, |
97 ((MediumHigh, 7)) | 92 MediumHigh = 7, |
98 ((High, 8)) | 93 High = 8, |
99 ((VeryHigh, 9)) | 94 VeryHigh = 9, |
100 SK_SEQ_END, | 95 } value; |
101 (value)SK_SEQ_END) | |
102 } bContrast; | 96 } bContrast; |
103 | 97 |
104 #ifdef SK_WIN_PANOSE | 98 #ifdef SK_WIN_PANOSE |
105 //This is what Windows (and FontForge and Apple TT spec) define. | 99 //This is what Windows (and FontForge and Apple TT spec) define. |
106 //The Impact font uses 9. | 100 //The Impact font uses 9. |
107 struct StrokeVariation { | 101 struct StrokeVariation { |
108 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 102 enum Value : SK_OT_BYTE { |
109 ((Any, 0)) | 103 Any = 0, |
110 ((NoFit, 1)) | 104 NoFit = 1, |
111 ((GradualDiagonal, 2)) | 105 GradualDiagonal = 2, |
112 ((GradualTransitional, 3)) | 106 GradualTransitional = 3, |
113 ((GradualVertical, 4)) | 107 GradualVertical = 4, |
114 ((GradualHorizontal, 5)) | 108 GradualHorizontal = 5, |
115 ((RapidVertical, 6)) | 109 RapidVertical = 6, |
116 ((RapidHorizontal, 7)) | 110 RapidHorizontal = 7, |
117 ((InstantVertical, 8)) | 111 InstantVertical = 8, |
118 SK_SEQ_END, | 112 } value; |
119 (value)SK_SEQ_END) | |
120 } bStrokeVariation; | 113 } bStrokeVariation; |
121 #else | 114 #else |
122 //Stroke variation description in OT OS/2 ver0,ver1 is incorrect. | 115 //Stroke variation description in OT OS/2 ver0,ver1 is incorrect. |
123 //This is what HP Panose says. | 116 //This is what HP Panose says. |
124 struct StrokeVariation { | 117 struct StrokeVariation { |
125 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 118 enum Value : SK_OT_BYTE { |
126 ((Any, 0)) | 119 Any = 0, |
127 ((NoFit, 1)) | 120 NoFit = 1, |
128 ((NoVariation, 2)) | 121 NoVariation = 2, |
129 ((Gradual_Diagonal, 3)) | 122 Gradual_Diagonal = 3, |
130 ((Gradual_Transitional, 4)) | 123 Gradual_Transitional = 4, |
131 ((Gradual_Vertical, 5)) | 124 Gradual_Vertical = 5, |
132 ((Gradual_Horizontal, 6)) | 125 Gradual_Horizontal = 6, |
133 ((Rapid_Vertical, 7)) | 126 Rapid_Vertical = 7, |
134 ((Rapid_Horizontal, 8)) | 127 Rapid_Horizontal = 8, |
135 ((Instant_Vertical, 9)) | 128 Instant_Vertical = 9, |
136 ((Instant_Horizontal, 10)) | 129 Instant_Horizontal = 10, |
137 SK_SEQ_END, | 130 } value; |
138 (value)SK_SEQ_END) | |
139 } bStrokeVariation; | 131 } bStrokeVariation; |
140 #endif | 132 #endif |
141 | 133 |
142 struct ArmStyle { | 134 struct ArmStyle { |
143 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 135 enum Value : SK_OT_BYTE { |
144 ((Any, 0)) | 136 Any = 0, |
145 ((NoFit, 1)) | 137 NoFit = 1, |
146 ((StraightArms_Horizontal, 2)) | 138 StraightArms_Horizontal = 2, |
147 ((StraightArms_Wedge, 3)) | 139 StraightArms_Wedge = 3, |
148 ((StraightArms_Vertical, 4)) | 140 StraightArms_Vertical = 4, |
149 ((StraightArms_SingleSerif, 5)) | 141 StraightArms_SingleSerif = 5, |
150 ((StraightArms_DoubleSerif, 6)) | 142 StraightArms_DoubleSerif = 6, |
151 ((NonStraightArms_Horizontal, 7)) | 143 NonStraightArms_Horizontal = 7, |
152 ((NonStraightArms_Wedge, 8)) | 144 NonStraightArms_Wedge = 8, |
153 ((NonStraightArms_Vertical, 9)) | 145 NonStraightArms_Vertical = 9, |
154 ((NonStraightArms_SingleSerif, 10)) | 146 NonStraightArms_SingleSerif = 10, |
155 ((NonStraightArms_DoubleSerif, 11)) | 147 NonStraightArms_DoubleSerif = 11, |
156 SK_SEQ_END, | 148 } value; |
157 (value)SK_SEQ_END) | |
158 } bArmStyle; | 149 } bArmStyle; |
159 | 150 |
160 struct Letterform { | 151 struct Letterform { |
161 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 152 enum Value : SK_OT_BYTE { |
162 ((Any, 0)) | 153 Any = 0, |
163 ((NoFit, 1)) | 154 NoFit = 1, |
164 ((Normal_Contact, 2)) | 155 Normal_Contact = 2, |
165 ((Normal_Weighted, 3)) | 156 Normal_Weighted = 3, |
166 ((Normal_Boxed, 4)) | 157 Normal_Boxed = 4, |
167 ((Normal_Flattened, 5)) | 158 Normal_Flattened = 5, |
168 ((Normal_Rounded, 6)) | 159 Normal_Rounded = 6, |
169 ((Normal_OffCenter, 7)) | 160 Normal_OffCenter = 7, |
170 ((Normal_Square, 8)) | 161 Normal_Square = 8, |
171 ((Oblique_Contact, 9)) | 162 Oblique_Contact = 9, |
172 ((Oblique_Weighted, 10)) | 163 Oblique_Weighted = 10, |
173 ((Oblique_Boxed, 11)) | 164 Oblique_Boxed = 11, |
174 ((Oblique_Flattened, 12)) | 165 Oblique_Flattened = 12, |
175 ((Oblique_Rounded, 13)) | 166 Oblique_Rounded = 13, |
176 ((Oblique_OffCenter, 14)) | 167 Oblique_OffCenter = 14, |
177 ((Oblique_Square, 15)) | 168 Oblique_Square = 15, |
178 SK_SEQ_END, | 169 } value; |
179 (value)SK_SEQ_END) | |
180 } bLetterform; | 170 } bLetterform; |
181 | 171 |
182 struct Midline { | 172 struct Midline { |
183 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 173 enum Value : SK_OT_BYTE { |
184 ((Any, 0)) | 174 Any = 0, |
185 ((NoFit, 1)) | 175 NoFit = 1, |
186 ((Standard_Trimmed, 2)) | 176 Standard_Trimmed = 2, |
187 ((Standard_Pointed, 3)) | 177 Standard_Pointed = 3, |
188 ((Standard_Serifed, 4)) | 178 Standard_Serifed = 4, |
189 ((High_Trimmed, 5)) | 179 High_Trimmed = 5, |
190 ((High_Pointed, 6)) | 180 High_Pointed = 6, |
191 ((High_Serifed, 7)) | 181 High_Serifed = 7, |
192 ((Constant_Trimmed, 8)) | 182 Constant_Trimmed = 8, |
193 ((Constant_Pointed, 9)) | 183 Constant_Pointed = 9, |
194 ((Constant_Serifed, 10)) | 184 Constant_Serifed = 10, |
195 ((Low_Trimmed, 11)) | 185 Low_Trimmed = 11, |
196 ((Low_Pointed, 12)) | 186 Low_Pointed = 12, |
197 ((Low_Serifed, 13)) | 187 Low_Serifed = 13, |
198 SK_SEQ_END, | 188 } value; |
199 (value)SK_SEQ_END) | |
200 } bMidline; | 189 } bMidline; |
201 | 190 |
202 struct XHeight { | 191 struct XHeight { |
203 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 192 enum Value : SK_OT_BYTE { |
204 ((Any, 0)) | 193 Any = 0, |
205 ((NoFit, 1)) | 194 NoFit = 1, |
206 ((Constant_Small, 2)) | 195 Constant_Small = 2, |
207 ((Constant_Standard, 3)) | 196 Constant_Standard = 3, |
208 ((Constant_Large, 4)) | 197 Constant_Large = 4, |
209 ((Ducking_Small, 5)) | 198 Ducking_Small = 5, |
210 ((Ducking_Standard, 6)) | 199 Ducking_Standard = 6, |
211 ((Ducking_Large, 7)) | 200 Ducking_Large = 7, |
212 SK_SEQ_END, | 201 } value; |
213 (value)SK_SEQ_END) | |
214 } bXHeight; | 202 } bXHeight; |
215 } textAndDisplay; | 203 } textAndDisplay; |
216 | 204 |
217 struct Script { | 205 struct Script { |
218 struct ToolKind { | 206 struct ToolKind { |
219 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 207 enum Value : SK_OT_BYTE { |
220 ((Any, 0)) | 208 Any = 0, |
221 ((NoFit, 1)) | 209 NoFit = 1, |
222 ((FlatNib, 2)) | 210 FlatNib = 2, |
223 ((PressurePoint, 3)) | 211 PressurePoint = 3, |
224 ((Engraved, 4)) | 212 Engraved = 4, |
225 ((Ball, 5)) | 213 Ball = 5, |
226 ((Brush, 6)) | 214 Brush = 6, |
227 ((Rough, 7)) | 215 Rough = 7, |
228 ((FeltPen, 8)) | 216 FeltPen = 8, |
229 ((WildBrush, 9)) | 217 WildBrush = 9, |
230 SK_SEQ_END, | 218 } value; |
231 (value)SK_SEQ_END) | |
232 } bToolKind; | 219 } bToolKind; |
233 | 220 |
234 struct Weight { | 221 struct Weight { |
235 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 222 enum Value : SK_OT_BYTE { |
236 ((Any, 0)) | 223 Any = 0, |
237 ((NoFit, 1)) | 224 NoFit = 1, |
238 ((VeryLight, 2)) | 225 VeryLight = 2, |
239 ((Light, 3)) | 226 Light = 3, |
240 ((Thin, 4)) | 227 Thin = 4, |
241 ((Book, 5)) | 228 Book = 5, |
242 ((Medium, 6)) | 229 Medium = 6, |
243 ((Demi, 7)) | 230 Demi = 7, |
244 ((Bold, 8)) | 231 Bold = 8, |
245 ((Heavy, 9)) | 232 Heavy = 9, |
246 ((Black, 10)) | 233 Black = 10, |
247 ((ExtraBlack, 11)) | 234 ExtraBlack = 11, |
248 SK_SEQ_END, | 235 } value; |
249 (value)SK_SEQ_END) | |
250 } bWeight; | 236 } bWeight; |
251 | 237 |
252 struct Spacing { | 238 struct Spacing { |
253 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 239 enum Value : SK_OT_BYTE { |
254 ((Any, 0)) | 240 Any = 0, |
255 ((NoFit, 1)) | 241 NoFit = 1, |
256 ((ProportionalSpaced, 2)) | 242 ProportionalSpaced = 2, |
257 ((Monospaced, 3)) | 243 Monospaced = 3, |
258 SK_SEQ_END, | 244 } value; |
259 (value)SK_SEQ_END) | |
260 } bSpacing; | 245 } bSpacing; |
261 | 246 |
262 struct AspectRatio { | 247 struct AspectRatio { |
263 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 248 enum Value : SK_OT_BYTE { |
264 ((Any, 0)) | 249 Any = 0, |
265 ((NoFit, 1)) | 250 NoFit = 1, |
266 ((VeryCondensed, 2)) | 251 VeryCondensed = 2, |
267 ((Condensed, 3)) | 252 Condensed = 3, |
268 ((Normal, 4)) | 253 Normal = 4, |
269 ((Expanded, 5)) | 254 Expanded = 5, |
270 ((VeryExpanded, 6)) | 255 VeryExpanded = 6, |
271 SK_SEQ_END, | 256 } value; |
272 (value)SK_SEQ_END) | |
273 } bAspectRatio; | 257 } bAspectRatio; |
274 | 258 |
275 struct Contrast { | 259 struct Contrast { |
276 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 260 enum Value : SK_OT_BYTE { |
277 ((Any, 0)) | 261 Any = 0, |
278 ((NoFit, 1)) | 262 NoFit = 1, |
279 ((None, 2)) | 263 None = 2, |
280 ((VeryLow, 3)) | 264 VeryLow = 3, |
281 ((Low, 4)) | 265 Low = 4, |
282 ((MediumLow, 5)) | 266 MediumLow = 5, |
283 ((Medium, 6)) | 267 Medium = 6, |
284 ((MediumHigh, 7)) | 268 MediumHigh = 7, |
285 ((High, 8)) | 269 High = 8, |
286 ((VeryHigh, 9)) | 270 VeryHigh = 9, |
287 SK_SEQ_END, | 271 } value; |
288 (value)SK_SEQ_END) | |
289 } bContrast; | 272 } bContrast; |
290 | 273 |
291 struct Topology { | 274 struct Topology { |
292 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 275 enum Value : SK_OT_BYTE { |
293 ((Any, 0)) | 276 Any = 0, |
294 ((NoFit, 1)) | 277 NoFit = 1, |
295 ((Roman_Disconnected, 2)) | 278 Roman_Disconnected = 2, |
296 ((Roman_Trailing, 3)) | 279 Roman_Trailing = 3, |
297 ((Roman_Connected, 4)) | 280 Roman_Connected = 4, |
298 ((Cursive_Disconnected, 5)) | 281 Cursive_Disconnected = 5, |
299 ((Cursive_Trailing, 6)) | 282 Cursive_Trailing = 6, |
300 ((Cursive_Connected, 7)) | 283 Cursive_Connected = 7, |
301 ((Blackletter_Disconnected, 8)) | 284 Blackletter_Disconnected = 8, |
302 ((Blackletter_Trailing, 9)) | 285 Blackletter_Trailing = 9, |
303 ((Blackletter_Connected, 10)) | 286 Blackletter_Connected = 10, |
304 SK_SEQ_END, | 287 } value; |
305 (value)SK_SEQ_END) | |
306 } bTopology; | 288 } bTopology; |
307 | 289 |
308 struct Form { | 290 struct Form { |
309 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 291 enum Value : SK_OT_BYTE { |
310 ((Any, 0)) | 292 Any = 0, |
311 ((NoFit, 1)) | 293 NoFit = 1, |
312 ((Upright_NoWrapping, 2)) | 294 Upright_NoWrapping = 2, |
313 ((Upright_SomeWrapping, 3)) | 295 Upright_SomeWrapping = 3, |
314 ((Upright_MoreWrapping, 4)) | 296 Upright_MoreWrapping = 4, |
315 ((Upright_ExtremeWrapping, 5)) | 297 Upright_ExtremeWrapping = 5, |
316 ((Oblique_NoWrapping, 6)) | 298 Oblique_NoWrapping = 6, |
317 ((Oblique_SomeWrapping, 7)) | 299 Oblique_SomeWrapping = 7, |
318 ((Oblique_MoreWrapping, 8)) | 300 Oblique_MoreWrapping = 8, |
319 ((Oblique_ExtremeWrapping, 9)) | 301 Oblique_ExtremeWrapping = 9, |
320 ((Exaggerated_NoWrapping, 10)) | 302 Exaggerated_NoWrapping = 10, |
321 ((Exaggerated_SomeWrapping, 11)) | 303 Exaggerated_SomeWrapping = 11, |
322 ((Exaggerated_MoreWrapping, 12)) | 304 Exaggerated_MoreWrapping = 12, |
323 ((Exaggerated_ExtremeWrapping, 13)) | 305 Exaggerated_ExtremeWrapping = 13, |
324 SK_SEQ_END, | 306 } value; |
325 (value)SK_SEQ_END) | |
326 } bForm; | 307 } bForm; |
327 | 308 |
328 struct Finials { | 309 struct Finials { |
329 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 310 enum Value : SK_OT_BYTE { |
330 ((Any, 0)) | 311 Any = 0, |
331 ((NoFit, 1)) | 312 NoFit = 1, |
332 ((None_NoLoops, 2)) | 313 None_NoLoops = 2, |
333 ((None_ClosedLoops, 3)) | 314 None_ClosedLoops = 3, |
334 ((None_OpenLoops, 4)) | 315 None_OpenLoops = 4, |
335 ((Sharp_NoLoops, 5)) | 316 Sharp_NoLoops = 5, |
336 ((Sharp_ClosedLoops, 6)) | 317 Sharp_ClosedLoops = 6, |
337 ((Sharp_OpenLoops, 7)) | 318 Sharp_OpenLoops = 7, |
338 ((Tapered_NoLoops, 8)) | 319 Tapered_NoLoops = 8, |
339 ((Tapered_ClosedLoops, 9)) | 320 Tapered_ClosedLoops = 9, |
340 ((Tapered_OpenLoops, 10)) | 321 Tapered_OpenLoops = 10, |
341 ((Round_NoLoops, 11)) | 322 Round_NoLoops = 11, |
342 ((Round_ClosedLoops, 12)) | 323 Round_ClosedLoops = 12, |
343 ((Round_OpenLoops, 13)) | 324 Round_OpenLoops = 13, |
344 SK_SEQ_END, | 325 } value; |
345 (value)SK_SEQ_END) | |
346 } bFinials; | 326 } bFinials; |
347 | 327 |
348 struct XAscent { | 328 struct XAscent { |
349 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 329 enum Value : SK_OT_BYTE { |
350 ((Any, 0)) | 330 Any = 0, |
351 ((NoFit, 1)) | 331 NoFit = 1, |
352 ((VeryLow, 2)) | 332 VeryLow = 2, |
353 ((Low, 3)) | 333 Low = 3, |
354 ((Medium, 4)) | 334 Medium = 4, |
355 ((High, 5)) | 335 High = 5, |
356 ((VeryHigh, 6)) | 336 VeryHigh = 6, |
357 SK_SEQ_END, | 337 } value; |
358 (value)SK_SEQ_END) | |
359 } bXAscent; | 338 } bXAscent; |
360 } script; | 339 } script; |
361 | 340 |
362 struct Decorative { | 341 struct Decorative { |
363 struct Class { | 342 struct Class { |
364 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 343 enum Value : SK_OT_BYTE { |
365 ((Any, 0)) | 344 Any = 0, |
366 ((NoFit, 1)) | 345 NoFit = 1, |
367 ((Derivative, 2)) | 346 Derivative = 2, |
368 ((NonStandard_Topology, 3)) | 347 NonStandard_Topology = 3, |
369 ((NonStandard_Elements, 4)) | 348 NonStandard_Elements = 4, |
370 ((NonStandard_Aspect, 5)) | 349 NonStandard_Aspect = 5, |
371 ((Initials, 6)) | 350 Initials = 6, |
372 ((Cartoon, 7)) | 351 Cartoon = 7, |
373 ((PictureStems, 8)) | 352 PictureStems = 8, |
374 ((Ornamented, 9)) | 353 Ornamented = 9, |
375 ((TextAndBackground, 10)) | 354 TextAndBackground = 10, |
376 ((Collage, 11)) | 355 Collage = 11, |
377 ((Montage, 12)) | 356 Montage = 12, |
378 SK_SEQ_END, | 357 } value; |
379 (value)SK_SEQ_END) | |
380 } bClass; | 358 } bClass; |
381 | 359 |
382 struct Weight { | 360 struct Weight { |
383 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 361 enum Value : SK_OT_BYTE { |
384 ((Any, 0)) | 362 Any = 0, |
385 ((NoFit, 1)) | 363 NoFit = 1, |
386 ((VeryLight, 2)) | 364 VeryLight = 2, |
387 ((Light, 3)) | 365 Light = 3, |
388 ((Thin, 4)) | 366 Thin = 4, |
389 ((Book, 5)) | 367 Book = 5, |
390 ((Medium, 6)) | 368 Medium = 6, |
391 ((Demi, 7)) | 369 Demi = 7, |
392 ((Bold, 8)) | 370 Bold = 8, |
393 ((Heavy, 9)) | 371 Heavy = 9, |
394 ((Black, 10)) | 372 Black = 10, |
395 ((ExtraBlack, 11)) | 373 ExtraBlack = 11, |
396 SK_SEQ_END, | 374 } value; |
397 (value)SK_SEQ_END) | |
398 } bWeight; | 375 } bWeight; |
399 | 376 |
400 struct Aspect { | 377 struct Aspect { |
401 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 378 enum Value : SK_OT_BYTE { |
402 ((Any, 0)) | 379 Any = 0, |
403 ((NoFit, 1)) | 380 NoFit = 1, |
404 ((SuperCondensed, 2)) | 381 SuperCondensed = 2, |
405 ((VeryCondensed, 3)) | 382 VeryCondensed = 3, |
406 ((Condensed, 4)) | 383 Condensed = 4, |
407 ((Normal, 5)) | 384 Normal = 5, |
408 ((Extended, 6)) | 385 Extended = 6, |
409 ((VeryExtended, 7)) | 386 VeryExtended = 7, |
410 ((SuperExtended, 8)) | 387 SuperExtended = 8, |
411 ((Monospaced, 9)) | 388 Monospaced = 9, |
412 SK_SEQ_END, | 389 } value; |
413 (value)SK_SEQ_END) | |
414 } bAspect; | 390 } bAspect; |
415 | 391 |
416 struct Contrast { | 392 struct Contrast { |
417 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 393 enum Value : SK_OT_BYTE { |
418 ((Any, 0)) | 394 Any = 0, |
419 ((NoFit, 1)) | 395 NoFit = 1, |
420 ((None, 2)) | 396 None = 2, |
421 ((VeryLow, 3)) | 397 VeryLow = 3, |
422 ((Low, 4)) | 398 Low = 4, |
423 ((MediumLow, 5)) | 399 MediumLow = 5, |
424 ((Medium, 6)) | 400 Medium = 6, |
425 ((MediumHigh, 7)) | 401 MediumHigh = 7, |
426 ((High, 8)) | 402 High = 8, |
427 ((VeryHigh, 9)) | 403 VeryHigh = 9, |
428 ((HorizontalLow, 10)) | 404 HorizontalLow = 10, |
429 ((HorizontalMedium, 11)) | 405 HorizontalMedium = 11, |
430 ((HorizontalHigh, 12)) | 406 HorizontalHigh = 12, |
431 ((Broken, 13)) | 407 Broken = 13, |
432 SK_SEQ_END, | 408 } value; |
433 (value)SK_SEQ_END) | |
434 } bContrast; | 409 } bContrast; |
435 | 410 |
436 struct SerifVariant { | 411 struct SerifVariant { |
437 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 412 enum Value : SK_OT_BYTE { |
438 ((Any, 0)) | 413 Any = 0, |
439 ((NoFit, 1)) | 414 NoFit = 1, |
440 ((Cove, 2)) | 415 Cove = 2, |
441 ((ObtuseCove, 3)) | 416 ObtuseCove = 3, |
442 ((SquareCove, 4)) | 417 SquareCove = 4, |
443 ((ObtuseSquareCove, 5)) | 418 ObtuseSquareCove = 5, |
444 ((Square, 6)) | 419 Square = 6, |
445 ((Thin, 7)) | 420 Thin = 7, |
446 ((Oval, 8)) | 421 Oval = 8, |
447 ((Exaggerated, 9)) | 422 Exaggerated = 9, |
448 ((Triangle, 10)) | 423 Triangle = 10, |
449 ((NormalSans, 11)) | 424 NormalSans = 11, |
450 ((ObtuseSans, 12)) | 425 ObtuseSans = 12, |
451 ((PerpendicularSans, 13)) | 426 PerpendicularSans = 13, |
452 ((Flared, 14)) | 427 Flared = 14, |
453 ((Rounded, 15)) | 428 Rounded = 15, |
454 ((Script, 16)) | 429 Script = 16, |
455 SK_SEQ_END, | 430 } value; |
456 (value)SK_SEQ_END) | |
457 } bSerifVariant; | 431 } bSerifVariant; |
458 | 432 |
459 struct Treatment { | 433 struct Treatment { |
460 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 434 enum Value : SK_OT_BYTE { |
461 ((Any, 0)) | 435 Any = 0, |
462 ((NoFit, 1)) | 436 NoFit = 1, |
463 ((None_StandardSolidFill, 2)) | 437 None_StandardSolidFill = 2, |
464 ((White_NoFill, 3)) | 438 White_NoFill = 3, |
465 ((PatternedFill, 4)) | 439 PatternedFill = 4, |
466 ((ComplexFill, 5)) | 440 ComplexFill = 5, |
467 ((ShapedFill, 6)) | 441 ShapedFill = 6, |
468 ((DrawnDistressed, 7)) | 442 DrawnDistressed = 7, |
469 SK_SEQ_END, | 443 } value; |
470 (value)SK_SEQ_END) | |
471 } bTreatment; | 444 } bTreatment; |
472 | 445 |
473 struct Lining { | 446 struct Lining { |
474 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 447 enum Value : SK_OT_BYTE { |
475 ((Any, 0)) | 448 Any = 0, |
476 ((NoFit, 1)) | 449 NoFit = 1, |
477 ((None, 2)) | 450 None = 2, |
478 ((Inline, 3)) | 451 Inline = 3, |
479 ((Outline, 4)) | 452 Outline = 4, |
480 ((Engraved, 5)) | 453 Engraved = 5, |
481 ((Shadow, 6)) | 454 Shadow = 6, |
482 ((Relief, 7)) | 455 Relief = 7, |
483 ((Backdrop, 8)) | 456 Backdrop = 8, |
484 SK_SEQ_END, | 457 } value; |
485 (value)SK_SEQ_END) | |
486 } bLining; | 458 } bLining; |
487 | 459 |
488 struct Topology { | 460 struct Topology { |
489 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 461 enum Value : SK_OT_BYTE { |
490 ((Any, 0)) | 462 Any = 0, |
491 ((NoFit, 1)) | 463 NoFit = 1, |
492 ((Standard, 2)) | 464 Standard = 2, |
493 ((Square, 3)) | 465 Square = 3, |
494 ((MultipleSegment, 4)) | 466 MultipleSegment = 4, |
495 ((DecoWacoMidlines, 5)) | 467 DecoWacoMidlines = 5, |
496 ((UnevenWeighting, 6)) | 468 UnevenWeighting = 6, |
497 ((DiverseArms, 7)) | 469 DiverseArms = 7, |
498 ((DiverseForms, 8)) | 470 DiverseForms = 8, |
499 ((LombardicForms, 9)) | 471 LombardicForms = 9, |
500 ((UpperCaseInLowerCase, 10)) | 472 UpperCaseInLowerCase = 10, |
501 ((ImpliedTopology, 11)) | 473 ImpliedTopology = 11, |
502 ((HorseshoeEandA, 12)) | 474 HorseshoeEandA = 12, |
503 ((Cursive, 13)) | 475 Cursive = 13, |
504 ((Blackletter, 14)) | 476 Blackletter = 14, |
505 ((SwashVariance, 15)) | 477 SwashVariance = 15, |
506 SK_SEQ_END, | 478 } value; |
507 (value)SK_SEQ_END) | |
508 } bTopology; | 479 } bTopology; |
509 | 480 |
510 struct RangeOfCharacters { | 481 struct RangeOfCharacters { |
511 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 482 enum Value : SK_OT_BYTE { |
512 ((Any, 0)) | 483 Any = 0, |
513 ((NoFit, 1)) | 484 NoFit = 1, |
514 ((ExtendedCollection, 2)) | 485 ExtendedCollection = 2, |
515 ((Litterals, 3)) | 486 Litterals = 3, |
516 ((NoLowerCase, 4)) | 487 NoLowerCase = 4, |
517 ((SmallCaps, 5)) | 488 SmallCaps = 5, |
518 SK_SEQ_END, | 489 } value; |
519 (value)SK_SEQ_END) | |
520 } bRangeOfCharacters; | 490 } bRangeOfCharacters; |
521 } decorative; | 491 } decorative; |
522 | 492 |
523 struct Pictoral { | 493 struct Pictoral { |
524 struct Kind { | 494 struct Kind { |
525 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 495 enum Value : SK_OT_BYTE { |
526 ((Any, 0)) | 496 Any = 0, |
527 ((NoFit, 1)) | 497 NoFit = 1, |
528 ((Montages, 2)) | 498 Montages = 2, |
529 ((Pictures, 3)) | 499 Pictures = 3, |
530 ((Shapes, 4)) | 500 Shapes = 4, |
531 ((Scientific, 5)) | 501 Scientific = 5, |
532 ((Music, 6)) | 502 Music = 6, |
533 ((Expert, 7)) | 503 Expert = 7, |
534 ((Patterns, 8)) | 504 Patterns = 8, |
535 ((Boarders, 9)) | 505 Boarders = 9, |
536 ((Icons, 10)) | 506 Icons = 10, |
537 ((Logos, 11)) | 507 Logos = 11, |
538 ((IndustrySpecific, 12)) | 508 IndustrySpecific = 12, |
539 SK_SEQ_END, | 509 } value; |
540 (value)SK_SEQ_END) | |
541 } bKind; | 510 } bKind; |
542 | 511 |
543 struct Weight { | 512 struct Weight { |
544 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 513 enum Value : SK_OT_BYTE { |
545 ((NoFit, 1)) | 514 NoFit = 1, |
546 SK_SEQ_END, | 515 } value; |
547 (value)SK_SEQ_END) | |
548 } bWeight; | 516 } bWeight; |
549 | 517 |
550 struct Spacing { | 518 struct Spacing { |
551 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 519 enum Value : SK_OT_BYTE { |
552 ((Any, 0)) | 520 Any = 0, |
553 ((NoFit, 1)) | 521 NoFit = 1, |
554 ((ProportionalSpaced, 2)) | 522 ProportionalSpaced = 2, |
555 ((Monospaced, 3)) | 523 Monospaced = 3, |
556 SK_SEQ_END, | 524 } value; |
557 (value)SK_SEQ_END) | |
558 } bSpacing; | 525 } bSpacing; |
559 | 526 |
560 struct AspectRatioAndContrast { | 527 struct AspectRatioAndContrast { |
561 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 528 enum Value : SK_OT_BYTE { |
562 ((NoFit, 1)) | 529 NoFit = 1, |
563 SK_SEQ_END, | 530 } value; |
564 (value)SK_SEQ_END) | |
565 } bAspectRatioAndContrast; | 531 } bAspectRatioAndContrast; |
566 | 532 |
567 struct AspectRatio94 { | 533 struct AspectRatio94 { |
568 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 534 enum Value : SK_OT_BYTE { |
569 ((Any, 0)) | 535 Any = 0, |
570 ((NoFit, 1)) | 536 NoFit = 1, |
571 ((NoWidth, 2)) | 537 NoWidth = 2, |
572 ((ExceptionallyWide, 3)) | 538 ExceptionallyWide = 3, |
573 ((SuperWide, 4)) | 539 SuperWide = 4, |
574 ((VeryWide, 5)) | 540 VeryWide = 5, |
575 ((Wide, 6)) | 541 Wide = 6, |
576 ((Normal, 7)) | 542 Normal = 7, |
577 ((Narrow, 8)) | 543 Narrow = 8, |
578 ((VeryNarrow, 9)) | 544 VeryNarrow = 9, |
579 SK_SEQ_END, | 545 } value; |
580 (value)SK_SEQ_END) | |
581 } bAspectRatio94; | 546 } bAspectRatio94; |
582 | 547 |
583 struct AspectRatio119 { | 548 struct AspectRatio119 { |
584 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 549 enum Value : SK_OT_BYTE { |
585 ((Any, 0)) | 550 Any = 0, |
586 ((NoFit, 1)) | 551 NoFit = 1, |
587 ((NoWidth, 2)) | 552 NoWidth = 2, |
588 ((ExceptionallyWide, 3)) | 553 ExceptionallyWide = 3, |
589 ((SuperWide, 4)) | 554 SuperWide = 4, |
590 ((VeryWide, 5)) | 555 VeryWide = 5, |
591 ((Wide, 6)) | 556 Wide = 6, |
592 ((Normal, 7)) | 557 Normal = 7, |
593 ((Narrow, 8)) | 558 Narrow = 8, |
594 ((VeryNarrow, 9)) | 559 VeryNarrow = 9, |
595 SK_SEQ_END, | 560 } value; |
596 (value)SK_SEQ_END) | |
597 } bAspectRatio119; | 561 } bAspectRatio119; |
598 | 562 |
599 struct AspectRatio157 { | 563 struct AspectRatio157 { |
600 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 564 enum Value : SK_OT_BYTE { |
601 ((Any, 0)) | 565 Any = 0, |
602 ((NoFit, 1)) | 566 NoFit = 1, |
603 ((NoWidth, 2)) | 567 NoWidth = 2, |
604 ((ExceptionallyWide, 3)) | 568 ExceptionallyWide = 3, |
605 ((SuperWide, 4)) | 569 SuperWide = 4, |
606 ((VeryWide, 5)) | 570 VeryWide = 5, |
607 ((Wide, 6)) | 571 Wide = 6, |
608 ((Normal, 7)) | 572 Normal = 7, |
609 ((Narrow, 8)) | 573 Narrow = 8, |
610 ((VeryNarrow, 9)) | 574 VeryNarrow = 9, |
611 SK_SEQ_END, | 575 } value; |
612 (value)SK_SEQ_END) | |
613 } bAspectRatio157; | 576 } bAspectRatio157; |
614 | 577 |
615 struct AspectRatio163 { | 578 struct AspectRatio163 { |
616 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 579 enum Value : SK_OT_BYTE { |
617 ((Any, 0)) | 580 Any = 0, |
618 ((NoFit, 1)) | 581 NoFit = 1, |
619 ((NoWidth, 2)) | 582 NoWidth = 2, |
620 ((ExceptionallyWide, 3)) | 583 ExceptionallyWide = 3, |
621 ((SuperWide, 4)) | 584 SuperWide = 4, |
622 ((VeryWide, 5)) | 585 VeryWide = 5, |
623 ((Wide, 6)) | 586 Wide = 6, |
624 ((Normal, 7)) | 587 Normal = 7, |
625 ((Narrow, 8)) | 588 Narrow = 8, |
626 ((VeryNarrow, 9)) | 589 VeryNarrow = 9, |
627 SK_SEQ_END, | 590 } value; |
628 (value)SK_SEQ_END) | |
629 } bAspectRatio163; | 591 } bAspectRatio163; |
630 } pictoral; | 592 } pictoral; |
631 } data; | 593 } data; |
632 }; | 594 }; |
633 | 595 |
634 #pragma pack(pop) | 596 #pragma pack(pop) |
635 | 597 |
636 | 598 |
637 static_assert(sizeof(SkPanose) == 10, "sizeof_SkPanose_not_10"); | 599 static_assert(sizeof(SkPanose) == 10, "sizeof_SkPanose_not_10"); |
638 | 600 |
639 #endif | 601 #endif |
OLD | NEW |