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 SkOTTable_OS_2_V4_DEFINED | 8 #ifndef SkOTTable_OS_2_V4_DEFINED |
9 #define SkOTTable_OS_2_V4_DEFINED | 9 #define SkOTTable_OS_2_V4_DEFINED |
10 | 10 |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 Reserved00, | 67 Reserved00, |
68 Restricted, | 68 Restricted, |
69 PreviewPrint, | 69 PreviewPrint, |
70 Editable, | 70 Editable, |
71 Reserved04, | 71 Reserved04, |
72 Reserved05, | 72 Reserved05, |
73 Reserved06, | 73 Reserved06, |
74 Reserved07) | 74 Reserved07) |
75 } field; | 75 } field; |
76 struct Raw { | 76 struct Raw { |
77 static const SK_OT_USHORT Installable = SkTEndian_SwapBE16(0); | 77 static const SK_OT_USHORT Installable = 0; |
78 static const SK_OT_USHORT RestrictedMask = SkTEndian_SwapBE16(1 << 1
); | 78 static const SK_OT_USHORT RestrictedMask = SkOTSetUSHORTBit<1>::valu
e; |
79 static const SK_OT_USHORT PreviewPrintMask = SkTEndian_SwapBE16(1 <<
2); | 79 static const SK_OT_USHORT PreviewPrintMask = SkOTSetUSHORTBit<2>::va
lue; |
80 static const SK_OT_USHORT EditableMask = SkTEndian_SwapBE16(1 << 3); | 80 static const SK_OT_USHORT EditableMask = SkOTSetUSHORTBit<3>::value; |
81 static const SK_OT_USHORT NoSubsettingMask = SkTEndian_SwapBE16(1 <<
8); | 81 static const SK_OT_USHORT NoSubsettingMask = SkOTSetUSHORTBit<8>::va
lue; |
82 static const SK_OT_USHORT BitmapMask = SkTEndian_SwapBE16(1 << 9); | 82 static const SK_OT_USHORT BitmapMask = SkOTSetUSHORTBit<9>::value; |
83 SK_OT_USHORT value; | 83 SK_OT_USHORT value; |
84 } raw; | 84 } raw; |
85 } fsType; | 85 } fsType; |
86 SK_OT_SHORT ySubscriptXSize; | 86 SK_OT_SHORT ySubscriptXSize; |
87 SK_OT_SHORT ySubscriptYSize; | 87 SK_OT_SHORT ySubscriptYSize; |
88 SK_OT_SHORT ySubscriptXOffset; | 88 SK_OT_SHORT ySubscriptXOffset; |
89 SK_OT_SHORT ySubscriptYOffset; | 89 SK_OT_SHORT ySubscriptYOffset; |
90 SK_OT_SHORT ySuperscriptXSize; | 90 SK_OT_SHORT ySuperscriptXSize; |
91 SK_OT_SHORT ySuperscriptYSize; | 91 SK_OT_SHORT ySuperscriptYSize; |
92 SK_OT_SHORT ySuperscriptXOffset; | 92 SK_OT_SHORT ySuperscriptXOffset; |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 Glagolitic, | 256 Glagolitic, |
257 Tifinagh, | 257 Tifinagh, |
258 YijingHexagramSymbols, | 258 YijingHexagramSymbols, |
259 SylotiNagri, | 259 SylotiNagri, |
260 LinearB_AegeanNumbers, | 260 LinearB_AegeanNumbers, |
261 AncientGreekNumbers, | 261 AncientGreekNumbers, |
262 Ugaritic) | 262 Ugaritic) |
263 } field; | 263 } field; |
264 struct Raw { | 264 struct Raw { |
265 struct l0 { | 265 struct l0 { |
266 static const SK_OT_ULONG BasicLatinMask = SkTEndian_SwapBE32(1 <
< 0); | 266 static const SK_OT_ULONG BasicLatinMask = SkOTSetULONGBit<0>::va
lue; |
267 static const SK_OT_ULONG Latin1SupplementMask = SkTEndian_SwapBE
32(1 << 1); | 267 static const SK_OT_ULONG Latin1SupplementMask = SkOTSetULONGBit<
1>::value; |
268 static const SK_OT_ULONG LatinExtendedAMask = SkTEndian_SwapBE32
(1 << 2); | 268 static const SK_OT_ULONG LatinExtendedAMask = SkOTSetULONGBit<2>
::value; |
269 static const SK_OT_ULONG LatinExtendedBMask = SkTEndian_SwapBE32
(1 << 3); | 269 static const SK_OT_ULONG LatinExtendedBMask = SkOTSetULONGBit<3>
::value; |
270 static const SK_OT_ULONG IPAExtensionsMask = SkTEndian_SwapBE32(
1 << 4); | 270 static const SK_OT_ULONG IPAExtensionsMask = SkOTSetULONGBit<4>:
:value; |
271 static const SK_OT_ULONG SpacingModifierLettersMask = SkTEndian_
SwapBE32(1 << 5); | 271 static const SK_OT_ULONG SpacingModifierLettersMask = SkOTSetULO
NGBit<5>::value; |
272 static const SK_OT_ULONG CombiningDiacriticalMarksMask = SkTEndi
an_SwapBE32(1 << 6); | 272 static const SK_OT_ULONG CombiningDiacriticalMarksMask = SkOTSet
ULONGBit<6>::value; |
273 static const SK_OT_ULONG GreekAndCopticMask = SkTEndian_SwapBE32
(1 << 7); | 273 static const SK_OT_ULONG GreekAndCopticMask = SkOTSetULONGBit<7>
::value; |
274 static const SK_OT_ULONG CopticMask = SkTEndian_SwapBE32(1 << 8)
; | 274 static const SK_OT_ULONG CopticMask = SkOTSetULONGBit<8>::value; |
275 static const SK_OT_ULONG CyrillicMask = SkTEndian_SwapBE32(1 <<
9); | 275 static const SK_OT_ULONG CyrillicMask = SkOTSetULONGBit<9>::valu
e; |
276 static const SK_OT_ULONG ArmenianMask = SkTEndian_SwapBE32(1 <<
10); | 276 static const SK_OT_ULONG ArmenianMask = SkOTSetULONGBit<10>::val
ue; |
277 static const SK_OT_ULONG HebrewMask = SkTEndian_SwapBE32(1 << 11
); | 277 static const SK_OT_ULONG HebrewMask = SkOTSetULONGBit<11>::value
; |
278 static const SK_OT_ULONG VaiMask = SkTEndian_SwapBE32(1 << 12); | 278 static const SK_OT_ULONG VaiMask = SkOTSetULONGBit<12>::value; |
279 static const SK_OT_ULONG ArabicMask = SkTEndian_SwapBE32(1 << 13
); | 279 static const SK_OT_ULONG ArabicMask = SkOTSetULONGBit<13>::value
; |
280 static const SK_OT_ULONG NKoMask = SkTEndian_SwapBE32(1 << 14); | 280 static const SK_OT_ULONG NKoMask = SkOTSetULONGBit<14>::value; |
281 static const SK_OT_ULONG DevanagariMask = SkTEndian_SwapBE32(1 <
< 15); | 281 static const SK_OT_ULONG DevanagariMask = SkOTSetULONGBit<15>::v
alue; |
282 static const SK_OT_ULONG BengaliMask = SkTEndian_SwapBE32(1 << 1
6); | 282 static const SK_OT_ULONG BengaliMask = SkOTSetULONGBit<16>::valu
e; |
283 static const SK_OT_ULONG GurmukhiMask = SkTEndian_SwapBE32(1 <<
17); | 283 static const SK_OT_ULONG GurmukhiMask = SkOTSetULONGBit<17>::val
ue; |
284 static const SK_OT_ULONG GujaratiMask = SkTEndian_SwapBE32(1 <<
18); | 284 static const SK_OT_ULONG GujaratiMask = SkOTSetULONGBit<18>::val
ue; |
285 static const SK_OT_ULONG OriyaMask = SkTEndian_SwapBE32(1 << 19)
; | 285 static const SK_OT_ULONG OriyaMask = SkOTSetULONGBit<19>::value; |
286 static const SK_OT_ULONG TamilMask = SkTEndian_SwapBE32(1 << 20)
; | 286 static const SK_OT_ULONG TamilMask = SkOTSetULONGBit<20>::value; |
287 static const SK_OT_ULONG TeluguMask = SkTEndian_SwapBE32(1 << 21
); | 287 static const SK_OT_ULONG TeluguMask = SkOTSetULONGBit<21>::value
; |
288 static const SK_OT_ULONG KannadaMask = SkTEndian_SwapBE32(1 << 2
2); | 288 static const SK_OT_ULONG KannadaMask = SkOTSetULONGBit<22>::valu
e; |
289 static const SK_OT_ULONG MalayalamMask = SkTEndian_SwapBE32(1 <<
23); | 289 static const SK_OT_ULONG MalayalamMask = SkOTSetULONGBit<23>::va
lue; |
290 static const SK_OT_ULONG ThaiMask = SkTEndian_SwapBE32(1 << 24); | 290 static const SK_OT_ULONG ThaiMask = SkOTSetULONGBit<24>::value; |
291 static const SK_OT_ULONG LaoMask = SkTEndian_SwapBE32(1 << 25); | 291 static const SK_OT_ULONG LaoMask = SkOTSetULONGBit<25>::value; |
292 static const SK_OT_ULONG GeorgianMask = SkTEndian_SwapBE32(1 <<
26); | 292 static const SK_OT_ULONG GeorgianMask = SkOTSetULONGBit<26>::val
ue; |
293 static const SK_OT_ULONG BalineseMask = SkTEndian_SwapBE32(1 <<
27); | 293 static const SK_OT_ULONG BalineseMask = SkOTSetULONGBit<27>::val
ue; |
294 static const SK_OT_ULONG HangulJamoMask = SkTEndian_SwapBE32(1 <
< 28); | 294 static const SK_OT_ULONG HangulJamoMask = SkOTSetULONGBit<28>::v
alue; |
295 static const SK_OT_ULONG LatinExtendedAdditionalMask = SkTEndian
_SwapBE32(1 << 29); | 295 static const SK_OT_ULONG LatinExtendedAdditionalMask = SkOTSetUL
ONGBit<29>::value; |
296 static const SK_OT_ULONG GreekExtendedMask = SkTEndian_SwapBE32(
1 << 30); | 296 static const SK_OT_ULONG GreekExtendedMask = SkOTSetULONGBit<30>
::value; |
297 static const SK_OT_ULONG GeneralPunctuationMask = SkTEndian_Swap
BE32(1 << 31); | 297 static const SK_OT_ULONG GeneralPunctuationMask = SkOTSetULONGBi
t<31>::value; |
298 }; | 298 }; |
299 struct l1 { | 299 struct l1 { |
300 static const SK_OT_ULONG SuperscriptsAndSubscriptsMask = SkTEndi
an_SwapBE32(1 << (32 - 32)); | 300 static const SK_OT_ULONG SuperscriptsAndSubscriptsMask = SkOTSet
ULONGBit<32 - 32>::value; |
301 static const SK_OT_ULONG CurrencySymbolsMask = SkTEndian_SwapBE3
2(1 << (33 - 32)); | 301 static const SK_OT_ULONG CurrencySymbolsMask = SkOTSetULONGBit<3
3 - 32>::value; |
302 static const SK_OT_ULONG CombiningDiacriticalMarksForSymbolsMask
= SkTEndian_SwapBE32(1 << (34 - 32)); | 302 static const SK_OT_ULONG CombiningDiacriticalMarksForSymbolsMask
= SkOTSetULONGBit<34 - 32>::value; |
303 static const SK_OT_ULONG LetterlikeSymbolsMask = SkTEndian_SwapB
E32(1 << (35 - 32)); | 303 static const SK_OT_ULONG LetterlikeSymbolsMask = SkOTSetULONGBit
<35 - 32>::value; |
304 static const SK_OT_ULONG NumberFormsMask = SkTEndian_SwapBE32(1
<< (36 - 32)); | 304 static const SK_OT_ULONG NumberFormsMask = SkOTSetULONGBit<36 -
32>::value; |
305 static const SK_OT_ULONG ArrowsMask = SkTEndian_SwapBE32(1 << (3
7 - 32)); | 305 static const SK_OT_ULONG ArrowsMask = SkOTSetULONGBit<37 - 32>::
value; |
306 static const SK_OT_ULONG MathematicalOperatorsMask = SkTEndian_S
wapBE32(1 << (38 - 32)); | 306 static const SK_OT_ULONG MathematicalOperatorsMask = SkOTSetULON
GBit<38 - 32>::value; |
307 static const SK_OT_ULONG MiscellaneousTechnicalMask = SkTEndian_
SwapBE32(1 << (39 - 32)); | 307 static const SK_OT_ULONG MiscellaneousTechnicalMask = SkOTSetULO
NGBit<39 - 32>::value; |
308 static const SK_OT_ULONG ControlPicturesMask = SkTEndian_SwapBE3
2(1 << (40 - 32)); | 308 static const SK_OT_ULONG ControlPicturesMask = SkOTSetULONGBit<4
0 - 32>::value; |
309 static const SK_OT_ULONG OpticalCharacterRecognitionMask = SkTEn
dian_SwapBE32(1 << (41 - 32)); | 309 static const SK_OT_ULONG OpticalCharacterRecognitionMask = SkOTS
etULONGBit<41 - 32>::value; |
310 static const SK_OT_ULONG EnclosedAlphanumericsMask = SkTEndian_S
wapBE32(1 << (42 - 32)); | 310 static const SK_OT_ULONG EnclosedAlphanumericsMask = SkOTSetULON
GBit<42 - 32>::value; |
311 static const SK_OT_ULONG BoxDrawingMask = SkTEndian_SwapBE32(1 <
< (43 - 32)); | 311 static const SK_OT_ULONG BoxDrawingMask = SkOTSetULONGBit<43 - 3
2>::value; |
312 static const SK_OT_ULONG BlockElementsMask = SkTEndian_SwapBE32(
1 << (44 - 32)); | 312 static const SK_OT_ULONG BlockElementsMask = SkOTSetULONGBit<44
- 32>::value; |
313 static const SK_OT_ULONG GeometricShapesMask = SkTEndian_SwapBE3
2(1 << (45 - 32)); | 313 static const SK_OT_ULONG GeometricShapesMask = SkOTSetULONGBit<4
5 - 32>::value; |
314 static const SK_OT_ULONG MiscellaneousSymbolsMask = SkTEndian_Sw
apBE32(1 << (46 - 32)); | 314 static const SK_OT_ULONG MiscellaneousSymbolsMask = SkOTSetULONG
Bit<46 - 32>::value; |
315 static const SK_OT_ULONG DingbatsMask = SkTEndian_SwapBE32(1 <<
(47 - 32)); | 315 static const SK_OT_ULONG DingbatsMask = SkOTSetULONGBit<47 - 32>
::value; |
316 static const SK_OT_ULONG CJKSymbolsAndPunctuationMask = SkTEndia
n_SwapBE32(1 << (48 - 32)); | 316 static const SK_OT_ULONG CJKSymbolsAndPunctuationMask = SkOTSetU
LONGBit<48 - 32>::value; |
317 static const SK_OT_ULONG HiraganaMask = SkTEndian_SwapBE32(1 <<
(49 - 32)); | 317 static const SK_OT_ULONG HiraganaMask = SkOTSetULONGBit<49 - 32>
::value; |
318 static const SK_OT_ULONG KatakanaMask = SkTEndian_SwapBE32(1 <<
(50 - 32)); | 318 static const SK_OT_ULONG KatakanaMask = SkOTSetULONGBit<50 - 32>
::value; |
319 static const SK_OT_ULONG BopomofoMask = SkTEndian_SwapBE32(1 <<
(51 - 32)); | 319 static const SK_OT_ULONG BopomofoMask = SkOTSetULONGBit<51 - 32>
::value; |
320 static const SK_OT_ULONG HangulCompatibilityJamoMask = SkTEndian
_SwapBE32(1 << (52 - 32)); | 320 static const SK_OT_ULONG HangulCompatibilityJamoMask = SkOTSetUL
ONGBit<52 - 32>::value; |
321 static const SK_OT_ULONG PhagsPaMask = SkTEndian_SwapBE32(1 << (
53 - 32)); | 321 static const SK_OT_ULONG PhagsPaMask = SkOTSetULONGBit<53 - 32>:
:value; |
322 static const SK_OT_ULONG EnclosedCJKLettersAndMonthsMask = SkTEn
dian_SwapBE32(1 << (54 - 32)); | 322 static const SK_OT_ULONG EnclosedCJKLettersAndMonthsMask = SkOTS
etULONGBit<54 - 32>::value; |
323 static const SK_OT_ULONG CJKCompatibilityMask = SkTEndian_SwapBE
32(1 << (55 - 32)); | 323 static const SK_OT_ULONG CJKCompatibilityMask = SkOTSetULONGBit<
55 - 32>::value; |
324 static const SK_OT_ULONG HangulMask = SkTEndian_SwapBE32(1 << (5
6 - 32)); | 324 static const SK_OT_ULONG HangulMask = SkOTSetULONGBit<56 - 32>::
value; |
325 static const SK_OT_ULONG NonPlane0Mask = SkTEndian_SwapBE32(1 <<
(57 - 32)); | 325 static const SK_OT_ULONG NonPlane0Mask = SkOTSetULONGBit<57 - 32
>::value; |
326 static const SK_OT_ULONG PhoenicianMask = SkTEndian_SwapBE32(1 <
< (58 - 32)); | 326 static const SK_OT_ULONG PhoenicianMask = SkOTSetULONGBit<58 - 3
2>::value; |
327 static const SK_OT_ULONG CJKUnifiedIdeographsMask = SkTEndian_Sw
apBE32(1 << (59 - 32)); | 327 static const SK_OT_ULONG CJKUnifiedIdeographsMask = SkOTSetULONG
Bit<59 - 32>::value; |
328 static const SK_OT_ULONG PrivateUseAreaMask = SkTEndian_SwapBE32
(1 << (60 - 32)); | 328 static const SK_OT_ULONG PrivateUseAreaMask = SkOTSetULONGBit<60
- 32>::value; |
329 static const SK_OT_ULONG CJKCompatibilityIdeographsMask = SkTEnd
ian_SwapBE32(1 << (61 - 32)); | 329 static const SK_OT_ULONG CJKCompatibilityIdeographsMask = SkOTSe
tULONGBit<61 - 32>::value; |
330 static const SK_OT_ULONG AlphabeticPresentationFormsMask = SkTEn
dian_SwapBE32(1 << (62 - 32)); | 330 static const SK_OT_ULONG AlphabeticPresentationFormsMask = SkOTS
etULONGBit<62 - 32>::value; |
331 static const SK_OT_ULONG ArabicPresentationFormsAMask = SkTEndia
n_SwapBE32(1 << (63 - 32)); | 331 static const SK_OT_ULONG ArabicPresentationFormsAMask = SkOTSetU
LONGBit<63 - 32>::value; |
332 }; | 332 }; |
333 struct l2 { | 333 struct l2 { |
334 static const SK_OT_ULONG CombiningHalfMarksMask = SkTEndian_Swap
BE32(1 << (64 - 64)); | 334 static const SK_OT_ULONG CombiningHalfMarksMask = SkOTSetULONGBi
t<64 - 64>::value; |
335 static const SK_OT_ULONG CJKCompatibilityFormsMask = SkTEndian_S
wapBE32(1 << (65 - 64)); | 335 static const SK_OT_ULONG CJKCompatibilityFormsMask = SkOTSetULON
GBit<65 - 64>::value; |
336 static const SK_OT_ULONG SmallFormVariantsMask = SkTEndian_SwapB
E32(1 << (66 - 64)); | 336 static const SK_OT_ULONG SmallFormVariantsMask = SkOTSetULONGBit
<66 - 64>::value; |
337 static const SK_OT_ULONG ArabicPresentationFormsBMask = SkTEndia
n_SwapBE32(1 << (67 - 64)); | 337 static const SK_OT_ULONG ArabicPresentationFormsBMask = SkOTSetU
LONGBit<67 - 64>::value; |
338 static const SK_OT_ULONG HalfwidthAndFullwidthFormsMask = SkTEnd
ian_SwapBE32(1 << (68 - 64)); | 338 static const SK_OT_ULONG HalfwidthAndFullwidthFormsMask = SkOTSe
tULONGBit<68 - 64>::value; |
339 static const SK_OT_ULONG SpecialsMask = SkTEndian_SwapBE32(1 <<
(69 - 64)); | 339 static const SK_OT_ULONG SpecialsMask = SkOTSetULONGBit<69 - 64>
::value; |
340 static const SK_OT_ULONG TibetanMask = SkTEndian_SwapBE32(1 << (
70 - 64)); | 340 static const SK_OT_ULONG TibetanMask = SkOTSetULONGBit<70 - 64>:
:value; |
341 static const SK_OT_ULONG SyriacMask = SkTEndian_SwapBE32(1 << (7
1 - 64)); | 341 static const SK_OT_ULONG SyriacMask = SkOTSetULONGBit<71 - 64>::
value; |
342 static const SK_OT_ULONG ThaanaMask = SkTEndian_SwapBE32(1 << (7
2 - 64)); | 342 static const SK_OT_ULONG ThaanaMask = SkOTSetULONGBit<72 - 64>::
value; |
343 static const SK_OT_ULONG SinhalaMask = SkTEndian_SwapBE32(1 << (
73 - 64)); | 343 static const SK_OT_ULONG SinhalaMask = SkOTSetULONGBit<73 - 64>:
:value; |
344 static const SK_OT_ULONG MyanmarMask = SkTEndian_SwapBE32(1 << (
74 - 64)); | 344 static const SK_OT_ULONG MyanmarMask = SkOTSetULONGBit<74 - 64>:
:value; |
345 static const SK_OT_ULONG EthiopicMask = SkTEndian_SwapBE32(1 <<
(75 - 64)); | 345 static const SK_OT_ULONG EthiopicMask = SkOTSetULONGBit<75 - 64>
::value; |
346 static const SK_OT_ULONG CherokeeMask = SkTEndian_SwapBE32(1 <<
(76 - 64)); | 346 static const SK_OT_ULONG CherokeeMask = SkOTSetULONGBit<76 - 64>
::value; |
347 static const SK_OT_ULONG UnifiedCanadianSyllabicsMask = SkTEndia
n_SwapBE32(1 << (77 - 64)); | 347 static const SK_OT_ULONG UnifiedCanadianSyllabicsMask = SkOTSetU
LONGBit<77 - 64>::value; |
348 static const SK_OT_ULONG OghamMask = SkTEndian_SwapBE32(1 << (78
- 64)); | 348 static const SK_OT_ULONG OghamMask = SkOTSetULONGBit<78 - 64>::v
alue; |
349 static const SK_OT_ULONG RunicMask = SkTEndian_SwapBE32(1 << (79
- 64)); | 349 static const SK_OT_ULONG RunicMask = SkOTSetULONGBit<79 - 64>::v
alue; |
350 static const SK_OT_ULONG KhmerMask = SkTEndian_SwapBE32(1 << (80
- 64)); | 350 static const SK_OT_ULONG KhmerMask = SkOTSetULONGBit<80 - 64>::v
alue; |
351 static const SK_OT_ULONG MongolianMask = SkTEndian_SwapBE32(1 <<
(81 - 64)); | 351 static const SK_OT_ULONG MongolianMask = SkOTSetULONGBit<81 - 64
>::value; |
352 static const SK_OT_ULONG BrailleMask = SkTEndian_SwapBE32(1 << (
82 - 64)); | 352 static const SK_OT_ULONG BrailleMask = SkOTSetULONGBit<82 - 64>:
:value; |
353 static const SK_OT_ULONG YiMask = SkTEndian_SwapBE32(1 << (83 -
64)); | 353 static const SK_OT_ULONG YiMask = SkOTSetULONGBit<83 - 64>::valu
e; |
354 static const SK_OT_ULONG Tagalog_Hanunoo_Buhid_TagbanwaMask = Sk
TEndian_SwapBE32(1 << (84 - 64)); | 354 static const SK_OT_ULONG Tagalog_Hanunoo_Buhid_TagbanwaMask = Sk
OTSetULONGBit<84 - 64>::value; |
355 static const SK_OT_ULONG OldItalicMask = SkTEndian_SwapBE32(1 <<
(85 - 64)); | 355 static const SK_OT_ULONG OldItalicMask = SkOTSetULONGBit<85 - 64
>::value; |
356 static const SK_OT_ULONG GothicMask = SkTEndian_SwapBE32(1 << (8
6 - 64)); | 356 static const SK_OT_ULONG GothicMask = SkOTSetULONGBit<86 - 64>::
value; |
357 static const SK_OT_ULONG DeseretMask = SkTEndian_SwapBE32(1 << (
87 - 64)); | 357 static const SK_OT_ULONG DeseretMask = SkOTSetULONGBit<87 - 64>:
:value; |
358 static const SK_OT_ULONG MusicalSymbolsMask = SkTEndian_SwapBE32
(1 << (88 - 64)); | 358 static const SK_OT_ULONG MusicalSymbolsMask = SkOTSetULONGBit<88
- 64>::value; |
359 static const SK_OT_ULONG MathematicalAlphanumericSymbolsMask = S
kTEndian_SwapBE32(1 << (89 - 64)); | 359 static const SK_OT_ULONG MathematicalAlphanumericSymbolsMask = S
kOTSetULONGBit<89 - 64>::value; |
360 static const SK_OT_ULONG PrivateUseMask = SkTEndian_SwapBE32(1 <
< (90 - 64)); | 360 static const SK_OT_ULONG PrivateUseMask = SkOTSetULONGBit<90 - 6
4>::value; |
361 static const SK_OT_ULONG VariationSelectorsMask = SkTEndian_Swap
BE32(1 << (91 - 64)); | 361 static const SK_OT_ULONG VariationSelectorsMask = SkOTSetULONGBi
t<91 - 64>::value; |
362 static const SK_OT_ULONG TagsMask = SkTEndian_SwapBE32(1 << (92
- 64)); | 362 static const SK_OT_ULONG TagsMask = SkOTSetULONGBit<92 - 64>::va
lue; |
363 static const SK_OT_ULONG LimbuMask = SkTEndian_SwapBE32(1 << (93
- 64)); | 363 static const SK_OT_ULONG LimbuMask = SkOTSetULONGBit<93 - 64>::v
alue; |
364 static const SK_OT_ULONG TaiLeMask = SkTEndian_SwapBE32(1 << (94
- 64)); | 364 static const SK_OT_ULONG TaiLeMask = SkOTSetULONGBit<94 - 64>::v
alue; |
365 static const SK_OT_ULONG NewTaiLueMask = SkTEndian_SwapBE32(1 <<
(95 - 64)); | 365 static const SK_OT_ULONG NewTaiLueMask = SkOTSetULONGBit<95 - 64
>::value; |
366 }; | 366 }; |
367 struct l3 { | 367 struct l3 { |
368 static const SK_OT_ULONG BugineseMask = SkTEndian_SwapBE32(1 <<
(96 - 96)); | 368 static const SK_OT_ULONG BugineseMask = SkOTSetULONGBit<96 - 96>
::value; |
369 static const SK_OT_ULONG GlagoliticMask = SkTEndian_SwapBE32(1 <
< (97 - 96)); | 369 static const SK_OT_ULONG GlagoliticMask = SkOTSetULONGBit<97 - 9
6>::value; |
370 static const SK_OT_ULONG TifinaghMask = SkTEndian_SwapBE32(1 <<
(98 - 96)); | 370 static const SK_OT_ULONG TifinaghMask = SkOTSetULONGBit<98 - 96>
::value; |
371 static const SK_OT_ULONG YijingHexagramSymbolsMask = SkTEndian_S
wapBE32(1 << (99 - 96)); | 371 static const SK_OT_ULONG YijingHexagramSymbolsMask = SkOTSetULON
GBit<99 - 96>::value; |
372 static const SK_OT_ULONG SylotiNagriMask = SkTEndian_SwapBE32(1
<< (100 - 96)); | 372 static const SK_OT_ULONG SylotiNagriMask = SkOTSetULONGBit<100 -
96>::value; |
373 static const SK_OT_ULONG LinearB_AegeanNumbersMask = SkTEndian_S
wapBE32(1 << (101 - 96)); | 373 static const SK_OT_ULONG LinearB_AegeanNumbersMask = SkOTSetULON
GBit<101 - 96>::value; |
374 static const SK_OT_ULONG AncientGreekNumbersMask = SkTEndian_Swa
pBE32(1 << (102 - 96)); | 374 static const SK_OT_ULONG AncientGreekNumbersMask = SkOTSetULONGB
it<102 - 96>::value; |
375 static const SK_OT_ULONG UgariticMask = SkTEndian_SwapBE32(1 <<
(103 - 96)); | 375 static const SK_OT_ULONG UgariticMask = SkOTSetULONGBit<103 - 96
>::value; |
376 static const SK_OT_ULONG OldPersianMask = SkTEndian_SwapBE32(1 <
< (104 - 96)); | 376 static const SK_OT_ULONG OldPersianMask = SkOTSetULONGBit<104 -
96>::value; |
377 static const SK_OT_ULONG ShavianMask = SkTEndian_SwapBE32(1 << (
105 - 96)); | 377 static const SK_OT_ULONG ShavianMask = SkOTSetULONGBit<105 - 96>
::value; |
378 static const SK_OT_ULONG OsmanyaMask = SkTEndian_SwapBE32(1 << (
106 - 96)); | 378 static const SK_OT_ULONG OsmanyaMask = SkOTSetULONGBit<106 - 96>
::value; |
379 static const SK_OT_ULONG CypriotSyllabaryMask = SkTEndian_SwapBE
32(1 << (107 - 96)); | 379 static const SK_OT_ULONG CypriotSyllabaryMask = SkOTSetULONGBit<
107 - 96>::value; |
380 static const SK_OT_ULONG KharoshthiMask = SkTEndian_SwapBE32(1 <
< (108 - 96)); | 380 static const SK_OT_ULONG KharoshthiMask = SkOTSetULONGBit<108 -
96>::value; |
381 static const SK_OT_ULONG TaiXuanJingSymbolsMask = SkTEndian_Swap
BE32(1 << (109 - 96)); | 381 static const SK_OT_ULONG TaiXuanJingSymbolsMask = SkOTSetULONGBi
t<109 - 96>::value; |
382 static const SK_OT_ULONG CuneiformMask = SkTEndian_SwapBE32(1 <<
(110 - 96)); | 382 static const SK_OT_ULONG CuneiformMask = SkOTSetULONGBit<110 - 9
6>::value; |
383 static const SK_OT_ULONG CountingRodNumeralsMask = SkTEndian_Swa
pBE32(1 << (111 - 96)); | 383 static const SK_OT_ULONG CountingRodNumeralsMask = SkOTSetULONGB
it<111 - 96>::value; |
384 static const SK_OT_ULONG SundaneseMask = SkTEndian_SwapBE32(1 <<
(112 - 96)); | 384 static const SK_OT_ULONG SundaneseMask = SkOTSetULONGBit<112 - 9
6>::value; |
385 static const SK_OT_ULONG LepchaMask = SkTEndian_SwapBE32(1 << (1
13 - 96)); | 385 static const SK_OT_ULONG LepchaMask = SkOTSetULONGBit<113 - 96>:
:value; |
386 static const SK_OT_ULONG OlChikiMask = SkTEndian_SwapBE32(1 << (
114 - 96)); | 386 static const SK_OT_ULONG OlChikiMask = SkOTSetULONGBit<114 - 96>
::value; |
387 static const SK_OT_ULONG SaurashtraMask = SkTEndian_SwapBE32(1 <
< (115 - 96)); | 387 static const SK_OT_ULONG SaurashtraMask = SkOTSetULONGBit<115 -
96>::value; |
388 static const SK_OT_ULONG KayahLiMask = SkTEndian_SwapBE32(1 << (
116 - 96)); | 388 static const SK_OT_ULONG KayahLiMask = SkOTSetULONGBit<116 - 96>
::value; |
389 static const SK_OT_ULONG RejangMask = SkTEndian_SwapBE32(1 << (1
17 - 96)); | 389 static const SK_OT_ULONG RejangMask = SkOTSetULONGBit<117 - 96>:
:value; |
390 static const SK_OT_ULONG ChamMask = SkTEndian_SwapBE32(1 << (118
- 96)); | 390 static const SK_OT_ULONG ChamMask = SkOTSetULONGBit<118 - 96>::v
alue; |
391 static const SK_OT_ULONG AncientSymbolsMask = SkTEndian_SwapBE32
(1 << (119 - 96)); | 391 static const SK_OT_ULONG AncientSymbolsMask = SkOTSetULONGBit<11
9 - 96>::value; |
392 static const SK_OT_ULONG PhaistosDiscMask = SkTEndian_SwapBE32(1
<< (120 - 96)); | 392 static const SK_OT_ULONG PhaistosDiscMask = SkOTSetULONGBit<120
- 96>::value; |
393 static const SK_OT_ULONG Carian_Lycian_LydianMask = SkTEndian_Sw
apBE32(1 << (121 - 96)); | 393 static const SK_OT_ULONG Carian_Lycian_LydianMask = SkOTSetULONG
Bit<121 - 96>::value; |
394 static const SK_OT_ULONG DominoTiles_MahjongTilesMask = SkTEndia
n_SwapBE32(1 << (122 - 96)); | 394 static const SK_OT_ULONG DominoTiles_MahjongTilesMask = SkOTSetU
LONGBit<122 - 96>::value; |
395 }; | 395 }; |
396 SK_OT_ULONG value[4]; | 396 SK_OT_ULONG value[4]; |
397 } raw; | 397 } raw; |
398 } ulUnicodeRange; | 398 } ulUnicodeRange; |
399 SK_OT_CHAR achVendID[4]; | 399 SK_OT_CHAR achVendID[4]; |
400 union Selection { | 400 union Selection { |
401 struct Field { | 401 struct Field { |
402 //8-15 | 402 //8-15 |
403 SK_OT_BYTE_BITFIELD( | 403 SK_OT_BYTE_BITFIELD( |
404 WWS, | 404 WWS, |
405 Oblique, | 405 Oblique, |
406 Reserved10, | 406 Reserved10, |
407 Reserved11, | 407 Reserved11, |
408 Reserved12, | 408 Reserved12, |
409 Reserved13, | 409 Reserved13, |
410 Reserved14, | 410 Reserved14, |
411 Reserved15) | 411 Reserved15) |
412 //0-7 | 412 //0-7 |
413 SK_OT_BYTE_BITFIELD( | 413 SK_OT_BYTE_BITFIELD( |
414 Italic, | 414 Italic, |
415 Underscore, | 415 Underscore, |
416 Negative, | 416 Negative, |
417 Outlined, | 417 Outlined, |
418 Strikeout, | 418 Strikeout, |
419 Bold, | 419 Bold, |
420 Regular, | 420 Regular, |
421 UseTypoMetrics) | 421 UseTypoMetrics) |
422 } field; | 422 } field; |
423 struct Raw { | 423 struct Raw { |
424 static const SK_OT_USHORT ItalicMask = SkTEndian_SwapBE16(1 << 0); | 424 static const SK_OT_USHORT ItalicMask = SkOTSetUSHORTBit<0>::value; |
425 static const SK_OT_USHORT UnderscoreMask = SkTEndian_SwapBE16(1 << 1
); | 425 static const SK_OT_USHORT UnderscoreMask = SkOTSetUSHORTBit<1>::valu
e; |
426 static const SK_OT_USHORT NegativeMask = SkTEndian_SwapBE16(1 << 2); | 426 static const SK_OT_USHORT NegativeMask = SkOTSetUSHORTBit<2>::value; |
427 static const SK_OT_USHORT OutlinedMask = SkTEndian_SwapBE16(1 << 3); | 427 static const SK_OT_USHORT OutlinedMask = SkOTSetUSHORTBit<3>::value; |
428 static const SK_OT_USHORT StrikeoutMask = SkTEndian_SwapBE16(1 << 4)
; | 428 static const SK_OT_USHORT StrikeoutMask = SkOTSetUSHORTBit<4>::value
; |
429 static const SK_OT_USHORT BoldMask = SkTEndian_SwapBE16(1 << 5); | 429 static const SK_OT_USHORT BoldMask = SkOTSetUSHORTBit<5>::value; |
430 static const SK_OT_USHORT RegularMask = SkTEndian_SwapBE16(1 << 6); | 430 static const SK_OT_USHORT RegularMask = SkOTSetUSHORTBit<6>::value; |
431 static const SK_OT_USHORT UseTypoMetricsMask = SkTEndian_SwapBE16(1
<< 7); | 431 static const SK_OT_USHORT UseTypoMetricsMask = SkOTSetUSHORTBit<7>::
value; |
432 static const SK_OT_USHORT WWSMask = SkTEndian_SwapBE16(1 << 8); | 432 static const SK_OT_USHORT WWSMask = SkOTSetUSHORTBit<8>::value; |
433 static const SK_OT_USHORT ObliqueMask = SkTEndian_SwapBE16(1 << 9); | 433 static const SK_OT_USHORT ObliqueMask = SkOTSetUSHORTBit<9>::value; |
434 SK_OT_USHORT value; | 434 SK_OT_USHORT value; |
435 } raw; | 435 } raw; |
436 } fsSelection; | 436 } fsSelection; |
437 SK_OT_USHORT usFirstCharIndex; | 437 SK_OT_USHORT usFirstCharIndex; |
438 SK_OT_USHORT usLastCharIndex; | 438 SK_OT_USHORT usLastCharIndex; |
439 //version0 | 439 //version0 |
440 SK_OT_SHORT sTypoAscender; | 440 SK_OT_SHORT sTypoAscender; |
441 SK_OT_SHORT sTypoDescender; | 441 SK_OT_SHORT sTypoDescender; |
442 SK_OT_SHORT sTypoLineGap; | 442 SK_OT_SHORT sTypoLineGap; |
443 SK_OT_USHORT usWinAscent; | 443 SK_OT_USHORT usWinAscent; |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
522 Reserved33, | 522 Reserved33, |
523 Reserved34, | 523 Reserved34, |
524 Reserved35, | 524 Reserved35, |
525 Reserved36, | 525 Reserved36, |
526 Reserved37, | 526 Reserved37, |
527 Reserved38, | 527 Reserved38, |
528 Reserved39) | 528 Reserved39) |
529 } field; | 529 } field; |
530 struct Raw { | 530 struct Raw { |
531 struct l0 { | 531 struct l0 { |
532 static const SK_OT_ULONG Latin1_1252Mask = SkTEndian_SwapBE32(1
<< 0); | 532 static const SK_OT_ULONG Latin1_1252Mask = SkOTSetULONGBit<0>::v
alue; |
533 static const SK_OT_ULONG Latin2EasternEurope_1250Mask = SkTEndia
n_SwapBE32(1 << 1); | 533 static const SK_OT_ULONG Latin2EasternEurope_1250Mask = SkOTSetU
LONGBit<1>::value; |
534 static const SK_OT_ULONG Cyrillic_1251Mask = SkTEndian_SwapBE32(
1 << 2); | 534 static const SK_OT_ULONG Cyrillic_1251Mask = SkOTSetULONGBit<2>:
:value; |
535 static const SK_OT_ULONG Greek_1253Mask = SkTEndian_SwapBE32(1 <
< 3); | 535 static const SK_OT_ULONG Greek_1253Mask = SkOTSetULONGBit<3>::va
lue; |
536 static const SK_OT_ULONG Turkish_1254Mask = SkTEndian_SwapBE32(1
<< 4); | 536 static const SK_OT_ULONG Turkish_1254Mask = SkOTSetULONGBit<4>::
value; |
537 static const SK_OT_ULONG Hebrew_1255Mask = SkTEndian_SwapBE32(1
<< 5); | 537 static const SK_OT_ULONG Hebrew_1255Mask = SkOTSetULONGBit<5>::v
alue; |
538 static const SK_OT_ULONG Arabic_1256Mask = SkTEndian_SwapBE32(1
<< 6); | 538 static const SK_OT_ULONG Arabic_1256Mask = SkOTSetULONGBit<6>::v
alue; |
539 static const SK_OT_ULONG WindowsBaltic_1257Mask = SkTEndian_Swap
BE32(1 << 7); | 539 static const SK_OT_ULONG WindowsBaltic_1257Mask = SkOTSetULONGBi
t<7>::value; |
540 static const SK_OT_ULONG Vietnamese_1258Mask = SkTEndian_SwapBE3
2(1 << 8); | 540 static const SK_OT_ULONG Vietnamese_1258Mask = SkOTSetULONGBit<8
>::value; |
541 static const SK_OT_ULONG Thai_874Mask = SkTEndian_SwapBE32(1 <<
16); | 541 static const SK_OT_ULONG Thai_874Mask = SkOTSetULONGBit<16>::val
ue; |
542 static const SK_OT_ULONG JISJapan_932Mask = SkTEndian_SwapBE32(1
<< 17); | 542 static const SK_OT_ULONG JISJapan_932Mask = SkOTSetULONGBit<17>:
:value; |
543 static const SK_OT_ULONG ChineseSimplified_936Mask = SkTEndian_S
wapBE32(1 << 18); | 543 static const SK_OT_ULONG ChineseSimplified_936Mask = SkOTSetULON
GBit<18>::value; |
544 static const SK_OT_ULONG KoreanWansung_949Mask = SkTEndian_SwapB
E32(1 << 19); | 544 static const SK_OT_ULONG KoreanWansung_949Mask = SkOTSetULONGBit
<19>::value; |
545 static const SK_OT_ULONG ChineseTraditional_950Mask = SkTEndian_
SwapBE32(1 << 20); | 545 static const SK_OT_ULONG ChineseTraditional_950Mask = SkOTSetULO
NGBit<20>::value; |
546 static const SK_OT_ULONG KoreanJohab_1361Mask = SkTEndian_SwapBE
32(1 << 21); | 546 static const SK_OT_ULONG KoreanJohab_1361Mask = SkOTSetULONGBit<
21>::value; |
547 static const SK_OT_ULONG MacintoshCharacterSetMask = SkTEndian_S
wapBE32(1 << 29); | 547 static const SK_OT_ULONG MacintoshCharacterSetMask = SkOTSetULON
GBit<29>::value; |
548 static const SK_OT_ULONG OEMCharacterSetMask = SkTEndian_SwapBE3
2(1 << 30); | 548 static const SK_OT_ULONG OEMCharacterSetMask = SkOTSetULONGBit<3
0>::value; |
549 static const SK_OT_ULONG SymbolCharacterSetMask = SkTEndian_Swap
BE32(1 << 31); | 549 static const SK_OT_ULONG SymbolCharacterSetMask = SkOTSetULONGBi
t<31>::value; |
550 }; | 550 }; |
551 struct l1 { | 551 struct l1 { |
552 static const SK_OT_ULONG IBMGreek_869Mask = SkTEndian_SwapBE32(1
<< (48 - 32)); | 552 static const SK_OT_ULONG IBMGreek_869Mask = SkOTSetULONGBit<48 -
32>::value; |
553 static const SK_OT_ULONG MSDOSRussian_866Mask = SkTEndian_SwapBE
32(1 << (49 - 32)); | 553 static const SK_OT_ULONG MSDOSRussian_866Mask = SkOTSetULONGBit<
49 - 32>::value; |
554 static const SK_OT_ULONG MSDOSNordic_865Mask = SkTEndian_SwapBE3
2(1 << (50 - 32)); | 554 static const SK_OT_ULONG MSDOSNordic_865Mask = SkOTSetULONGBit<5
0 - 32>::value; |
555 static const SK_OT_ULONG Arabic_864Mask = SkTEndian_SwapBE32(1 <
< (51 - 32)); | 555 static const SK_OT_ULONG Arabic_864Mask = SkOTSetULONGBit<51 - 3
2>::value; |
556 static const SK_OT_ULONG MSDOSCanadianFrench_863Mask = SkTEndian
_SwapBE32(1 << (52 - 32)); | 556 static const SK_OT_ULONG MSDOSCanadianFrench_863Mask = SkOTSetUL
ONGBit<52 - 32>::value; |
557 static const SK_OT_ULONG Hebrew_862Mask = SkTEndian_SwapBE32(1 <
< (53 - 32)); | 557 static const SK_OT_ULONG Hebrew_862Mask = SkOTSetULONGBit<53 - 3
2>::value; |
558 static const SK_OT_ULONG MSDOSIcelandic_861Mask = SkTEndian_Swap
BE32(1 << (54 - 32)); | 558 static const SK_OT_ULONG MSDOSIcelandic_861Mask = SkOTSetULONGBi
t<54 - 32>::value; |
559 static const SK_OT_ULONG MSDOSPortuguese_860Mask = SkTEndian_Swa
pBE32(1 << (55 - 32)); | 559 static const SK_OT_ULONG MSDOSPortuguese_860Mask = SkOTSetULONGB
it<55 - 32>::value; |
560 static const SK_OT_ULONG IBMTurkish_857Mask = SkTEndian_SwapBE32
(1 << (56 - 32)); | 560 static const SK_OT_ULONG IBMTurkish_857Mask = SkOTSetULONGBit<56
- 32>::value; |
561 static const SK_OT_ULONG IBMCyrillic_855Mask = SkTEndian_SwapBE3
2(1 << (57 - 32)); | 561 static const SK_OT_ULONG IBMCyrillic_855Mask = SkOTSetULONGBit<5
7 - 32>::value; |
562 static const SK_OT_ULONG Latin2_852Mask = SkTEndian_SwapBE32(1 <
< (58 - 32)); | 562 static const SK_OT_ULONG Latin2_852Mask = SkOTSetULONGBit<58 - 3
2>::value; |
563 static const SK_OT_ULONG MSDOSBaltic_775Mask = SkTEndian_SwapBE3
2(1 << (59 - 32)); | 563 static const SK_OT_ULONG MSDOSBaltic_775Mask = SkOTSetULONGBit<5
9 - 32>::value; |
564 static const SK_OT_ULONG Greek_737Mask = SkTEndian_SwapBE32(1 <<
(60 - 32)); | 564 static const SK_OT_ULONG Greek_737Mask = SkOTSetULONGBit<60 - 32
>::value; |
565 static const SK_OT_ULONG Arabic_708Mask = SkTEndian_SwapBE32(1 <
< (61 - 32)); | 565 static const SK_OT_ULONG Arabic_708Mask = SkOTSetULONGBit<61 - 3
2>::value; |
566 static const SK_OT_ULONG WELatin1_850Mask = SkTEndian_SwapBE32(1
<< (62 - 32)); | 566 static const SK_OT_ULONG WELatin1_850Mask = SkOTSetULONGBit<62 -
32>::value; |
567 static const SK_OT_ULONG US_437Mask = SkTEndian_SwapBE32(1 << (6
3 - 32)); | 567 static const SK_OT_ULONG US_437Mask = SkOTSetULONGBit<63 - 32>::
value; |
568 }; | 568 }; |
569 SK_OT_ULONG value[2]; | 569 SK_OT_ULONG value[2]; |
570 } raw; | 570 } raw; |
571 } ulCodePageRange; | 571 } ulCodePageRange; |
572 //version2 | 572 //version2 |
573 SK_OT_SHORT sxHeight; | 573 SK_OT_SHORT sxHeight; |
574 SK_OT_SHORT sCapHeight; | 574 SK_OT_SHORT sCapHeight; |
575 SK_OT_USHORT usDefaultChar; | 575 SK_OT_USHORT usDefaultChar; |
576 SK_OT_USHORT usBreakChar; | 576 SK_OT_USHORT usBreakChar; |
577 SK_OT_USHORT usMaxContext; | 577 SK_OT_USHORT usMaxContext; |
578 }; | 578 }; |
579 | 579 |
580 #pragma pack(pop) | 580 #pragma pack(pop) |
581 | 581 |
582 | 582 |
583 SK_COMPILE_ASSERT(sizeof(SkOTTableOS2_V4) == 96, sizeof_SkOTTableOS2_V4_not_96); | 583 SK_COMPILE_ASSERT(sizeof(SkOTTableOS2_V4) == 96, sizeof_SkOTTableOS2_V4_not_96); |
584 | 584 |
585 #endif | 585 #endif |
OLD | NEW |