gfx/skia/trunk/src/sfnt/SkOTTable_OS_2_V1.h

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     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  */
     8 #ifndef SkOTTable_OS_2_V1_DEFINED
     9 #define SkOTTable_OS_2_V1_DEFINED
    11 #include "SkEndian.h"
    12 #include "SkIBMFamilyClass.h"
    13 #include "SkOTTableTypes.h"
    14 #include "SkPanose.h"
    15 #include "SkTypedEnum.h"
    17 #pragma pack(push, 1)
    19 struct SkOTTableOS2_V1 {
    20     SK_OT_USHORT version;
    21     static const SK_OT_USHORT VERSION = SkTEndian_SwapBE16(1);
    23     SK_OT_SHORT xAvgCharWidth;
    24     struct WeightClass {
    25         SK_TYPED_ENUM(Value, SK_OT_USHORT,
    26             ((Thin, SkTEndian_SwapBE16(100)))
    27             ((ExtraLight, SkTEndian_SwapBE16(200)))
    28             ((Light, SkTEndian_SwapBE16(300)))
    29             ((Normal, SkTEndian_SwapBE16(400)))
    30             ((Medium, SkTEndian_SwapBE16(500)))
    31             ((SemiBold, SkTEndian_SwapBE16(600)))
    32             ((Bold, SkTEndian_SwapBE16(700)))
    33             ((ExtraBold, SkTEndian_SwapBE16(800)))
    34             ((Black, SkTEndian_SwapBE16(900)))
    35             SK_SEQ_END,
    36         SK_SEQ_END)
    37         SK_OT_USHORT value;
    38     } usWeightClass;
    39     struct WidthClass {
    40         SK_TYPED_ENUM(Value, SK_OT_USHORT,
    41             ((UltraCondensed, SkTEndian_SwapBE16(1)))
    42             ((ExtraCondensed, SkTEndian_SwapBE16(2)))
    43             ((Condensed, SkTEndian_SwapBE16(3)))
    44             ((SemiCondensed, SkTEndian_SwapBE16(4)))
    45             ((Medium, SkTEndian_SwapBE16(5)))
    46             ((SemiExpanded, SkTEndian_SwapBE16(6)))
    47             ((Expanded, SkTEndian_SwapBE16(7)))
    48             ((ExtraExpanded, SkTEndian_SwapBE16(8)))
    49             ((UltraExpanded, SkTEndian_SwapBE16(9)))
    50             SK_SEQ_END,
    51         (value)SK_SEQ_END)
    52     } usWidthClass;
    53     union Type {
    54         struct Field {
    55             //8-15
    56             SK_OT_BYTE_BITFIELD(
    57                 Reserved08,
    58                 Reserved09,
    59                 Reserved10,
    60                 Reserved11,
    61                 Reserved12,
    62                 Reserved13,
    63                 Reserved14,
    64                 Reserved15)
    65             //0-7
    66             SK_OT_BYTE_BITFIELD(
    67                 Reserved00,
    68                 Restricted,
    69                 PreviewPrint,
    70                 Editable,
    71                 Reserved04,
    72                 Reserved05,
    73                 Reserved06,
    74                 Reserved07)
    75         } field;
    76         struct Raw {
    77             static const SK_OT_USHORT Installable = 0;
    78             static const SK_OT_USHORT RestrictedMask = SkOTSetUSHORTBit<1>::value;
    79             static const SK_OT_USHORT PreviewPrintMask = SkOTSetUSHORTBit<2>::value;
    80             static const SK_OT_USHORT EditableMask = SkOTSetUSHORTBit<3>::value;
    81             SK_OT_USHORT value;
    82         } raw;
    83     } fsType;
    84     SK_OT_SHORT ySubscriptXSize;
    85     SK_OT_SHORT ySubscriptYSize;
    86     SK_OT_SHORT ySubscriptXOffset;
    87     SK_OT_SHORT ySubscriptYOffset;
    88     SK_OT_SHORT ySuperscriptXSize;
    89     SK_OT_SHORT ySuperscriptYSize;
    90     SK_OT_SHORT ySuperscriptXOffset;
    91     SK_OT_SHORT ySuperscriptYOffset;
    92     SK_OT_SHORT yStrikeoutSize;
    93     SK_OT_SHORT yStrikeoutPosition;
    94     SkIBMFamilyClass sFamilyClass;
    95     SkPanose panose;
    96     union UnicodeRange {
    97         struct Field {
    98             //l0 24-31
    99             SK_OT_BYTE_BITFIELD(
   100                 Thai,
   101                 Lao,
   102                 BasicGeorgian,
   103                 GeorgianExtended,
   104                 HangulJamo,
   105                 LatinExtendedAdditional,
   106                 GreekExtended,
   107                 GeneralPunctuation)
   108             //l0 16-23
   109             SK_OT_BYTE_BITFIELD(
   110                 Bengali,
   111                 Gurmukhi,
   112                 Gujarati,
   113                 Oriya,
   114                 Tamil,
   115                 Telugu,
   116                 Kannada,
   117                 Malayalam)
   118             //l0 8-15
   119             SK_OT_BYTE_BITFIELD(
   120                 GreekSymbolsAndCoptic,
   121                 Cyrillic,
   122                 Armenian,
   123                 BasicHebrew,
   124                 HebrewExtendedAB,
   125                 BasicArabic,
   126                 ArabicExtended,
   127                 Devanagari)
   128             //l0 0-7
   129             SK_OT_BYTE_BITFIELD(
   130                 BasicLatin,
   131                 Latin1Supplement,
   132                 LatinExtendedA,
   133                 LatinExtendedB,
   134                 IPAExtensions,
   135                 SpacingModifierLetters,
   136                 CombiningDiacriticalMarks,
   137                 BasicGreek)
   139             //l1 24-31
   140             SK_OT_BYTE_BITFIELD(
   141                 Hangul,
   142                 Reserved057,
   143                 Reserved058,
   144                 CJKUnifiedIdeographs,
   145                 PrivateUseArea,
   146                 CJKCompatibilityIdeographs,
   147                 AlphabeticPresentationForms,
   148                 ArabicPresentationFormsA)
   149             //l1 16-23
   150             SK_OT_BYTE_BITFIELD(
   151                 CJKSymbolsAndPunctuation,
   152                 Hiragana,
   153                 Katakana,
   154                 Bopomofo,
   155                 HangulCompatibilityJamo,
   156                 CJKMiscellaneous,
   157                 EnclosedCJKLettersAndMonths,
   158                 CJKCompatibility)
   159             //l1 8-15
   160             SK_OT_BYTE_BITFIELD(
   161                 ControlPictures,
   162                 OpticalCharacterRecognition,
   163                 EnclosedAlphanumerics,
   164                 BoxDrawing,
   165                 BlockElements,
   166                 GeometricShapes,
   167                 MiscellaneousSymbols,
   168                 Dingbats)
   169             //l1 0-7
   170             SK_OT_BYTE_BITFIELD(
   171                 SuperscriptsAndSubscripts,
   172                 CurrencySymbols,
   173                 CombiningDiacriticalMarksForSymbols,
   174                 LetterlikeSymbols,
   175                 NumberForms,
   176                 Arrows,
   177                 MathematicalOperators,
   178                 MiscellaneousTechnical)
   180             //l2 24-31
   181             SK_OT_BYTE_BITFIELD(
   182                 Reserved088,
   183                 Reserved089,
   184                 Reserved090,
   185                 Reserved091,
   186                 Reserved092,
   187                 Reserved093,
   188                 Reserved094,
   189                 Reserved095)
   190             //l2 16-23
   191             SK_OT_BYTE_BITFIELD(
   192                 Reserved080,
   193                 Reserved081,
   194                 Reserved082,
   195                 Reserved083,
   196                 Reserved084,
   197                 Reserved085,
   198                 Reserved086,
   199                 Reserved087)
   200             //l2 8-15
   201             SK_OT_BYTE_BITFIELD(
   202                 Reserved072,
   203                 Reserved073,
   204                 Reserved074,
   205                 Reserved075,
   206                 Reserved076,
   207                 Reserved077,
   208                 Reserved078,
   209                 Reserved079)
   210             //l2 0-7
   211             SK_OT_BYTE_BITFIELD(
   212                 CombiningHalfMarks,
   213                 CJKCompatibilityForms,
   214                 SmallFormVariants,
   215                 ArabicPresentationFormsB,
   216                 HalfwidthAndFullwidthForms,
   217                 Specials,
   218                 Reserved70,
   219                 Reserved71)
   221             //l3 24-31
   222             SK_OT_BYTE_BITFIELD(
   223                 Reserved120,
   224                 Reserved121,
   225                 Reserved122,
   226                 Reserved123,
   227                 Reserved124,
   228                 Reserved125,
   229                 Reserved126,
   230                 Reserved127)
   231             //l3 16-23
   232             SK_OT_BYTE_BITFIELD(
   233                 Reserved112,
   234                 Reserved113,
   235                 Reserved114,
   236                 Reserved115,
   237                 Reserved116,
   238                 Reserved117,
   239                 Reserved118,
   240                 Reserved119)
   241             //l3 8-15
   242             SK_OT_BYTE_BITFIELD(
   243                 Reserved104,
   244                 Reserved105,
   245                 Reserved106,
   246                 Reserved107,
   247                 Reserved108,
   248                 Reserved109,
   249                 Reserved110,
   250                 Reserved111)
   251             //l3 0-7
   252             SK_OT_BYTE_BITFIELD(
   253                 Reserved096,
   254                 Reserved097,
   255                 Reserved098,
   256                 Reserved099,
   257                 Reserved100,
   258                 Reserved101,
   259                 Reserved102,
   260                 Reserved103)
   261         } field;
   262         struct Raw {
   263             struct l0 {
   264                 static const SK_OT_ULONG BasicLatinMask = SkOTSetULONGBit<0>::value;
   265                 static const SK_OT_ULONG Latin1SupplementMask = SkOTSetULONGBit<1>::value;
   266                 static const SK_OT_ULONG LatinExtendedAMask = SkOTSetULONGBit<2>::value;
   267                 static const SK_OT_ULONG LatinExtendedBMask = SkOTSetULONGBit<3>::value;
   268                 static const SK_OT_ULONG IPAExtensionsMask = SkOTSetULONGBit<4>::value;
   269                 static const SK_OT_ULONG SpacingModifierLettersMask = SkOTSetULONGBit<5>::value;
   270                 static const SK_OT_ULONG CombiningDiacriticalMarksMask = SkOTSetULONGBit<6>::value;
   271                 static const SK_OT_ULONG BasicGreekMask = SkOTSetULONGBit<7>::value;
   272                 static const SK_OT_ULONG GreekSymbolsAndCCopticMask = SkOTSetULONGBit<8>::value;
   273                 static const SK_OT_ULONG CyrillicMask = SkOTSetULONGBit<9>::value;
   274                 static const SK_OT_ULONG ArmenianMask = SkOTSetULONGBit<10>::value;
   275                 static const SK_OT_ULONG BasicHebrewMask = SkOTSetULONGBit<11>::value;
   276                 static const SK_OT_ULONG HebrewExtendedABMask = SkOTSetULONGBit<12>::value;
   277                 static const SK_OT_ULONG BasicArabicMask = SkOTSetULONGBit<13>::value;
   278                 static const SK_OT_ULONG ArabicExtendedMask = SkOTSetULONGBit<14>::value;
   279                 static const SK_OT_ULONG DevanagariMask = SkOTSetULONGBit<15>::value;
   280                 static const SK_OT_ULONG BengaliMask = SkOTSetULONGBit<16>::value;
   281                 static const SK_OT_ULONG GurmukhiMask = SkOTSetULONGBit<17>::value;
   282                 static const SK_OT_ULONG GujaratiMask = SkOTSetULONGBit<18>::value;
   283                 static const SK_OT_ULONG OriyaMask = SkOTSetULONGBit<19>::value;
   284                 static const SK_OT_ULONG TamilMask = SkOTSetULONGBit<20>::value;
   285                 static const SK_OT_ULONG TeluguMask = SkOTSetULONGBit<21>::value;
   286                 static const SK_OT_ULONG KannadaMask = SkOTSetULONGBit<22>::value;
   287                 static const SK_OT_ULONG MalayalamMask = SkOTSetULONGBit<23>::value;
   288                 static const SK_OT_ULONG ThaiMask = SkOTSetULONGBit<24>::value;
   289                 static const SK_OT_ULONG LaoMask = SkOTSetULONGBit<25>::value;
   290                 static const SK_OT_ULONG BasicGeorgianMask = SkOTSetULONGBit<26>::value;
   291                 static const SK_OT_ULONG GeorgianExtendedMask = SkOTSetULONGBit<27>::value;
   292                 static const SK_OT_ULONG HangulJamoMask = SkOTSetULONGBit<28>::value;
   293                 static const SK_OT_ULONG LatinExtendedAdditionalMask = SkOTSetULONGBit<29>::value;
   294                 static const SK_OT_ULONG GreekExtendedMask = SkOTSetULONGBit<30>::value;
   295                 static const SK_OT_ULONG GeneralPunctuationMask = SkOTSetULONGBit<31>::value;
   296             };
   297             struct l1 {
   298                 static const SK_OT_ULONG SuperscriptsAndSubscriptsMask = SkOTSetULONGBit<32 - 32>::value;
   299                 static const SK_OT_ULONG CurrencySymbolsMask = SkOTSetULONGBit<33 - 32>::value;
   300                 static const SK_OT_ULONG CombiningDiacriticalMarksForSymbolsMask = SkOTSetULONGBit<34 - 32>::value;
   301                 static const SK_OT_ULONG LetterlikeSymbolsMask = SkOTSetULONGBit<35 - 32>::value;
   302                 static const SK_OT_ULONG NumberFormsMask = SkOTSetULONGBit<36 - 32>::value;
   303                 static const SK_OT_ULONG ArrowsMask = SkOTSetULONGBit<37 - 32>::value;
   304                 static const SK_OT_ULONG MathematicalOperatorsMask = SkOTSetULONGBit<38 - 32>::value;
   305                 static const SK_OT_ULONG MiscellaneousTechnicalMask = SkOTSetULONGBit<39 - 32>::value;
   306                 static const SK_OT_ULONG ControlPicturesMask = SkOTSetULONGBit<40 - 32>::value;
   307                 static const SK_OT_ULONG OpticalCharacterRecognitionMask = SkOTSetULONGBit<41 - 32>::value;
   308                 static const SK_OT_ULONG EnclosedAlphanumericsMask = SkOTSetULONGBit<42 - 32>::value;
   309                 static const SK_OT_ULONG BoxDrawingMask = SkOTSetULONGBit<43 - 32>::value;
   310                 static const SK_OT_ULONG BlockElementsMask = SkOTSetULONGBit<44 - 32>::value;
   311                 static const SK_OT_ULONG GeometricShapesMask = SkOTSetULONGBit<45 - 32>::value;
   312                 static const SK_OT_ULONG MiscellaneousSymbolsMask = SkOTSetULONGBit<46 - 32>::value;
   313                 static const SK_OT_ULONG DingbatsMask = SkOTSetULONGBit<47 - 32>::value;
   314                 static const SK_OT_ULONG CJKSymbolsAndPunctuationMask = SkOTSetULONGBit<48 - 32>::value;
   315                 static const SK_OT_ULONG HiraganaMask = SkOTSetULONGBit<49 - 32>::value;
   316                 static const SK_OT_ULONG KatakanaMask = SkOTSetULONGBit<50 - 32>::value;
   317                 static const SK_OT_ULONG BopomofoMask = SkOTSetULONGBit<51 - 32>::value;
   318                 static const SK_OT_ULONG HangulCompatibilityJamoMask = SkOTSetULONGBit<52 - 32>::value;
   319                 static const SK_OT_ULONG CJKMiscellaneousMask = SkOTSetULONGBit<53 - 32>::value;
   320                 static const SK_OT_ULONG EnclosedCJKLettersAndMonthsMask = SkOTSetULONGBit<54 - 32>::value;
   321                 static const SK_OT_ULONG CJKCompatibilityMask = SkOTSetULONGBit<55 - 32>::value;
   322                 static const SK_OT_ULONG HangulMask = SkOTSetULONGBit<56 - 32>::value;
   323                 //Reserved
   324                 //Reserved
   325                 static const SK_OT_ULONG CJKUnifiedIdeographsMask = SkOTSetULONGBit<59 - 32>::value;
   326                 static const SK_OT_ULONG PrivateUseAreaMask = SkOTSetULONGBit<60 - 32>::value;
   327                 static const SK_OT_ULONG CJKCompatibilityIdeographsMask = SkOTSetULONGBit<61 - 32>::value;
   328                 static const SK_OT_ULONG AlphabeticPresentationFormsMask = SkOTSetULONGBit<62 - 32>::value;
   329                 static const SK_OT_ULONG ArabicPresentationFormsAMask = SkOTSetULONGBit<63 - 32>::value;
   330             };
   331             struct l2 {
   332                 static const SK_OT_ULONG CombiningHalfMarksMask = SkOTSetULONGBit<64 - 64>::value;
   333                 static const SK_OT_ULONG CJKCompatibilityFormsMask = SkOTSetULONGBit<65 - 64>::value;
   334                 static const SK_OT_ULONG SmallFormVariantsMask = SkOTSetULONGBit<66 - 64>::value;
   335                 static const SK_OT_ULONG ArabicPresentationFormsBMask = SkOTSetULONGBit<67 - 64>::value;
   336                 static const SK_OT_ULONG HalfwidthAndFullwidthFormsMask = SkOTSetULONGBit<68 - 64>::value;
   337                 static const SK_OT_ULONG SpecialsMask = SkOTSetULONGBit<69 - 64>::value;
   338             };
   339             SK_OT_ULONG value[4];
   340         } raw;
   341     } ulUnicodeRange;
   342     SK_OT_CHAR achVendID[4];
   343     union Selection {
   344         struct Field {
   345             //8-15
   346             SK_OT_BYTE_BITFIELD(
   347                 Reserved08,
   348                 Reserved09,
   349                 Reserved10,
   350                 Reserved11,
   351                 Reserved12,
   352                 Reserved13,
   353                 Reserved14,
   354                 Reserved15)
   355             //0-7
   356             SK_OT_BYTE_BITFIELD(
   357                 Italic,
   358                 Underscore,
   359                 Negative,
   360                 Outlined,
   361                 Strikeout,
   362                 Bold,
   363                 Regular,
   364                 Reserved07)
   365         } field;
   366         struct Raw {
   367             static const SK_OT_USHORT ItalicMask = SkOTSetUSHORTBit<0>::value;
   368             static const SK_OT_USHORT UnderscoreMask = SkOTSetUSHORTBit<1>::value;
   369             static const SK_OT_USHORT NegativeMask = SkOTSetUSHORTBit<2>::value;
   370             static const SK_OT_USHORT OutlinedMask = SkOTSetUSHORTBit<3>::value;
   371             static const SK_OT_USHORT StrikeoutMask = SkOTSetUSHORTBit<4>::value;
   372             static const SK_OT_USHORT BoldMask = SkOTSetUSHORTBit<5>::value;
   373             static const SK_OT_USHORT RegularMask = SkOTSetUSHORTBit<6>::value;
   374             SK_OT_USHORT value;
   375         } raw;
   376     } fsSelection;
   377     SK_OT_USHORT usFirstCharIndex;
   378     SK_OT_USHORT usLastCharIndex;
   379     //version0
   380     SK_OT_SHORT sTypoAscender;
   381     SK_OT_SHORT sTypoDescender;
   382     SK_OT_SHORT sTypoLineGap;
   383     SK_OT_USHORT usWinAscent;
   384     SK_OT_USHORT usWinDescent;
   385     //version1
   386     union CodePageRange {
   387         struct Field {
   388             //l0 24-31
   389             SK_OT_BYTE_BITFIELD(
   390                 Reserved24,
   391                 Reserved25,
   392                 Reserved26,
   393                 Reserved27,
   394                 Reserved28,
   395                 MacintoshCharacterSet,
   396                 OEMCharacterSet,
   397                 SymbolCharacterSet)
   398             //l0 16-23
   399             SK_OT_BYTE_BITFIELD(
   400                 Thai_874,
   401                 JISJapan_932,
   402                 ChineseSimplified_936,
   403                 KoreanWansung_949,
   404                 ChineseTraditional_950,
   405                 KoreanJohab_1361,
   406                 Reserved22,
   407                 Reserved23)
   408             //l0 8-15
   409             SK_OT_BYTE_BITFIELD(
   410                 Reserved08,
   411                 Reserved09,
   412                 Reserved10,
   413                 Reserved11,
   414                 Reserved12,
   415                 Reserved13,
   416                 Reserved14,
   417                 Reserved15)
   418             //l0 0-7
   419             SK_OT_BYTE_BITFIELD(
   420                 Latin1_1252,
   421                 Latin2EasternEurope_1250,
   422                 Cyrillic_1251,
   423                 Greek_1253,
   424                 Turkish_1254,
   425                 Hebrew_1255,
   426                 Arabic_1256,
   427                 WindowsBaltic_1257)
   429             //l1 24-31
   430             SK_OT_BYTE_BITFIELD(
   431                 IBMTurkish_857,
   432                 IBMCyrillic_855,
   433                 Latin2_852,
   434                 MSDOSBaltic_775,
   435                 Greek_737,
   436                 Arabic_708,
   437                 WELatin1_850,
   438                 US_437)
   439             //l1 16-23
   440             SK_OT_BYTE_BITFIELD(
   441                 IBMGreek_869,
   442                 MSDOSRussian_866,
   443                 MSDOSNordic_865,
   444                 Arabic_864,
   445                 MSDOSCanadianFrench_863,
   446                 Hebrew_862,
   447                 MSDOSIcelandic_861,
   448                 MSDOSPortuguese_860)
   449             //l1 8-15
   450             SK_OT_BYTE_BITFIELD(
   451                 Reserved40,
   452                 Reserved41,
   453                 Reserved42,
   454                 Reserved43,
   455                 Reserved44,
   456                 Reserved45,
   457                 Reserved46,
   458                 Reserved47)
   459             //l1 0-7
   460             SK_OT_BYTE_BITFIELD(
   461                 Reserved32,
   462                 Reserved33,
   463                 Reserved34,
   464                 Reserved35,
   465                 Reserved36,
   466                 Reserved37,
   467                 Reserved38,
   468                 Reserved39)
   469         } field;
   470         struct Raw {
   471             struct l0 {
   472                 static const SK_OT_ULONG Latin1_1252Mask = SkOTSetULONGBit<0>::value;
   473                 static const SK_OT_ULONG Latin2EasternEurope_1250Mask = SkOTSetULONGBit<1>::value;
   474                 static const SK_OT_ULONG Cyrillic_1251Mask = SkOTSetULONGBit<2>::value;
   475                 static const SK_OT_ULONG Greek_1253Mask = SkOTSetULONGBit<3>::value;
   476                 static const SK_OT_ULONG Turkish_1254Mask = SkOTSetULONGBit<4>::value;
   477                 static const SK_OT_ULONG Hebrew_1255Mask = SkOTSetULONGBit<5>::value;
   478                 static const SK_OT_ULONG Arabic_1256Mask = SkOTSetULONGBit<6>::value;
   479                 static const SK_OT_ULONG WindowsBaltic_1257Mask = SkOTSetULONGBit<7>::value;
   480                 static const SK_OT_ULONG Thai_874Mask = SkOTSetULONGBit<16>::value;
   481                 static const SK_OT_ULONG JISJapan_932Mask = SkOTSetULONGBit<17>::value;
   482                 static const SK_OT_ULONG ChineseSimplified_936Mask = SkOTSetULONGBit<18>::value;
   483                 static const SK_OT_ULONG KoreanWansung_949Mask = SkOTSetULONGBit<19>::value;
   484                 static const SK_OT_ULONG ChineseTraditional_950Mask = SkOTSetULONGBit<20>::value;
   485                 static const SK_OT_ULONG KoreanJohab_1361Mask = SkOTSetULONGBit<21>::value;
   486                 static const SK_OT_ULONG MacintoshCharacterSetMask = SkOTSetULONGBit<29>::value;
   487                 static const SK_OT_ULONG OEMCharacterSetMask = SkOTSetULONGBit<30>::value;
   488                 static const SK_OT_ULONG SymbolCharacterSetMask = SkOTSetULONGBit<31>::value;
   489             };
   490             struct l1 {
   491                 static const SK_OT_ULONG IBMGreek_869Mask = SkOTSetULONGBit<48 - 32>::value;
   492                 static const SK_OT_ULONG MSDOSRussian_866Mask = SkOTSetULONGBit<49 - 32>::value;
   493                 static const SK_OT_ULONG MSDOSNordic_865Mask = SkOTSetULONGBit<50 - 32>::value;
   494                 static const SK_OT_ULONG Arabic_864Mask = SkOTSetULONGBit<51 - 32>::value;
   495                 static const SK_OT_ULONG MSDOSCanadianFrench_863Mask = SkOTSetULONGBit<52 - 32>::value;
   496                 static const SK_OT_ULONG Hebrew_862Mask = SkOTSetULONGBit<53 - 32>::value;
   497                 static const SK_OT_ULONG MSDOSIcelandic_861Mask = SkOTSetULONGBit<54 - 32>::value;
   498                 static const SK_OT_ULONG MSDOSPortuguese_860Mask = SkOTSetULONGBit<55 - 32>::value;
   499                 static const SK_OT_ULONG IBMTurkish_857Mask = SkOTSetULONGBit<56 - 32>::value;
   500                 static const SK_OT_ULONG IBMCyrillic_855Mask = SkOTSetULONGBit<57 - 32>::value;
   501                 static const SK_OT_ULONG Latin2_852Mask = SkOTSetULONGBit<58 - 32>::value;
   502                 static const SK_OT_ULONG MSDOSBaltic_775Mask = SkOTSetULONGBit<59 - 32>::value;
   503                 static const SK_OT_ULONG Greek_737Mask = SkOTSetULONGBit<60 - 32>::value;
   504                 static const SK_OT_ULONG Arabic_708Mask = SkOTSetULONGBit<61 - 32>::value;
   505                 static const SK_OT_ULONG WELatin1_850Mask = SkOTSetULONGBit<62 - 32>::value;
   506                 static const SK_OT_ULONG US_437Mask = SkOTSetULONGBit<63 - 32>::value;
   507             };
   508             SK_OT_ULONG value[2];
   509         } raw;
   510     } ulCodePageRange;
   511 };
   513 #pragma pack(pop)
   516 SK_COMPILE_ASSERT(sizeof(SkOTTableOS2_V1) == 86, sizeof_SkOTTableOS2_V1_not_86);
   518 #endif

mercurial