Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
SkOTTable_OS_2_V2.h
Go to the documentation of this file.
1/*
2 * Copyright 2012 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef SkOTTable_OS_2_V2_DEFINED
9#define SkOTTable_OS_2_V2_DEFINED
10
11#include "src/base/SkEndian.h"
14#include "src/sfnt/SkPanose.h"
15
16#pragma pack(push, 1)
17
21
50 union Type {
51 struct Field {
52 //8-15
54 NoSubsetting,
55 Bitmap,
56 Reserved10,
57 Reserved11,
58 Reserved12,
59 Reserved13,
60 Reserved14,
61 Reserved15)
62 //0-7
64 Reserved00,
71 Reserved07)
96 struct Field {
97 //l0 24-31
99 Thai,
100 Lao,
101 Georgian,
102 Reserved027,
103 HangulJamo,
104 LatinExtendedAdditional,
105 GreekExtended,
106 GeneralPunctuation)
107 //l0 16-23
109 Bengali,
116 Malayalam)
117 //l0 8-15
119 Reserved008,
120 Cyrillic,
121 Armenian,
122 Hebrew,
123 Reserved012,
124 Arabic,
125 Reserved014,
126 Devanagari)
127 //l0 0-7
129 BasicLatin,
136 Greek)
137
138 //l1 24-31
140 Hangul,
141 Surrogates,
142 Reserved058,
143 CJKUnifiedIdeographs,
144 PrivateUseArea,
145 CJKCompatibilityIdeographs,
146 AlphabeticPresentationForms,
147 ArabicPresentationFormsA)
148 //l1 16-23
150 CJKSymbolsAndPunctuation,
157 CJKCompatibility)
158 //l1 8-15
160 ControlPictures,
161 OpticalCharacterRecognition,
162 EnclosedAlphanumerics,
163 BoxDrawing,
164 BlockElements,
165 GeometricShapes,
166 MiscellaneousSymbols,
167 Dingbats)
168 //l1 0-7
170 SuperscriptsAndSubscripts,
177 MiscellaneousTechnical)
178
179 //l2 24-31
181 Reserved088,
182 Reserved089,
183 Reserved090,
184 Reserved091,
185 Reserved092,
186 Reserved093,
187 Reserved094,
188 Reserved095)
189 //l2 16-23
191 Khmer,
198 Reserved087)
199 //l2 8-15
201 Thaana,
202 Sinhala,
203 Myanmar,
204 Ethiopic,
205 Cherokee,
206 UnifiedCanadianSyllabics,
207 Ogham,
208 Runic)
209 //l2 0-7
211 CombiningHalfMarks,
218 Syriac)
219
220 //l3 24-31
222 Reserved120,
223 Reserved121,
224 Reserved122,
225 Reserved123,
226 Reserved124,
227 Reserved125,
228 Reserved126,
229 Reserved127)
230 //l3 16-23
232 Reserved112,
239 Reserved119)
240 //l3 8-15
242 Reserved104,
243 Reserved105,
244 Reserved106,
245 Reserved107,
246 Reserved108,
247 Reserved109,
248 Reserved110,
249 Reserved111)
250 //l3 0-7
252 Reserved096,
259 Reserved103)
261 struct Raw {
262 struct l0 {
263 static const SK_OT_ULONG BasicLatinMask = SkOTSetULONGBit<0>::value;
264 static const SK_OT_ULONG Latin1SupplementMask = SkOTSetULONGBit<1>::value;
265 static const SK_OT_ULONG LatinExtendedAMask = SkOTSetULONGBit<2>::value;
266 static const SK_OT_ULONG LatinExtendedBMask = SkOTSetULONGBit<3>::value;
267 static const SK_OT_ULONG IPAExtensionsMask = SkOTSetULONGBit<4>::value;
268 static const SK_OT_ULONG SpacingModifierLettersMask = SkOTSetULONGBit<5>::value;
269 static const SK_OT_ULONG CombiningDiacriticalMarksMask = SkOTSetULONGBit<6>::value;
270 static const SK_OT_ULONG GreekMask = SkOTSetULONGBit<7>::value;
271 //Reserved
272 static const SK_OT_ULONG CyrillicMask = SkOTSetULONGBit<9>::value;
273 static const SK_OT_ULONG ArmenianMask = SkOTSetULONGBit<10>::value;
274 static const SK_OT_ULONG HebrewMask = SkOTSetULONGBit<11>::value;
275 //Reserved
276 static const SK_OT_ULONG ArabicMask = SkOTSetULONGBit<13>::value;
277 //Reserved
278 static const SK_OT_ULONG DevanagariMask = SkOTSetULONGBit<15>::value;
279 static const SK_OT_ULONG BengaliMask = SkOTSetULONGBit<16>::value;
280 static const SK_OT_ULONG GurmukhiMask = SkOTSetULONGBit<17>::value;
281 static const SK_OT_ULONG GujaratiMask = SkOTSetULONGBit<18>::value;
282 static const SK_OT_ULONG OriyaMask = SkOTSetULONGBit<19>::value;
283 static const SK_OT_ULONG TamilMask = SkOTSetULONGBit<20>::value;
284 static const SK_OT_ULONG TeluguMask = SkOTSetULONGBit<21>::value;
285 static const SK_OT_ULONG KannadaMask = SkOTSetULONGBit<22>::value;
286 static const SK_OT_ULONG MalayalamMask = SkOTSetULONGBit<23>::value;
289 static const SK_OT_ULONG GeorgianMask = SkOTSetULONGBit<26>::value;
290 //Reserved
291 static const SK_OT_ULONG HangulJamoMask = SkOTSetULONGBit<28>::value;
292 static const SK_OT_ULONG LatinExtendedAdditionalMask = SkOTSetULONGBit<29>::value;
293 static const SK_OT_ULONG GreekExtendedMask = SkOTSetULONGBit<30>::value;
294 static const SK_OT_ULONG GeneralPunctuationMask = SkOTSetULONGBit<31>::value;
295 };
296 struct l1 {
297 static const SK_OT_ULONG SuperscriptsAndSubscriptsMask = SkOTSetULONGBit<32 - 32>::value;
298 static const SK_OT_ULONG CurrencySymbolsMask = SkOTSetULONGBit<33 - 32>::value;
299 static const SK_OT_ULONG CombiningDiacriticalMarksForSymbolsMask = SkOTSetULONGBit<34 - 32>::value;
300 static const SK_OT_ULONG LetterlikeSymbolsMask = SkOTSetULONGBit<35 - 32>::value;
301 static const SK_OT_ULONG NumberFormsMask = SkOTSetULONGBit<36 - 32>::value;
302 static const SK_OT_ULONG ArrowsMask = SkOTSetULONGBit<37 - 32>::value;
303 static const SK_OT_ULONG MathematicalOperatorsMask = SkOTSetULONGBit<38 - 32>::value;
304 static const SK_OT_ULONG MiscellaneousTechnicalMask = SkOTSetULONGBit<39 - 32>::value;
305 static const SK_OT_ULONG ControlPicturesMask = SkOTSetULONGBit<40 - 32>::value;
306 static const SK_OT_ULONG OpticalCharacterRecognitionMask = SkOTSetULONGBit<41 - 32>::value;
307 static const SK_OT_ULONG EnclosedAlphanumericsMask = SkOTSetULONGBit<42 - 32>::value;
308 static const SK_OT_ULONG BoxDrawingMask = SkOTSetULONGBit<43 - 32>::value;
309 static const SK_OT_ULONG BlockElementsMask = SkOTSetULONGBit<44 - 32>::value;
310 static const SK_OT_ULONG GeometricShapesMask = SkOTSetULONGBit<45 - 32>::value;
311 static const SK_OT_ULONG MiscellaneousSymbolsMask = SkOTSetULONGBit<46 - 32>::value;
312 static const SK_OT_ULONG DingbatsMask = SkOTSetULONGBit<47 - 32>::value;
313 static const SK_OT_ULONG CJKSymbolsAndPunctuationMask = SkOTSetULONGBit<48 - 32>::value;
314 static const SK_OT_ULONG HiraganaMask = SkOTSetULONGBit<49 - 32>::value;
315 static const SK_OT_ULONG KatakanaMask = SkOTSetULONGBit<50 - 32>::value;
316 static const SK_OT_ULONG BopomofoMask = SkOTSetULONGBit<51 - 32>::value;
317 static const SK_OT_ULONG HangulCompatibilityJamoMask = SkOTSetULONGBit<52 - 32>::value;
318 static const SK_OT_ULONG CJKMiscellaneousMask = SkOTSetULONGBit<53 - 32>::value;
319 static const SK_OT_ULONG EnclosedCJKLettersAndMonthsMask = SkOTSetULONGBit<54 - 32>::value;
320 static const SK_OT_ULONG CJKCompatibilityMask = SkOTSetULONGBit<55 - 32>::value;
321 static const SK_OT_ULONG HangulMask = SkOTSetULONGBit<56 - 32>::value;
322 static const SK_OT_ULONG SurrogatesMask = SkOTSetULONGBit<57 - 32>::value;
323 //Reserved
324 static const SK_OT_ULONG CJKUnifiedIdeographsMask = SkOTSetULONGBit<59 - 32>::value;
325 static const SK_OT_ULONG PrivateUseAreaMask = SkOTSetULONGBit<60 - 32>::value;
326 static const SK_OT_ULONG CJKCompatibilityIdeographsMask = SkOTSetULONGBit<61 - 32>::value;
327 static const SK_OT_ULONG AlphabeticPresentationFormsMask = SkOTSetULONGBit<62 - 32>::value;
328 static const SK_OT_ULONG ArabicPresentationFormsAMask = SkOTSetULONGBit<63 - 32>::value;
329 };
330 struct l2 {
331 static const SK_OT_ULONG CombiningHalfMarksMask = SkOTSetULONGBit<64 - 64>::value;
332 static const SK_OT_ULONG CJKCompatibilityFormsMask = SkOTSetULONGBit<65 - 64>::value;
333 static const SK_OT_ULONG SmallFormVariantsMask = SkOTSetULONGBit<66 - 64>::value;
334 static const SK_OT_ULONG ArabicPresentationFormsBMask = SkOTSetULONGBit<67 - 64>::value;
335 static const SK_OT_ULONG HalfwidthAndFullwidthFormsMask = SkOTSetULONGBit<68 - 64>::value;
336 static const SK_OT_ULONG SpecialsMask = SkOTSetULONGBit<69 - 64>::value;
337 static const SK_OT_ULONG TibetanMask = SkOTSetULONGBit<70 - 64>::value;
338 static const SK_OT_ULONG SyriacMask = SkOTSetULONGBit<71 - 64>::value;
339 static const SK_OT_ULONG ThaanaMask = SkOTSetULONGBit<72 - 64>::value;
340 static const SK_OT_ULONG SinhalaMask = SkOTSetULONGBit<73 - 64>::value;
341 static const SK_OT_ULONG MyanmarMask = SkOTSetULONGBit<74 - 64>::value;
342 static const SK_OT_ULONG EthiopicMask = SkOTSetULONGBit<75 - 64>::value;
343 static const SK_OT_ULONG CherokeeMask = SkOTSetULONGBit<76 - 64>::value;
344 static const SK_OT_ULONG UnifiedCanadianSyllabicsMask = SkOTSetULONGBit<77 - 64>::value;
345 static const SK_OT_ULONG OghamMask = SkOTSetULONGBit<78 - 64>::value;
346 static const SK_OT_ULONG RunicMask = SkOTSetULONGBit<79 - 64>::value;
347 static const SK_OT_ULONG KhmerMask = SkOTSetULONGBit<80 - 64>::value;
348 static const SK_OT_ULONG MongolianMask = SkOTSetULONGBit<81 - 64>::value;
349 static const SK_OT_ULONG BrailleMask = SkOTSetULONGBit<82 - 64>::value;
350 static const SK_OT_ULONG YiMask = SkOTSetULONGBit<83 - 64>::value;
351 };
356 union Selection {
357 struct Field {
358 //8-15
360 Reserved08,
361 Reserved09,
362 Reserved10,
363 Reserved11,
364 Reserved12,
365 Reserved13,
366 Reserved14,
367 Reserved15)
368 //0-7
370 Italic,
371 Underscore,
372 Negative,
373 Outlined,
374 Strikeout,
375 Bold,
376 Regular,
377 Reserved07)
378 } field;
379 struct Raw {
380 static const SK_OT_USHORT ItalicMask = SkOTSetUSHORTBit<0>::value;
381 static const SK_OT_USHORT UnderscoreMask = SkOTSetUSHORTBit<1>::value;
382 static const SK_OT_USHORT NegativeMask = SkOTSetUSHORTBit<2>::value;
383 static const SK_OT_USHORT OutlinedMask = SkOTSetUSHORTBit<3>::value;
384 static const SK_OT_USHORT StrikeoutMask = SkOTSetUSHORTBit<4>::value;
386 static const SK_OT_USHORT RegularMask = SkOTSetUSHORTBit<6>::value;
388 } raw;
392 //version0
398 //version1
400 struct Field {
401 //l0 24-31
403 Reserved24,
404 Reserved25,
405 Reserved26,
406 Reserved27,
407 Reserved28,
408 MacintoshCharacterSet,
409 OEMCharacterSet,
410 SymbolCharacterSet)
411 //l0 16-23
413 Thai_874,
414 JISJapan_932,
415 ChineseSimplified_936,
416 KoreanWansung_949,
417 ChineseTraditional_950,
418 KoreanJohab_1361,
419 Reserved22,
420 Reserved23)
421 //l0 8-15
423 Vietnamese,
424 Reserved09,
425 Reserved10,
426 Reserved11,
427 Reserved12,
428 Reserved13,
429 Reserved14,
430 Reserved15)
431 //l0 0-7
433 Latin1_1252,
434 Latin2EasternEurope_1250,
435 Cyrillic_1251,
436 Greek_1253,
437 Turkish_1254,
438 Hebrew_1255,
439 Arabic_1256,
440 WindowsBaltic_1257)
441
442 //l1 24-31
444 IBMTurkish_857,
445 IBMCyrillic_855,
446 Latin2_852,
447 MSDOSBaltic_775,
448 Greek_737,
449 Arabic_708,
450 WELatin1_850,
451 US_437)
452 //l1 16-23
454 IBMGreek_869,
455 MSDOSRussian_866,
456 MSDOSNordic_865,
457 Arabic_864,
458 MSDOSCanadianFrench_863,
459 Hebrew_862,
460 MSDOSIcelandic_861,
461 MSDOSPortuguese_860)
462 //l1 8-15
464 Reserved40,
465 Reserved41,
466 Reserved42,
467 Reserved43,
468 Reserved44,
469 Reserved45,
470 Reserved46,
471 Reserved47)
472 //l1 0-7
474 Reserved32,
475 Reserved33,
476 Reserved34,
477 Reserved35,
478 Reserved36,
479 Reserved37,
480 Reserved38,
481 Reserved39)
482 } field;
483 struct Raw {
484 struct l0 {
485 static const SK_OT_ULONG Latin1_1252Mask = SkOTSetULONGBit<0>::value;
486 static const SK_OT_ULONG Latin2EasternEurope_1250Mask = SkOTSetULONGBit<1>::value;
487 static const SK_OT_ULONG Cyrillic_1251Mask = SkOTSetULONGBit<2>::value;
488 static const SK_OT_ULONG Greek_1253Mask = SkOTSetULONGBit<3>::value;
489 static const SK_OT_ULONG Turkish_1254Mask = SkOTSetULONGBit<4>::value;
490 static const SK_OT_ULONG Hebrew_1255Mask = SkOTSetULONGBit<5>::value;
491 static const SK_OT_ULONG Arabic_1256Mask = SkOTSetULONGBit<6>::value;
492 static const SK_OT_ULONG WindowsBaltic_1257Mask = SkOTSetULONGBit<7>::value;
493 static const SK_OT_ULONG Vietnamese_1258Mask = SkOTSetULONGBit<8>::value;
494 static const SK_OT_ULONG Thai_874Mask = SkOTSetULONGBit<16>::value;
495 static const SK_OT_ULONG JISJapan_932Mask = SkOTSetULONGBit<17>::value;
496 static const SK_OT_ULONG ChineseSimplified_936Mask = SkOTSetULONGBit<18>::value;
497 static const SK_OT_ULONG KoreanWansung_949Mask = SkOTSetULONGBit<19>::value;
498 static const SK_OT_ULONG ChineseTraditional_950Mask = SkOTSetULONGBit<20>::value;
499 static const SK_OT_ULONG KoreanJohab_1361Mask = SkOTSetULONGBit<21>::value;
500 static const SK_OT_ULONG MacintoshCharacterSetMask = SkOTSetULONGBit<29>::value;
501 static const SK_OT_ULONG OEMCharacterSetMask = SkOTSetULONGBit<30>::value;
502 static const SK_OT_ULONG SymbolCharacterSetMask = SkOTSetULONGBit<31>::value;
503 };
504 struct l1 {
505 static const SK_OT_ULONG IBMGreek_869Mask = SkOTSetULONGBit<48 - 32>::value;
506 static const SK_OT_ULONG MSDOSRussian_866Mask = SkOTSetULONGBit<49 - 32>::value;
507 static const SK_OT_ULONG MSDOSNordic_865Mask = SkOTSetULONGBit<50 - 32>::value;
508 static const SK_OT_ULONG Arabic_864Mask = SkOTSetULONGBit<51 - 32>::value;
509 static const SK_OT_ULONG MSDOSCanadianFrench_863Mask = SkOTSetULONGBit<52 - 32>::value;
510 static const SK_OT_ULONG Hebrew_862Mask = SkOTSetULONGBit<53 - 32>::value;
511 static const SK_OT_ULONG MSDOSIcelandic_861Mask = SkOTSetULONGBit<54 - 32>::value;
512 static const SK_OT_ULONG MSDOSPortuguese_860Mask = SkOTSetULONGBit<55 - 32>::value;
513 static const SK_OT_ULONG IBMTurkish_857Mask = SkOTSetULONGBit<56 - 32>::value;
514 static const SK_OT_ULONG IBMCyrillic_855Mask = SkOTSetULONGBit<57 - 32>::value;
515 static const SK_OT_ULONG Latin2_852Mask = SkOTSetULONGBit<58 - 32>::value;
516 static const SK_OT_ULONG MSDOSBaltic_775Mask = SkOTSetULONGBit<59 - 32>::value;
517 static const SK_OT_ULONG Greek_737Mask = SkOTSetULONGBit<60 - 32>::value;
518 static const SK_OT_ULONG Arabic_708Mask = SkOTSetULONGBit<61 - 32>::value;
519 static const SK_OT_ULONG WELatin1_850Mask = SkOTSetULONGBit<62 - 32>::value;
520 static const SK_OT_ULONG US_437Mask = SkOTSetULONGBit<63 - 32>::value;
521 };
523 } raw;
524 } ulCodePageRange;
525 //version2
531};
532
533#pragma pack(pop)
534
535
536static_assert(sizeof(SkOTTableOS2_V2) == 96, "sizeof_SkOTTableOS2_V2_not_96");
537
538#endif
#define SkTEndian_SwapBE16(n)
Definition SkEndian.h:142
uint16_t SK_OT_USHORT
uint32_t SK_OT_ULONG
int8_t SK_OT_CHAR
uint16_t SK_OT_SHORT
#define SK_OT_BYTE_BITFIELD
uint8_t value
SK_OT_BYTE_BITFIELD(Reserved24, Reserved25, Reserved26, Reserved27, Reserved28, MacintoshCharacterSet, OEMCharacterSet, SymbolCharacterSet) SK_OT_BYTE_BITFIELD(Thai_874
SK_OT_BYTE_BITFIELD(Reserved08, Reserved09, Reserved10, Reserved11, Reserved12, Reserved13, Reserved14, Reserved15) SK_OT_BYTE_BITFIELD(Italic
SK_OT_BYTE_BITFIELD(NoSubsetting, Bitmap, Reserved10, Reserved11, Reserved12, Reserved13, Reserved14, Reserved15) SK_OT_BYTE_BITFIELD(Reserved00
static const SK_OT_USHORT PreviewPrintMask
static const SK_OT_USHORT RestrictedMask
static const SK_OT_USHORT EditableMask
static const SK_OT_USHORT BitmapMask
static const SK_OT_USHORT NoSubsettingMask
static const SK_OT_USHORT Installable
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 SmallFormVariants
SK_OT_BYTE_BITFIELD(Thai, Lao, Georgian, Reserved027, HangulJamo, LatinExtendedAdditional, GreekExtended, GeneralPunctuation) SK_OT_BYTE_BITFIELD(Bengali
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved085
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved115
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved119 Reserved102
Malayalam Greek CJKCompatibility Arrows
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 CJKCompatibilityForms
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved119 Reserved100
Malayalam Greek CJKCompatibility MiscellaneousTechnical Braille
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved114
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Tibetan
Malayalam Greek CJKCompatibility MiscellaneousTechnical Mongolian
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Specials
Malayalam Greek CJKCompatibility MiscellaneousTechnical Yi
Malayalam Greek CJKCompatibility NumberForms
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved113
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved084
Malayalam Greek CJKCompatibility CurrencySymbols
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved118
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved119 Reserved099
Malayalam Greek CJKCompatibility LetterlikeSymbols
Malayalam Greek CJKCompatibility CombiningDiacriticalMarksForSymbols
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved119 Reserved101
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved119 Reserved098
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 ArabicPresentationFormsB
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved086
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 HalfwidthAndFullwidthForms
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved117
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved116
Malayalam Greek CJKCompatibility MathematicalOperators
Malayalam Greek CJKCompatibility MiscellaneousTechnical Reserved087 Syriac Reserved119 Reserved097
enum SkOTTableOS2_V2::WidthClass::Value value
SK_OT_SHORT sTypoDescender
SK_OT_USHORT usMaxContext
SK_OT_SHORT yStrikeoutSize
union SkOTTableOS2_V2::Selection fsSelection
SK_OT_USHORT usFirstCharIndex
SK_OT_USHORT usBreakChar
struct SkOTTableOS2_V2::WeightClass usWeightClass
SK_OT_SHORT ySubscriptXSize
SK_OT_SHORT ySuperscriptXSize
SK_OT_SHORT ySuperscriptYOffset
SK_OT_CHAR achVendID[4]
SK_OT_USHORT usLastCharIndex
SK_OT_USHORT usDefaultChar
struct SkOTTableOS2_V2::WidthClass usWidthClass
SK_OT_USHORT usWinDescent
union SkOTTableOS2_V2::Type fsType
SK_OT_USHORT usWinAscent
SK_OT_SHORT ySubscriptXOffset
SK_OT_SHORT sTypoLineGap
SK_OT_SHORT ySuperscriptYSize
SkIBMFamilyClass sFamilyClass
SK_OT_SHORT sTypoAscender
SK_OT_SHORT yStrikeoutPosition
SK_OT_SHORT ySubscriptYOffset
SK_OT_USHORT version
SK_OT_SHORT ySubscriptYSize
static const SK_OT_USHORT VERSION
SK_OT_SHORT xAvgCharWidth
union SkOTTableOS2_V2::UnicodeRange ulUnicodeRange
SK_OT_SHORT ySuperscriptXOffset
struct SkOTTableOS2_V2::Type::Field field
struct SkOTTableOS2_V2::Type::Raw raw
struct SkOTTableOS2_V2::UnicodeRange::Raw raw
struct SkOTTableOS2_V2::UnicodeRange::Field field