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_V1_DEFINED | 8 #ifndef SkOTTable_OS_2_V1_DEFINED |
9 #define SkOTTable_OS_2_V1_DEFINED | 9 #define SkOTTable_OS_2_V1_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 SK_OT_USHORT value; | 81 SK_OT_USHORT value; |
82 } raw; | 82 } raw; |
83 } fsType; | 83 } fsType; |
84 SK_OT_SHORT ySubscriptXSize; | 84 SK_OT_SHORT ySubscriptXSize; |
85 SK_OT_SHORT ySubscriptYSize; | 85 SK_OT_SHORT ySubscriptYSize; |
86 SK_OT_SHORT ySubscriptXOffset; | 86 SK_OT_SHORT ySubscriptXOffset; |
87 SK_OT_SHORT ySubscriptYOffset; | 87 SK_OT_SHORT ySubscriptYOffset; |
88 SK_OT_SHORT ySuperscriptXSize; | 88 SK_OT_SHORT ySuperscriptXSize; |
89 SK_OT_SHORT ySuperscriptYSize; | 89 SK_OT_SHORT ySuperscriptYSize; |
90 SK_OT_SHORT ySuperscriptXOffset; | 90 SK_OT_SHORT ySuperscriptXOffset; |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 Reserved097, | 254 Reserved097, |
255 Reserved098, | 255 Reserved098, |
256 Reserved099, | 256 Reserved099, |
257 Reserved100, | 257 Reserved100, |
258 Reserved101, | 258 Reserved101, |
259 Reserved102, | 259 Reserved102, |
260 Reserved103) | 260 Reserved103) |
261 } field; | 261 } field; |
262 struct Raw { | 262 struct Raw { |
263 struct l0 { | 263 struct l0 { |
264 static const SK_OT_ULONG BasicLatinMask = SkTEndian_SwapBE32(1 <
< 0); | 264 static const SK_OT_ULONG BasicLatinMask = SkOTSetULONGBit<0>::va
lue; |
265 static const SK_OT_ULONG Latin1SupplementMask = SkTEndian_SwapBE
32(1 << 1); | 265 static const SK_OT_ULONG Latin1SupplementMask = SkOTSetULONGBit<
1>::value; |
266 static const SK_OT_ULONG LatinExtendedAMask = SkTEndian_SwapBE32
(1 << 2); | 266 static const SK_OT_ULONG LatinExtendedAMask = SkOTSetULONGBit<2>
::value; |
267 static const SK_OT_ULONG LatinExtendedBMask = SkTEndian_SwapBE32
(1 << 3); | 267 static const SK_OT_ULONG LatinExtendedBMask = SkOTSetULONGBit<3>
::value; |
268 static const SK_OT_ULONG IPAExtensionsMask = SkTEndian_SwapBE32(
1 << 4); | 268 static const SK_OT_ULONG IPAExtensionsMask = SkOTSetULONGBit<4>:
:value; |
269 static const SK_OT_ULONG SpacingModifierLettersMask = SkTEndian_
SwapBE32(1 << 5); | 269 static const SK_OT_ULONG SpacingModifierLettersMask = SkOTSetULO
NGBit<5>::value; |
270 static const SK_OT_ULONG CombiningDiacriticalMarksMask = SkTEndi
an_SwapBE32(1 << 6); | 270 static const SK_OT_ULONG CombiningDiacriticalMarksMask = SkOTSet
ULONGBit<6>::value; |
271 static const SK_OT_ULONG BasicGreekMask = SkTEndian_SwapBE32(1 <
< 7); | 271 static const SK_OT_ULONG BasicGreekMask = SkOTSetULONGBit<7>::va
lue; |
272 static const SK_OT_ULONG GreekSymbolsAndCCopticMask = SkTEndian_
SwapBE32(1 << 8); | 272 static const SK_OT_ULONG GreekSymbolsAndCCopticMask = SkOTSetULO
NGBit<8>::value; |
273 static const SK_OT_ULONG CyrillicMask = SkTEndian_SwapBE32(1 <<
9); | 273 static const SK_OT_ULONG CyrillicMask = SkOTSetULONGBit<9>::valu
e; |
274 static const SK_OT_ULONG ArmenianMask = SkTEndian_SwapBE32(1 <<
10); | 274 static const SK_OT_ULONG ArmenianMask = SkOTSetULONGBit<10>::val
ue; |
275 static const SK_OT_ULONG BasicHebrewMask = SkTEndian_SwapBE32(1
<< 11); | 275 static const SK_OT_ULONG BasicHebrewMask = SkOTSetULONGBit<11>::
value; |
276 static const SK_OT_ULONG HebrewExtendedABMask = SkTEndian_SwapBE
32(1 << 12); | 276 static const SK_OT_ULONG HebrewExtendedABMask = SkOTSetULONGBit<
12>::value; |
277 static const SK_OT_ULONG BasicArabicMask = SkTEndian_SwapBE32(1
<< 13); | 277 static const SK_OT_ULONG BasicArabicMask = SkOTSetULONGBit<13>::
value; |
278 static const SK_OT_ULONG ArabicExtendedMask = SkTEndian_SwapBE32
(1 << 14); | 278 static const SK_OT_ULONG ArabicExtendedMask = SkOTSetULONGBit<14
>::value; |
279 static const SK_OT_ULONG DevanagariMask = SkTEndian_SwapBE32(1 <
< 15); | 279 static const SK_OT_ULONG DevanagariMask = SkOTSetULONGBit<15>::v
alue; |
280 static const SK_OT_ULONG BengaliMask = SkTEndian_SwapBE32(1 << 1
6); | 280 static const SK_OT_ULONG BengaliMask = SkOTSetULONGBit<16>::valu
e; |
281 static const SK_OT_ULONG GurmukhiMask = SkTEndian_SwapBE32(1 <<
17); | 281 static const SK_OT_ULONG GurmukhiMask = SkOTSetULONGBit<17>::val
ue; |
282 static const SK_OT_ULONG GujaratiMask = SkTEndian_SwapBE32(1 <<
18); | 282 static const SK_OT_ULONG GujaratiMask = SkOTSetULONGBit<18>::val
ue; |
283 static const SK_OT_ULONG OriyaMask = SkTEndian_SwapBE32(1 << 19)
; | 283 static const SK_OT_ULONG OriyaMask = SkOTSetULONGBit<19>::value; |
284 static const SK_OT_ULONG TamilMask = SkTEndian_SwapBE32(1 << 20)
; | 284 static const SK_OT_ULONG TamilMask = SkOTSetULONGBit<20>::value; |
285 static const SK_OT_ULONG TeluguMask = SkTEndian_SwapBE32(1 << 21
); | 285 static const SK_OT_ULONG TeluguMask = SkOTSetULONGBit<21>::value
; |
286 static const SK_OT_ULONG KannadaMask = SkTEndian_SwapBE32(1 << 2
2); | 286 static const SK_OT_ULONG KannadaMask = SkOTSetULONGBit<22>::valu
e; |
287 static const SK_OT_ULONG MalayalamMask = SkTEndian_SwapBE32(1 <<
23); | 287 static const SK_OT_ULONG MalayalamMask = SkOTSetULONGBit<23>::va
lue; |
288 static const SK_OT_ULONG ThaiMask = SkTEndian_SwapBE32(1 << 24); | 288 static const SK_OT_ULONG ThaiMask = SkOTSetULONGBit<24>::value; |
289 static const SK_OT_ULONG LaoMask = SkTEndian_SwapBE32(1 << 25); | 289 static const SK_OT_ULONG LaoMask = SkOTSetULONGBit<25>::value; |
290 static const SK_OT_ULONG BasicGeorgianMask = SkTEndian_SwapBE32(
1 << 26); | 290 static const SK_OT_ULONG BasicGeorgianMask = SkOTSetULONGBit<26>
::value; |
291 static const SK_OT_ULONG GeorgianExtendedMask = SkTEndian_SwapBE
32(1 << 27); | 291 static const SK_OT_ULONG GeorgianExtendedMask = SkOTSetULONGBit<
27>::value; |
292 static const SK_OT_ULONG HangulJamoMask = SkTEndian_SwapBE32(1 <
< 28); | 292 static const SK_OT_ULONG HangulJamoMask = SkOTSetULONGBit<28>::v
alue; |
293 static const SK_OT_ULONG LatinExtendedAdditionalMask = SkTEndian
_SwapBE32(1 << 29); | 293 static const SK_OT_ULONG LatinExtendedAdditionalMask = SkOTSetUL
ONGBit<29>::value; |
294 static const SK_OT_ULONG GreekExtendedMask = SkTEndian_SwapBE32(
1 << 30); | 294 static const SK_OT_ULONG GreekExtendedMask = SkOTSetULONGBit<30>
::value; |
295 static const SK_OT_ULONG GeneralPunctuationMask = SkTEndian_Swap
BE32(1 << 31); | 295 static const SK_OT_ULONG GeneralPunctuationMask = SkOTSetULONGBi
t<31>::value; |
296 }; | 296 }; |
297 struct l1 { | 297 struct l1 { |
298 static const SK_OT_ULONG SuperscriptsAndSubscriptsMask = SkTEndi
an_SwapBE32(1 << (32 - 32)); | 298 static const SK_OT_ULONG SuperscriptsAndSubscriptsMask = SkOTSet
ULONGBit<32 - 32>::value; |
299 static const SK_OT_ULONG CurrencySymbolsMask = SkTEndian_SwapBE3
2(1 << (33 - 32)); | 299 static const SK_OT_ULONG CurrencySymbolsMask = SkOTSetULONGBit<3
3 - 32>::value; |
300 static const SK_OT_ULONG CombiningDiacriticalMarksForSymbolsMask
= SkTEndian_SwapBE32(1 << (34 - 32)); | 300 static const SK_OT_ULONG CombiningDiacriticalMarksForSymbolsMask
= SkOTSetULONGBit<34 - 32>::value; |
301 static const SK_OT_ULONG LetterlikeSymbolsMask = SkTEndian_SwapB
E32(1 << (35 - 32)); | 301 static const SK_OT_ULONG LetterlikeSymbolsMask = SkOTSetULONGBit
<35 - 32>::value; |
302 static const SK_OT_ULONG NumberFormsMask = SkTEndian_SwapBE32(1
<< (36 - 32)); | 302 static const SK_OT_ULONG NumberFormsMask = SkOTSetULONGBit<36 -
32>::value; |
303 static const SK_OT_ULONG ArrowsMask = SkTEndian_SwapBE32(1 << (3
7 - 32)); | 303 static const SK_OT_ULONG ArrowsMask = SkOTSetULONGBit<37 - 32>::
value; |
304 static const SK_OT_ULONG MathematicalOperatorsMask = SkTEndian_S
wapBE32(1 << (38 - 32)); | 304 static const SK_OT_ULONG MathematicalOperatorsMask = SkOTSetULON
GBit<38 - 32>::value; |
305 static const SK_OT_ULONG MiscellaneousTechnicalMask = SkTEndian_
SwapBE32(1 << (39 - 32)); | 305 static const SK_OT_ULONG MiscellaneousTechnicalMask = SkOTSetULO
NGBit<39 - 32>::value; |
306 static const SK_OT_ULONG ControlPicturesMask = SkTEndian_SwapBE3
2(1 << (40 - 32)); | 306 static const SK_OT_ULONG ControlPicturesMask = SkOTSetULONGBit<4
0 - 32>::value; |
307 static const SK_OT_ULONG OpticalCharacterRecognitionMask = SkTEn
dian_SwapBE32(1 << (41 - 32)); | 307 static const SK_OT_ULONG OpticalCharacterRecognitionMask = SkOTS
etULONGBit<41 - 32>::value; |
308 static const SK_OT_ULONG EnclosedAlphanumericsMask = SkTEndian_S
wapBE32(1 << (42 - 32)); | 308 static const SK_OT_ULONG EnclosedAlphanumericsMask = SkOTSetULON
GBit<42 - 32>::value; |
309 static const SK_OT_ULONG BoxDrawingMask = SkTEndian_SwapBE32(1 <
< (43 - 32)); | 309 static const SK_OT_ULONG BoxDrawingMask = SkOTSetULONGBit<43 - 3
2>::value; |
310 static const SK_OT_ULONG BlockElementsMask = SkTEndian_SwapBE32(
1 << (44 - 32)); | 310 static const SK_OT_ULONG BlockElementsMask = SkOTSetULONGBit<44
- 32>::value; |
311 static const SK_OT_ULONG GeometricShapesMask = SkTEndian_SwapBE3
2(1 << (45 - 32)); | 311 static const SK_OT_ULONG GeometricShapesMask = SkOTSetULONGBit<4
5 - 32>::value; |
312 static const SK_OT_ULONG MiscellaneousSymbolsMask = SkTEndian_Sw
apBE32(1 << (46 - 32)); | 312 static const SK_OT_ULONG MiscellaneousSymbolsMask = SkOTSetULONG
Bit<46 - 32>::value; |
313 static const SK_OT_ULONG DingbatsMask = SkTEndian_SwapBE32(1 <<
(47 - 32)); | 313 static const SK_OT_ULONG DingbatsMask = SkOTSetULONGBit<47 - 32>
::value; |
314 static const SK_OT_ULONG CJKSymbolsAndPunctuationMask = SkTEndia
n_SwapBE32(1 << (48 - 32)); | 314 static const SK_OT_ULONG CJKSymbolsAndPunctuationMask = SkOTSetU
LONGBit<48 - 32>::value; |
315 static const SK_OT_ULONG HiraganaMask = SkTEndian_SwapBE32(1 <<
(49 - 32)); | 315 static const SK_OT_ULONG HiraganaMask = SkOTSetULONGBit<49 - 32>
::value; |
316 static const SK_OT_ULONG KatakanaMask = SkTEndian_SwapBE32(1 <<
(50 - 32)); | 316 static const SK_OT_ULONG KatakanaMask = SkOTSetULONGBit<50 - 32>
::value; |
317 static const SK_OT_ULONG BopomofoMask = SkTEndian_SwapBE32(1 <<
(51 - 32)); | 317 static const SK_OT_ULONG BopomofoMask = SkOTSetULONGBit<51 - 32>
::value; |
318 static const SK_OT_ULONG HangulCompatibilityJamoMask = SkTEndian
_SwapBE32(1 << (52 - 32)); | 318 static const SK_OT_ULONG HangulCompatibilityJamoMask = SkOTSetUL
ONGBit<52 - 32>::value; |
319 static const SK_OT_ULONG CJKMiscellaneousMask = SkTEndian_SwapBE
32(1 << (53 - 32)); | 319 static const SK_OT_ULONG CJKMiscellaneousMask = SkOTSetULONGBit<
53 - 32>::value; |
320 static const SK_OT_ULONG EnclosedCJKLettersAndMonthsMask = SkTEn
dian_SwapBE32(1 << (54 - 32)); | 320 static const SK_OT_ULONG EnclosedCJKLettersAndMonthsMask = SkOTS
etULONGBit<54 - 32>::value; |
321 static const SK_OT_ULONG CJKCompatibilityMask = SkTEndian_SwapBE
32(1 << (55 - 32)); | 321 static const SK_OT_ULONG CJKCompatibilityMask = SkOTSetULONGBit<
55 - 32>::value; |
322 static const SK_OT_ULONG HangulMask = SkTEndian_SwapBE32(1 << (5
6 - 32)); | 322 static const SK_OT_ULONG HangulMask = SkOTSetULONGBit<56 - 32>::
value; |
323 //Reserved | 323 //Reserved |
324 //Reserved | 324 //Reserved |
325 static const SK_OT_ULONG CJKUnifiedIdeographsMask = SkTEndian_Sw
apBE32(1 << (59 - 32)); | 325 static const SK_OT_ULONG CJKUnifiedIdeographsMask = SkOTSetULONG
Bit<59 - 32>::value; |
326 static const SK_OT_ULONG PrivateUseAreaMask = SkTEndian_SwapBE32
(1 << (60 - 32)); | 326 static const SK_OT_ULONG PrivateUseAreaMask = SkOTSetULONGBit<60
- 32>::value; |
327 static const SK_OT_ULONG CJKCompatibilityIdeographsMask = SkTEnd
ian_SwapBE32(1 << (61 - 32)); | 327 static const SK_OT_ULONG CJKCompatibilityIdeographsMask = SkOTSe
tULONGBit<61 - 32>::value; |
328 static const SK_OT_ULONG AlphabeticPresentationFormsMask = SkTEn
dian_SwapBE32(1 << (62 - 32)); | 328 static const SK_OT_ULONG AlphabeticPresentationFormsMask = SkOTS
etULONGBit<62 - 32>::value; |
329 static const SK_OT_ULONG ArabicPresentationFormsAMask = SkTEndia
n_SwapBE32(1 << (63 - 32)); | 329 static const SK_OT_ULONG ArabicPresentationFormsAMask = SkOTSetU
LONGBit<63 - 32>::value; |
330 }; | 330 }; |
331 struct l2 { | 331 struct l2 { |
332 static const SK_OT_ULONG CombiningHalfMarksMask = SkTEndian_Swap
BE32(1 << (64 - 64)); | 332 static const SK_OT_ULONG CombiningHalfMarksMask = SkOTSetULONGBi
t<64 - 64>::value; |
333 static const SK_OT_ULONG CJKCompatibilityFormsMask = SkTEndian_S
wapBE32(1 << (65 - 64)); | 333 static const SK_OT_ULONG CJKCompatibilityFormsMask = SkOTSetULON
GBit<65 - 64>::value; |
334 static const SK_OT_ULONG SmallFormVariantsMask = SkTEndian_SwapB
E32(1 << (66 - 64)); | 334 static const SK_OT_ULONG SmallFormVariantsMask = SkOTSetULONGBit
<66 - 64>::value; |
335 static const SK_OT_ULONG ArabicPresentationFormsBMask = SkTEndia
n_SwapBE32(1 << (67 - 64)); | 335 static const SK_OT_ULONG ArabicPresentationFormsBMask = SkOTSetU
LONGBit<67 - 64>::value; |
336 static const SK_OT_ULONG HalfwidthAndFullwidthFormsMask = SkTEnd
ian_SwapBE32(1 << (68 - 64)); | 336 static const SK_OT_ULONG HalfwidthAndFullwidthFormsMask = SkOTSe
tULONGBit<68 - 64>::value; |
337 static const SK_OT_ULONG SpecialsMask = SkTEndian_SwapBE32(1 <<
(69 - 64)); | 337 static const SK_OT_ULONG SpecialsMask = SkOTSetULONGBit<69 - 64>
::value; |
338 }; | 338 }; |
339 SK_OT_ULONG value[4]; | 339 SK_OT_ULONG value[4]; |
340 } raw; | 340 } raw; |
341 } ulUnicodeRange; | 341 } ulUnicodeRange; |
342 SK_OT_CHAR achVendID[4]; | 342 SK_OT_CHAR achVendID[4]; |
343 union Selection { | 343 union Selection { |
344 struct Field { | 344 struct Field { |
345 //8-15 | 345 //8-15 |
346 SK_OT_BYTE_BITFIELD( | 346 SK_OT_BYTE_BITFIELD( |
347 Reserved08, | 347 Reserved08, |
348 Reserved09, | 348 Reserved09, |
349 Reserved10, | 349 Reserved10, |
350 Reserved11, | 350 Reserved11, |
351 Reserved12, | 351 Reserved12, |
352 Reserved13, | 352 Reserved13, |
353 Reserved14, | 353 Reserved14, |
354 Reserved15) | 354 Reserved15) |
355 //0-7 | 355 //0-7 |
356 SK_OT_BYTE_BITFIELD( | 356 SK_OT_BYTE_BITFIELD( |
357 Italic, | 357 Italic, |
358 Underscore, | 358 Underscore, |
359 Negative, | 359 Negative, |
360 Outlined, | 360 Outlined, |
361 Strikeout, | 361 Strikeout, |
362 Bold, | 362 Bold, |
363 Regular, | 363 Regular, |
364 Reserved07) | 364 Reserved07) |
365 } field; | 365 } field; |
366 struct Raw { | 366 struct Raw { |
367 static const SK_OT_USHORT ItalicMask = SkTEndian_SwapBE16(1 << 0); | 367 static const SK_OT_USHORT ItalicMask = SkOTSetUSHORTBit<0>::value; |
368 static const SK_OT_USHORT UnderscoreMask = SkTEndian_SwapBE16(1 << 1
); | 368 static const SK_OT_USHORT UnderscoreMask = SkOTSetUSHORTBit<1>::valu
e; |
369 static const SK_OT_USHORT NegativeMask = SkTEndian_SwapBE16(1 << 2); | 369 static const SK_OT_USHORT NegativeMask = SkOTSetUSHORTBit<2>::value; |
370 static const SK_OT_USHORT OutlinedMask = SkTEndian_SwapBE16(1 << 3); | 370 static const SK_OT_USHORT OutlinedMask = SkOTSetUSHORTBit<3>::value; |
371 static const SK_OT_USHORT StrikeoutMask = SkTEndian_SwapBE16(1 << 4)
; | 371 static const SK_OT_USHORT StrikeoutMask = SkOTSetUSHORTBit<4>::value
; |
372 static const SK_OT_USHORT BoldMask = SkTEndian_SwapBE16(1 << 5); | 372 static const SK_OT_USHORT BoldMask = SkOTSetUSHORTBit<5>::value; |
373 static const SK_OT_USHORT RegularMask = SkTEndian_SwapBE16(1 << 6); | 373 static const SK_OT_USHORT RegularMask = SkOTSetUSHORTBit<6>::value; |
374 SK_OT_USHORT value; | 374 SK_OT_USHORT value; |
375 } raw; | 375 } raw; |
376 } fsSelection; | 376 } fsSelection; |
377 SK_OT_USHORT usFirstCharIndex; | 377 SK_OT_USHORT usFirstCharIndex; |
378 SK_OT_USHORT usLastCharIndex; | 378 SK_OT_USHORT usLastCharIndex; |
379 //version0 | 379 //version0 |
380 SK_OT_SHORT sTypoAscender; | 380 SK_OT_SHORT sTypoAscender; |
381 SK_OT_SHORT sTypoDescender; | 381 SK_OT_SHORT sTypoDescender; |
382 SK_OT_SHORT sTypoLineGap; | 382 SK_OT_SHORT sTypoLineGap; |
383 SK_OT_USHORT usWinAscent; | 383 SK_OT_USHORT usWinAscent; |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
462 Reserved33, | 462 Reserved33, |
463 Reserved34, | 463 Reserved34, |
464 Reserved35, | 464 Reserved35, |
465 Reserved36, | 465 Reserved36, |
466 Reserved37, | 466 Reserved37, |
467 Reserved38, | 467 Reserved38, |
468 Reserved39) | 468 Reserved39) |
469 } field; | 469 } field; |
470 struct Raw { | 470 struct Raw { |
471 struct l0 { | 471 struct l0 { |
472 static const SK_OT_ULONG Latin1_1252Mask = SkTEndian_SwapBE32(1
<< 0); | 472 static const SK_OT_ULONG Latin1_1252Mask = SkOTSetULONGBit<0>::v
alue; |
473 static const SK_OT_ULONG Latin2EasternEurope_1250Mask = SkTEndia
n_SwapBE32(1 << 1); | 473 static const SK_OT_ULONG Latin2EasternEurope_1250Mask = SkOTSetU
LONGBit<1>::value; |
474 static const SK_OT_ULONG Cyrillic_1251Mask = SkTEndian_SwapBE32(
1 << 2); | 474 static const SK_OT_ULONG Cyrillic_1251Mask = SkOTSetULONGBit<2>:
:value; |
475 static const SK_OT_ULONG Greek_1253Mask = SkTEndian_SwapBE32(1 <
< 3); | 475 static const SK_OT_ULONG Greek_1253Mask = SkOTSetULONGBit<3>::va
lue; |
476 static const SK_OT_ULONG Turkish_1254Mask = SkTEndian_SwapBE32(1
<< 4); | 476 static const SK_OT_ULONG Turkish_1254Mask = SkOTSetULONGBit<4>::
value; |
477 static const SK_OT_ULONG Hebrew_1255Mask = SkTEndian_SwapBE32(1
<< 5); | 477 static const SK_OT_ULONG Hebrew_1255Mask = SkOTSetULONGBit<5>::v
alue; |
478 static const SK_OT_ULONG Arabic_1256Mask = SkTEndian_SwapBE32(1
<< 6); | 478 static const SK_OT_ULONG Arabic_1256Mask = SkOTSetULONGBit<6>::v
alue; |
479 static const SK_OT_ULONG WindowsBaltic_1257Mask = SkTEndian_Swap
BE32(1 << 7); | 479 static const SK_OT_ULONG WindowsBaltic_1257Mask = SkOTSetULONGBi
t<7>::value; |
480 static const SK_OT_ULONG Thai_874Mask = SkTEndian_SwapBE32(1 <<
16); | 480 static const SK_OT_ULONG Thai_874Mask = SkOTSetULONGBit<16>::val
ue; |
481 static const SK_OT_ULONG JISJapan_932Mask = SkTEndian_SwapBE32(1
<< 17); | 481 static const SK_OT_ULONG JISJapan_932Mask = SkOTSetULONGBit<17>:
:value; |
482 static const SK_OT_ULONG ChineseSimplified_936Mask = SkTEndian_S
wapBE32(1 << 18); | 482 static const SK_OT_ULONG ChineseSimplified_936Mask = SkOTSetULON
GBit<18>::value; |
483 static const SK_OT_ULONG KoreanWansung_949Mask = SkTEndian_SwapB
E32(1 << 19); | 483 static const SK_OT_ULONG KoreanWansung_949Mask = SkOTSetULONGBit
<19>::value; |
484 static const SK_OT_ULONG ChineseTraditional_950Mask = SkTEndian_
SwapBE32(1 << 20); | 484 static const SK_OT_ULONG ChineseTraditional_950Mask = SkOTSetULO
NGBit<20>::value; |
485 static const SK_OT_ULONG KoreanJohab_1361Mask = SkTEndian_SwapBE
32(1 << 21); | 485 static const SK_OT_ULONG KoreanJohab_1361Mask = SkOTSetULONGBit<
21>::value; |
486 static const SK_OT_ULONG MacintoshCharacterSetMask = SkTEndian_S
wapBE32(1 << 29); | 486 static const SK_OT_ULONG MacintoshCharacterSetMask = SkOTSetULON
GBit<29>::value; |
487 static const SK_OT_ULONG OEMCharacterSetMask = SkTEndian_SwapBE3
2(1 << 30); | 487 static const SK_OT_ULONG OEMCharacterSetMask = SkOTSetULONGBit<3
0>::value; |
488 static const SK_OT_ULONG SymbolCharacterSetMask = SkTEndian_Swap
BE32(1 << 31); | 488 static const SK_OT_ULONG SymbolCharacterSetMask = SkOTSetULONGBi
t<31>::value; |
489 }; | 489 }; |
490 struct l1 { | 490 struct l1 { |
491 static const SK_OT_ULONG IBMGreek_869Mask = SkTEndian_SwapBE32(1
<< (48 - 32)); | 491 static const SK_OT_ULONG IBMGreek_869Mask = SkOTSetULONGBit<48 -
32>::value; |
492 static const SK_OT_ULONG MSDOSRussian_866Mask = SkTEndian_SwapBE
32(1 << (49 - 32)); | 492 static const SK_OT_ULONG MSDOSRussian_866Mask = SkOTSetULONGBit<
49 - 32>::value; |
493 static const SK_OT_ULONG MSDOSNordic_865Mask = SkTEndian_SwapBE3
2(1 << (50 - 32)); | 493 static const SK_OT_ULONG MSDOSNordic_865Mask = SkOTSetULONGBit<5
0 - 32>::value; |
494 static const SK_OT_ULONG Arabic_864Mask = SkTEndian_SwapBE32(1 <
< (51 - 32)); | 494 static const SK_OT_ULONG Arabic_864Mask = SkOTSetULONGBit<51 - 3
2>::value; |
495 static const SK_OT_ULONG MSDOSCanadianFrench_863Mask = SkTEndian
_SwapBE32(1 << (52 - 32)); | 495 static const SK_OT_ULONG MSDOSCanadianFrench_863Mask = SkOTSetUL
ONGBit<52 - 32>::value; |
496 static const SK_OT_ULONG Hebrew_862Mask = SkTEndian_SwapBE32(1 <
< (53 - 32)); | 496 static const SK_OT_ULONG Hebrew_862Mask = SkOTSetULONGBit<53 - 3
2>::value; |
497 static const SK_OT_ULONG MSDOSIcelandic_861Mask = SkTEndian_Swap
BE32(1 << (54 - 32)); | 497 static const SK_OT_ULONG MSDOSIcelandic_861Mask = SkOTSetULONGBi
t<54 - 32>::value; |
498 static const SK_OT_ULONG MSDOSPortuguese_860Mask = SkTEndian_Swa
pBE32(1 << (55 - 32)); | 498 static const SK_OT_ULONG MSDOSPortuguese_860Mask = SkOTSetULONGB
it<55 - 32>::value; |
499 static const SK_OT_ULONG IBMTurkish_857Mask = SkTEndian_SwapBE32
(1 << (56 - 32)); | 499 static const SK_OT_ULONG IBMTurkish_857Mask = SkOTSetULONGBit<56
- 32>::value; |
500 static const SK_OT_ULONG IBMCyrillic_855Mask = SkTEndian_SwapBE3
2(1 << (57 - 32)); | 500 static const SK_OT_ULONG IBMCyrillic_855Mask = SkOTSetULONGBit<5
7 - 32>::value; |
501 static const SK_OT_ULONG Latin2_852Mask = SkTEndian_SwapBE32(1 <
< (58 - 32)); | 501 static const SK_OT_ULONG Latin2_852Mask = SkOTSetULONGBit<58 - 3
2>::value; |
502 static const SK_OT_ULONG MSDOSBaltic_775Mask = SkTEndian_SwapBE3
2(1 << (59 - 32)); | 502 static const SK_OT_ULONG MSDOSBaltic_775Mask = SkOTSetULONGBit<5
9 - 32>::value; |
503 static const SK_OT_ULONG Greek_737Mask = SkTEndian_SwapBE32(1 <<
(60 - 32)); | 503 static const SK_OT_ULONG Greek_737Mask = SkOTSetULONGBit<60 - 32
>::value; |
504 static const SK_OT_ULONG Arabic_708Mask = SkTEndian_SwapBE32(1 <
< (61 - 32)); | 504 static const SK_OT_ULONG Arabic_708Mask = SkOTSetULONGBit<61 - 3
2>::value; |
505 static const SK_OT_ULONG WELatin1_850Mask = SkTEndian_SwapBE32(1
<< (62 - 32)); | 505 static const SK_OT_ULONG WELatin1_850Mask = SkOTSetULONGBit<62 -
32>::value; |
506 static const SK_OT_ULONG US_437Mask = SkTEndian_SwapBE32(1 << (6
3 - 32)); | 506 static const SK_OT_ULONG US_437Mask = SkOTSetULONGBit<63 - 32>::
value; |
507 }; | 507 }; |
508 SK_OT_ULONG value[2]; | 508 SK_OT_ULONG value[2]; |
509 } raw; | 509 } raw; |
510 } ulCodePageRange; | 510 } ulCodePageRange; |
511 }; | 511 }; |
512 | 512 |
513 #pragma pack(pop) | 513 #pragma pack(pop) |
514 | 514 |
515 | 515 |
516 SK_COMPILE_ASSERT(sizeof(SkOTTableOS2_V1) == 86, sizeof_SkOTTableOS2_V1_not_86); | 516 SK_COMPILE_ASSERT(sizeof(SkOTTableOS2_V1) == 86, sizeof_SkOTTableOS2_V1_not_86); |
517 | 517 |
518 #endif | 518 #endif |
OLD | NEW |