1*e1fe3e4aSElliott HughesotData = [ 2*e1fe3e4aSElliott Hughes # 3*e1fe3e4aSElliott Hughes # common 4*e1fe3e4aSElliott Hughes # 5*e1fe3e4aSElliott Hughes ("LookupOrder", []), 6*e1fe3e4aSElliott Hughes ( 7*e1fe3e4aSElliott Hughes "ScriptList", 8*e1fe3e4aSElliott Hughes [ 9*e1fe3e4aSElliott Hughes ("uint16", "ScriptCount", None, None, "Number of ScriptRecords"), 10*e1fe3e4aSElliott Hughes ( 11*e1fe3e4aSElliott Hughes "struct", 12*e1fe3e4aSElliott Hughes "ScriptRecord", 13*e1fe3e4aSElliott Hughes "ScriptCount", 14*e1fe3e4aSElliott Hughes 0, 15*e1fe3e4aSElliott Hughes "Array of ScriptRecords -listed alphabetically by ScriptTag", 16*e1fe3e4aSElliott Hughes ), 17*e1fe3e4aSElliott Hughes ], 18*e1fe3e4aSElliott Hughes ), 19*e1fe3e4aSElliott Hughes ( 20*e1fe3e4aSElliott Hughes "ScriptRecord", 21*e1fe3e4aSElliott Hughes [ 22*e1fe3e4aSElliott Hughes ("Tag", "ScriptTag", None, None, "4-byte ScriptTag identifier"), 23*e1fe3e4aSElliott Hughes ( 24*e1fe3e4aSElliott Hughes "Offset", 25*e1fe3e4aSElliott Hughes "Script", 26*e1fe3e4aSElliott Hughes None, 27*e1fe3e4aSElliott Hughes None, 28*e1fe3e4aSElliott Hughes "Offset to Script table-from beginning of ScriptList", 29*e1fe3e4aSElliott Hughes ), 30*e1fe3e4aSElliott Hughes ], 31*e1fe3e4aSElliott Hughes ), 32*e1fe3e4aSElliott Hughes ( 33*e1fe3e4aSElliott Hughes "Script", 34*e1fe3e4aSElliott Hughes [ 35*e1fe3e4aSElliott Hughes ( 36*e1fe3e4aSElliott Hughes "Offset", 37*e1fe3e4aSElliott Hughes "DefaultLangSys", 38*e1fe3e4aSElliott Hughes None, 39*e1fe3e4aSElliott Hughes None, 40*e1fe3e4aSElliott Hughes "Offset to DefaultLangSys table-from beginning of Script table-may be NULL", 41*e1fe3e4aSElliott Hughes ), 42*e1fe3e4aSElliott Hughes ( 43*e1fe3e4aSElliott Hughes "uint16", 44*e1fe3e4aSElliott Hughes "LangSysCount", 45*e1fe3e4aSElliott Hughes None, 46*e1fe3e4aSElliott Hughes None, 47*e1fe3e4aSElliott Hughes "Number of LangSysRecords for this script-excluding the DefaultLangSys", 48*e1fe3e4aSElliott Hughes ), 49*e1fe3e4aSElliott Hughes ( 50*e1fe3e4aSElliott Hughes "struct", 51*e1fe3e4aSElliott Hughes "LangSysRecord", 52*e1fe3e4aSElliott Hughes "LangSysCount", 53*e1fe3e4aSElliott Hughes 0, 54*e1fe3e4aSElliott Hughes "Array of LangSysRecords-listed alphabetically by LangSysTag", 55*e1fe3e4aSElliott Hughes ), 56*e1fe3e4aSElliott Hughes ], 57*e1fe3e4aSElliott Hughes ), 58*e1fe3e4aSElliott Hughes ( 59*e1fe3e4aSElliott Hughes "LangSysRecord", 60*e1fe3e4aSElliott Hughes [ 61*e1fe3e4aSElliott Hughes ("Tag", "LangSysTag", None, None, "4-byte LangSysTag identifier"), 62*e1fe3e4aSElliott Hughes ( 63*e1fe3e4aSElliott Hughes "Offset", 64*e1fe3e4aSElliott Hughes "LangSys", 65*e1fe3e4aSElliott Hughes None, 66*e1fe3e4aSElliott Hughes None, 67*e1fe3e4aSElliott Hughes "Offset to LangSys table-from beginning of Script table", 68*e1fe3e4aSElliott Hughes ), 69*e1fe3e4aSElliott Hughes ], 70*e1fe3e4aSElliott Hughes ), 71*e1fe3e4aSElliott Hughes ( 72*e1fe3e4aSElliott Hughes "LangSys", 73*e1fe3e4aSElliott Hughes [ 74*e1fe3e4aSElliott Hughes ( 75*e1fe3e4aSElliott Hughes "Offset", 76*e1fe3e4aSElliott Hughes "LookupOrder", 77*e1fe3e4aSElliott Hughes None, 78*e1fe3e4aSElliott Hughes None, 79*e1fe3e4aSElliott Hughes "= NULL (reserved for an offset to a reordering table)", 80*e1fe3e4aSElliott Hughes ), 81*e1fe3e4aSElliott Hughes ( 82*e1fe3e4aSElliott Hughes "uint16", 83*e1fe3e4aSElliott Hughes "ReqFeatureIndex", 84*e1fe3e4aSElliott Hughes None, 85*e1fe3e4aSElliott Hughes None, 86*e1fe3e4aSElliott Hughes "Index of a feature required for this language system- if no required features = 0xFFFF", 87*e1fe3e4aSElliott Hughes ), 88*e1fe3e4aSElliott Hughes ( 89*e1fe3e4aSElliott Hughes "uint16", 90*e1fe3e4aSElliott Hughes "FeatureCount", 91*e1fe3e4aSElliott Hughes None, 92*e1fe3e4aSElliott Hughes None, 93*e1fe3e4aSElliott Hughes "Number of FeatureIndex values for this language system-excludes the required feature", 94*e1fe3e4aSElliott Hughes ), 95*e1fe3e4aSElliott Hughes ( 96*e1fe3e4aSElliott Hughes "uint16", 97*e1fe3e4aSElliott Hughes "FeatureIndex", 98*e1fe3e4aSElliott Hughes "FeatureCount", 99*e1fe3e4aSElliott Hughes 0, 100*e1fe3e4aSElliott Hughes "Array of indices into the FeatureList-in arbitrary order", 101*e1fe3e4aSElliott Hughes ), 102*e1fe3e4aSElliott Hughes ], 103*e1fe3e4aSElliott Hughes ), 104*e1fe3e4aSElliott Hughes ( 105*e1fe3e4aSElliott Hughes "FeatureList", 106*e1fe3e4aSElliott Hughes [ 107*e1fe3e4aSElliott Hughes ( 108*e1fe3e4aSElliott Hughes "uint16", 109*e1fe3e4aSElliott Hughes "FeatureCount", 110*e1fe3e4aSElliott Hughes None, 111*e1fe3e4aSElliott Hughes None, 112*e1fe3e4aSElliott Hughes "Number of FeatureRecords in this table", 113*e1fe3e4aSElliott Hughes ), 114*e1fe3e4aSElliott Hughes ( 115*e1fe3e4aSElliott Hughes "struct", 116*e1fe3e4aSElliott Hughes "FeatureRecord", 117*e1fe3e4aSElliott Hughes "FeatureCount", 118*e1fe3e4aSElliott Hughes 0, 119*e1fe3e4aSElliott Hughes "Array of FeatureRecords-zero-based (first feature has FeatureIndex = 0)-listed alphabetically by FeatureTag", 120*e1fe3e4aSElliott Hughes ), 121*e1fe3e4aSElliott Hughes ], 122*e1fe3e4aSElliott Hughes ), 123*e1fe3e4aSElliott Hughes ( 124*e1fe3e4aSElliott Hughes "FeatureRecord", 125*e1fe3e4aSElliott Hughes [ 126*e1fe3e4aSElliott Hughes ("Tag", "FeatureTag", None, None, "4-byte feature identification tag"), 127*e1fe3e4aSElliott Hughes ( 128*e1fe3e4aSElliott Hughes "Offset", 129*e1fe3e4aSElliott Hughes "Feature", 130*e1fe3e4aSElliott Hughes None, 131*e1fe3e4aSElliott Hughes None, 132*e1fe3e4aSElliott Hughes "Offset to Feature table-from beginning of FeatureList", 133*e1fe3e4aSElliott Hughes ), 134*e1fe3e4aSElliott Hughes ], 135*e1fe3e4aSElliott Hughes ), 136*e1fe3e4aSElliott Hughes ( 137*e1fe3e4aSElliott Hughes "Feature", 138*e1fe3e4aSElliott Hughes [ 139*e1fe3e4aSElliott Hughes ( 140*e1fe3e4aSElliott Hughes "Offset", 141*e1fe3e4aSElliott Hughes "FeatureParams", 142*e1fe3e4aSElliott Hughes None, 143*e1fe3e4aSElliott Hughes None, 144*e1fe3e4aSElliott Hughes "= NULL (reserved for offset to FeatureParams)", 145*e1fe3e4aSElliott Hughes ), 146*e1fe3e4aSElliott Hughes ( 147*e1fe3e4aSElliott Hughes "uint16", 148*e1fe3e4aSElliott Hughes "LookupCount", 149*e1fe3e4aSElliott Hughes None, 150*e1fe3e4aSElliott Hughes None, 151*e1fe3e4aSElliott Hughes "Number of LookupList indices for this feature", 152*e1fe3e4aSElliott Hughes ), 153*e1fe3e4aSElliott Hughes ( 154*e1fe3e4aSElliott Hughes "uint16", 155*e1fe3e4aSElliott Hughes "LookupListIndex", 156*e1fe3e4aSElliott Hughes "LookupCount", 157*e1fe3e4aSElliott Hughes 0, 158*e1fe3e4aSElliott Hughes "Array of LookupList indices for this feature -zero-based (first lookup is LookupListIndex = 0)", 159*e1fe3e4aSElliott Hughes ), 160*e1fe3e4aSElliott Hughes ], 161*e1fe3e4aSElliott Hughes ), 162*e1fe3e4aSElliott Hughes ("FeatureParams", []), 163*e1fe3e4aSElliott Hughes ( 164*e1fe3e4aSElliott Hughes "FeatureParamsSize", 165*e1fe3e4aSElliott Hughes [ 166*e1fe3e4aSElliott Hughes ( 167*e1fe3e4aSElliott Hughes "DeciPoints", 168*e1fe3e4aSElliott Hughes "DesignSize", 169*e1fe3e4aSElliott Hughes None, 170*e1fe3e4aSElliott Hughes None, 171*e1fe3e4aSElliott Hughes "The design size in 720/inch units (decipoints).", 172*e1fe3e4aSElliott Hughes ), 173*e1fe3e4aSElliott Hughes ( 174*e1fe3e4aSElliott Hughes "uint16", 175*e1fe3e4aSElliott Hughes "SubfamilyID", 176*e1fe3e4aSElliott Hughes None, 177*e1fe3e4aSElliott Hughes None, 178*e1fe3e4aSElliott Hughes "Serves as an identifier that associates fonts in a subfamily.", 179*e1fe3e4aSElliott Hughes ), 180*e1fe3e4aSElliott Hughes ("NameID", "SubfamilyNameID", None, None, "Subfamily NameID."), 181*e1fe3e4aSElliott Hughes ( 182*e1fe3e4aSElliott Hughes "DeciPoints", 183*e1fe3e4aSElliott Hughes "RangeStart", 184*e1fe3e4aSElliott Hughes None, 185*e1fe3e4aSElliott Hughes None, 186*e1fe3e4aSElliott Hughes "Small end of recommended usage range (exclusive) in 720/inch units.", 187*e1fe3e4aSElliott Hughes ), 188*e1fe3e4aSElliott Hughes ( 189*e1fe3e4aSElliott Hughes "DeciPoints", 190*e1fe3e4aSElliott Hughes "RangeEnd", 191*e1fe3e4aSElliott Hughes None, 192*e1fe3e4aSElliott Hughes None, 193*e1fe3e4aSElliott Hughes "Large end of recommended usage range (inclusive) in 720/inch units.", 194*e1fe3e4aSElliott Hughes ), 195*e1fe3e4aSElliott Hughes ], 196*e1fe3e4aSElliott Hughes ), 197*e1fe3e4aSElliott Hughes ( 198*e1fe3e4aSElliott Hughes "FeatureParamsStylisticSet", 199*e1fe3e4aSElliott Hughes [ 200*e1fe3e4aSElliott Hughes ("uint16", "Version", None, None, "Set to 0."), 201*e1fe3e4aSElliott Hughes ("NameID", "UINameID", None, None, "UI NameID."), 202*e1fe3e4aSElliott Hughes ], 203*e1fe3e4aSElliott Hughes ), 204*e1fe3e4aSElliott Hughes ( 205*e1fe3e4aSElliott Hughes "FeatureParamsCharacterVariants", 206*e1fe3e4aSElliott Hughes [ 207*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Set to 0."), 208*e1fe3e4aSElliott Hughes ("NameID", "FeatUILabelNameID", None, None, "Feature UI label NameID."), 209*e1fe3e4aSElliott Hughes ( 210*e1fe3e4aSElliott Hughes "NameID", 211*e1fe3e4aSElliott Hughes "FeatUITooltipTextNameID", 212*e1fe3e4aSElliott Hughes None, 213*e1fe3e4aSElliott Hughes None, 214*e1fe3e4aSElliott Hughes "Feature UI tooltip text NameID.", 215*e1fe3e4aSElliott Hughes ), 216*e1fe3e4aSElliott Hughes ("NameID", "SampleTextNameID", None, None, "Sample text NameID."), 217*e1fe3e4aSElliott Hughes ("uint16", "NumNamedParameters", None, None, "Number of named parameters."), 218*e1fe3e4aSElliott Hughes ( 219*e1fe3e4aSElliott Hughes "NameID", 220*e1fe3e4aSElliott Hughes "FirstParamUILabelNameID", 221*e1fe3e4aSElliott Hughes None, 222*e1fe3e4aSElliott Hughes None, 223*e1fe3e4aSElliott Hughes "First NameID of UI feature parameters.", 224*e1fe3e4aSElliott Hughes ), 225*e1fe3e4aSElliott Hughes ( 226*e1fe3e4aSElliott Hughes "uint16", 227*e1fe3e4aSElliott Hughes "CharCount", 228*e1fe3e4aSElliott Hughes None, 229*e1fe3e4aSElliott Hughes None, 230*e1fe3e4aSElliott Hughes "Count of characters this feature provides glyph variants for.", 231*e1fe3e4aSElliott Hughes ), 232*e1fe3e4aSElliott Hughes ( 233*e1fe3e4aSElliott Hughes "uint24", 234*e1fe3e4aSElliott Hughes "Character", 235*e1fe3e4aSElliott Hughes "CharCount", 236*e1fe3e4aSElliott Hughes 0, 237*e1fe3e4aSElliott Hughes "Unicode characters for which this feature provides glyph variants.", 238*e1fe3e4aSElliott Hughes ), 239*e1fe3e4aSElliott Hughes ], 240*e1fe3e4aSElliott Hughes ), 241*e1fe3e4aSElliott Hughes ( 242*e1fe3e4aSElliott Hughes "LookupList", 243*e1fe3e4aSElliott Hughes [ 244*e1fe3e4aSElliott Hughes ("uint16", "LookupCount", None, None, "Number of lookups in this table"), 245*e1fe3e4aSElliott Hughes ( 246*e1fe3e4aSElliott Hughes "Offset", 247*e1fe3e4aSElliott Hughes "Lookup", 248*e1fe3e4aSElliott Hughes "LookupCount", 249*e1fe3e4aSElliott Hughes 0, 250*e1fe3e4aSElliott Hughes "Array of offsets to Lookup tables-from beginning of LookupList -zero based (first lookup is Lookup index = 0)", 251*e1fe3e4aSElliott Hughes ), 252*e1fe3e4aSElliott Hughes ], 253*e1fe3e4aSElliott Hughes ), 254*e1fe3e4aSElliott Hughes ( 255*e1fe3e4aSElliott Hughes "Lookup", 256*e1fe3e4aSElliott Hughes [ 257*e1fe3e4aSElliott Hughes ( 258*e1fe3e4aSElliott Hughes "uint16", 259*e1fe3e4aSElliott Hughes "LookupType", 260*e1fe3e4aSElliott Hughes None, 261*e1fe3e4aSElliott Hughes None, 262*e1fe3e4aSElliott Hughes "Different enumerations for GSUB and GPOS", 263*e1fe3e4aSElliott Hughes ), 264*e1fe3e4aSElliott Hughes ("LookupFlag", "LookupFlag", None, None, "Lookup qualifiers"), 265*e1fe3e4aSElliott Hughes ( 266*e1fe3e4aSElliott Hughes "uint16", 267*e1fe3e4aSElliott Hughes "SubTableCount", 268*e1fe3e4aSElliott Hughes None, 269*e1fe3e4aSElliott Hughes None, 270*e1fe3e4aSElliott Hughes "Number of SubTables for this lookup", 271*e1fe3e4aSElliott Hughes ), 272*e1fe3e4aSElliott Hughes ( 273*e1fe3e4aSElliott Hughes "Offset", 274*e1fe3e4aSElliott Hughes "SubTable", 275*e1fe3e4aSElliott Hughes "SubTableCount", 276*e1fe3e4aSElliott Hughes 0, 277*e1fe3e4aSElliott Hughes "Array of offsets to SubTables-from beginning of Lookup table", 278*e1fe3e4aSElliott Hughes ), 279*e1fe3e4aSElliott Hughes ( 280*e1fe3e4aSElliott Hughes "uint16", 281*e1fe3e4aSElliott Hughes "MarkFilteringSet", 282*e1fe3e4aSElliott Hughes None, 283*e1fe3e4aSElliott Hughes "LookupFlag & 0x0010", 284*e1fe3e4aSElliott Hughes "If set, indicates that the lookup table structure is followed by a MarkFilteringSet field. The layout engine skips over all mark glyphs not in the mark filtering set indicated.", 285*e1fe3e4aSElliott Hughes ), 286*e1fe3e4aSElliott Hughes ], 287*e1fe3e4aSElliott Hughes ), 288*e1fe3e4aSElliott Hughes ( 289*e1fe3e4aSElliott Hughes "CoverageFormat1", 290*e1fe3e4aSElliott Hughes [ 291*e1fe3e4aSElliott Hughes ("uint16", "CoverageFormat", None, None, "Format identifier-format = 1"), 292*e1fe3e4aSElliott Hughes ("uint16", "GlyphCount", None, None, "Number of glyphs in the GlyphArray"), 293*e1fe3e4aSElliott Hughes ( 294*e1fe3e4aSElliott Hughes "GlyphID", 295*e1fe3e4aSElliott Hughes "GlyphArray", 296*e1fe3e4aSElliott Hughes "GlyphCount", 297*e1fe3e4aSElliott Hughes 0, 298*e1fe3e4aSElliott Hughes "Array of GlyphIDs-in numerical order", 299*e1fe3e4aSElliott Hughes ), 300*e1fe3e4aSElliott Hughes ], 301*e1fe3e4aSElliott Hughes ), 302*e1fe3e4aSElliott Hughes ( 303*e1fe3e4aSElliott Hughes "CoverageFormat2", 304*e1fe3e4aSElliott Hughes [ 305*e1fe3e4aSElliott Hughes ("uint16", "CoverageFormat", None, None, "Format identifier-format = 2"), 306*e1fe3e4aSElliott Hughes ("uint16", "RangeCount", None, None, "Number of RangeRecords"), 307*e1fe3e4aSElliott Hughes ( 308*e1fe3e4aSElliott Hughes "struct", 309*e1fe3e4aSElliott Hughes "RangeRecord", 310*e1fe3e4aSElliott Hughes "RangeCount", 311*e1fe3e4aSElliott Hughes 0, 312*e1fe3e4aSElliott Hughes "Array of glyph ranges-ordered by Start GlyphID", 313*e1fe3e4aSElliott Hughes ), 314*e1fe3e4aSElliott Hughes ], 315*e1fe3e4aSElliott Hughes ), 316*e1fe3e4aSElliott Hughes ( 317*e1fe3e4aSElliott Hughes "RangeRecord", 318*e1fe3e4aSElliott Hughes [ 319*e1fe3e4aSElliott Hughes ("GlyphID", "Start", None, None, "First GlyphID in the range"), 320*e1fe3e4aSElliott Hughes ("GlyphID", "End", None, None, "Last GlyphID in the range"), 321*e1fe3e4aSElliott Hughes ( 322*e1fe3e4aSElliott Hughes "uint16", 323*e1fe3e4aSElliott Hughes "StartCoverageIndex", 324*e1fe3e4aSElliott Hughes None, 325*e1fe3e4aSElliott Hughes None, 326*e1fe3e4aSElliott Hughes "Coverage Index of first GlyphID in range", 327*e1fe3e4aSElliott Hughes ), 328*e1fe3e4aSElliott Hughes ], 329*e1fe3e4aSElliott Hughes ), 330*e1fe3e4aSElliott Hughes ( 331*e1fe3e4aSElliott Hughes "ClassDefFormat1", 332*e1fe3e4aSElliott Hughes [ 333*e1fe3e4aSElliott Hughes ("uint16", "ClassFormat", None, None, "Format identifier-format = 1"), 334*e1fe3e4aSElliott Hughes ( 335*e1fe3e4aSElliott Hughes "GlyphID", 336*e1fe3e4aSElliott Hughes "StartGlyph", 337*e1fe3e4aSElliott Hughes None, 338*e1fe3e4aSElliott Hughes None, 339*e1fe3e4aSElliott Hughes "First GlyphID of the ClassValueArray", 340*e1fe3e4aSElliott Hughes ), 341*e1fe3e4aSElliott Hughes ("uint16", "GlyphCount", None, None, "Size of the ClassValueArray"), 342*e1fe3e4aSElliott Hughes ( 343*e1fe3e4aSElliott Hughes "uint16", 344*e1fe3e4aSElliott Hughes "ClassValueArray", 345*e1fe3e4aSElliott Hughes "GlyphCount", 346*e1fe3e4aSElliott Hughes 0, 347*e1fe3e4aSElliott Hughes "Array of Class Values-one per GlyphID", 348*e1fe3e4aSElliott Hughes ), 349*e1fe3e4aSElliott Hughes ], 350*e1fe3e4aSElliott Hughes ), 351*e1fe3e4aSElliott Hughes ( 352*e1fe3e4aSElliott Hughes "ClassDefFormat2", 353*e1fe3e4aSElliott Hughes [ 354*e1fe3e4aSElliott Hughes ("uint16", "ClassFormat", None, None, "Format identifier-format = 2"), 355*e1fe3e4aSElliott Hughes ("uint16", "ClassRangeCount", None, None, "Number of ClassRangeRecords"), 356*e1fe3e4aSElliott Hughes ( 357*e1fe3e4aSElliott Hughes "struct", 358*e1fe3e4aSElliott Hughes "ClassRangeRecord", 359*e1fe3e4aSElliott Hughes "ClassRangeCount", 360*e1fe3e4aSElliott Hughes 0, 361*e1fe3e4aSElliott Hughes "Array of ClassRangeRecords-ordered by Start GlyphID", 362*e1fe3e4aSElliott Hughes ), 363*e1fe3e4aSElliott Hughes ], 364*e1fe3e4aSElliott Hughes ), 365*e1fe3e4aSElliott Hughes ( 366*e1fe3e4aSElliott Hughes "ClassRangeRecord", 367*e1fe3e4aSElliott Hughes [ 368*e1fe3e4aSElliott Hughes ("GlyphID", "Start", None, None, "First GlyphID in the range"), 369*e1fe3e4aSElliott Hughes ("GlyphID", "End", None, None, "Last GlyphID in the range"), 370*e1fe3e4aSElliott Hughes ("uint16", "Class", None, None, "Applied to all glyphs in the range"), 371*e1fe3e4aSElliott Hughes ], 372*e1fe3e4aSElliott Hughes ), 373*e1fe3e4aSElliott Hughes ( 374*e1fe3e4aSElliott Hughes "Device", 375*e1fe3e4aSElliott Hughes [ 376*e1fe3e4aSElliott Hughes ("uint16", "StartSize", None, None, "Smallest size to correct-in ppem"), 377*e1fe3e4aSElliott Hughes ("uint16", "EndSize", None, None, "Largest size to correct-in ppem"), 378*e1fe3e4aSElliott Hughes ( 379*e1fe3e4aSElliott Hughes "uint16", 380*e1fe3e4aSElliott Hughes "DeltaFormat", 381*e1fe3e4aSElliott Hughes None, 382*e1fe3e4aSElliott Hughes None, 383*e1fe3e4aSElliott Hughes "Format of DeltaValue array data: 1, 2, or 3", 384*e1fe3e4aSElliott Hughes ), 385*e1fe3e4aSElliott Hughes ( 386*e1fe3e4aSElliott Hughes "DeltaValue", 387*e1fe3e4aSElliott Hughes "DeltaValue", 388*e1fe3e4aSElliott Hughes "", 389*e1fe3e4aSElliott Hughes "DeltaFormat in (1,2,3)", 390*e1fe3e4aSElliott Hughes "Array of compressed data", 391*e1fe3e4aSElliott Hughes ), 392*e1fe3e4aSElliott Hughes ], 393*e1fe3e4aSElliott Hughes ), 394*e1fe3e4aSElliott Hughes # 395*e1fe3e4aSElliott Hughes # gpos 396*e1fe3e4aSElliott Hughes # 397*e1fe3e4aSElliott Hughes ( 398*e1fe3e4aSElliott Hughes "GPOS", 399*e1fe3e4aSElliott Hughes [ 400*e1fe3e4aSElliott Hughes ( 401*e1fe3e4aSElliott Hughes "Version", 402*e1fe3e4aSElliott Hughes "Version", 403*e1fe3e4aSElliott Hughes None, 404*e1fe3e4aSElliott Hughes None, 405*e1fe3e4aSElliott Hughes "Version of the GPOS table- 0x00010000 or 0x00010001", 406*e1fe3e4aSElliott Hughes ), 407*e1fe3e4aSElliott Hughes ( 408*e1fe3e4aSElliott Hughes "Offset", 409*e1fe3e4aSElliott Hughes "ScriptList", 410*e1fe3e4aSElliott Hughes None, 411*e1fe3e4aSElliott Hughes None, 412*e1fe3e4aSElliott Hughes "Offset to ScriptList table-from beginning of GPOS table", 413*e1fe3e4aSElliott Hughes ), 414*e1fe3e4aSElliott Hughes ( 415*e1fe3e4aSElliott Hughes "Offset", 416*e1fe3e4aSElliott Hughes "FeatureList", 417*e1fe3e4aSElliott Hughes None, 418*e1fe3e4aSElliott Hughes None, 419*e1fe3e4aSElliott Hughes "Offset to FeatureList table-from beginning of GPOS table", 420*e1fe3e4aSElliott Hughes ), 421*e1fe3e4aSElliott Hughes ( 422*e1fe3e4aSElliott Hughes "Offset", 423*e1fe3e4aSElliott Hughes "LookupList", 424*e1fe3e4aSElliott Hughes None, 425*e1fe3e4aSElliott Hughes None, 426*e1fe3e4aSElliott Hughes "Offset to LookupList table-from beginning of GPOS table", 427*e1fe3e4aSElliott Hughes ), 428*e1fe3e4aSElliott Hughes ( 429*e1fe3e4aSElliott Hughes "LOffset", 430*e1fe3e4aSElliott Hughes "FeatureVariations", 431*e1fe3e4aSElliott Hughes None, 432*e1fe3e4aSElliott Hughes "Version >= 0x00010001", 433*e1fe3e4aSElliott Hughes "Offset to FeatureVariations table-from beginning of GPOS table", 434*e1fe3e4aSElliott Hughes ), 435*e1fe3e4aSElliott Hughes ], 436*e1fe3e4aSElliott Hughes ), 437*e1fe3e4aSElliott Hughes ( 438*e1fe3e4aSElliott Hughes "SinglePosFormat1", 439*e1fe3e4aSElliott Hughes [ 440*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 1"), 441*e1fe3e4aSElliott Hughes ( 442*e1fe3e4aSElliott Hughes "Offset", 443*e1fe3e4aSElliott Hughes "Coverage", 444*e1fe3e4aSElliott Hughes None, 445*e1fe3e4aSElliott Hughes None, 446*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of SinglePos subtable", 447*e1fe3e4aSElliott Hughes ), 448*e1fe3e4aSElliott Hughes ( 449*e1fe3e4aSElliott Hughes "uint16", 450*e1fe3e4aSElliott Hughes "ValueFormat", 451*e1fe3e4aSElliott Hughes None, 452*e1fe3e4aSElliott Hughes None, 453*e1fe3e4aSElliott Hughes "Defines the types of data in the ValueRecord", 454*e1fe3e4aSElliott Hughes ), 455*e1fe3e4aSElliott Hughes ( 456*e1fe3e4aSElliott Hughes "ValueRecord", 457*e1fe3e4aSElliott Hughes "Value", 458*e1fe3e4aSElliott Hughes None, 459*e1fe3e4aSElliott Hughes None, 460*e1fe3e4aSElliott Hughes "Defines positioning value(s)-applied to all glyphs in the Coverage table", 461*e1fe3e4aSElliott Hughes ), 462*e1fe3e4aSElliott Hughes ], 463*e1fe3e4aSElliott Hughes ), 464*e1fe3e4aSElliott Hughes ( 465*e1fe3e4aSElliott Hughes "SinglePosFormat2", 466*e1fe3e4aSElliott Hughes [ 467*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 2"), 468*e1fe3e4aSElliott Hughes ( 469*e1fe3e4aSElliott Hughes "Offset", 470*e1fe3e4aSElliott Hughes "Coverage", 471*e1fe3e4aSElliott Hughes None, 472*e1fe3e4aSElliott Hughes None, 473*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of SinglePos subtable", 474*e1fe3e4aSElliott Hughes ), 475*e1fe3e4aSElliott Hughes ( 476*e1fe3e4aSElliott Hughes "uint16", 477*e1fe3e4aSElliott Hughes "ValueFormat", 478*e1fe3e4aSElliott Hughes None, 479*e1fe3e4aSElliott Hughes None, 480*e1fe3e4aSElliott Hughes "Defines the types of data in the ValueRecord", 481*e1fe3e4aSElliott Hughes ), 482*e1fe3e4aSElliott Hughes ("uint16", "ValueCount", None, None, "Number of ValueRecords"), 483*e1fe3e4aSElliott Hughes ( 484*e1fe3e4aSElliott Hughes "ValueRecord", 485*e1fe3e4aSElliott Hughes "Value", 486*e1fe3e4aSElliott Hughes "ValueCount", 487*e1fe3e4aSElliott Hughes 0, 488*e1fe3e4aSElliott Hughes "Array of ValueRecords-positioning values applied to glyphs", 489*e1fe3e4aSElliott Hughes ), 490*e1fe3e4aSElliott Hughes ], 491*e1fe3e4aSElliott Hughes ), 492*e1fe3e4aSElliott Hughes ( 493*e1fe3e4aSElliott Hughes "PairPosFormat1", 494*e1fe3e4aSElliott Hughes [ 495*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 1"), 496*e1fe3e4aSElliott Hughes ( 497*e1fe3e4aSElliott Hughes "Offset", 498*e1fe3e4aSElliott Hughes "Coverage", 499*e1fe3e4aSElliott Hughes None, 500*e1fe3e4aSElliott Hughes None, 501*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of PairPos subtable-only the first glyph in each pair", 502*e1fe3e4aSElliott Hughes ), 503*e1fe3e4aSElliott Hughes ( 504*e1fe3e4aSElliott Hughes "uint16", 505*e1fe3e4aSElliott Hughes "ValueFormat1", 506*e1fe3e4aSElliott Hughes None, 507*e1fe3e4aSElliott Hughes None, 508*e1fe3e4aSElliott Hughes "Defines the types of data in ValueRecord1-for the first glyph in the pair -may be zero (0)", 509*e1fe3e4aSElliott Hughes ), 510*e1fe3e4aSElliott Hughes ( 511*e1fe3e4aSElliott Hughes "uint16", 512*e1fe3e4aSElliott Hughes "ValueFormat2", 513*e1fe3e4aSElliott Hughes None, 514*e1fe3e4aSElliott Hughes None, 515*e1fe3e4aSElliott Hughes "Defines the types of data in ValueRecord2-for the second glyph in the pair -may be zero (0)", 516*e1fe3e4aSElliott Hughes ), 517*e1fe3e4aSElliott Hughes ("uint16", "PairSetCount", None, None, "Number of PairSet tables"), 518*e1fe3e4aSElliott Hughes ( 519*e1fe3e4aSElliott Hughes "Offset", 520*e1fe3e4aSElliott Hughes "PairSet", 521*e1fe3e4aSElliott Hughes "PairSetCount", 522*e1fe3e4aSElliott Hughes 0, 523*e1fe3e4aSElliott Hughes "Array of offsets to PairSet tables-from beginning of PairPos subtable-ordered by Coverage Index", 524*e1fe3e4aSElliott Hughes ), 525*e1fe3e4aSElliott Hughes ], 526*e1fe3e4aSElliott Hughes ), 527*e1fe3e4aSElliott Hughes ( 528*e1fe3e4aSElliott Hughes "PairSet", 529*e1fe3e4aSElliott Hughes [ 530*e1fe3e4aSElliott Hughes ("uint16", "PairValueCount", None, None, "Number of PairValueRecords"), 531*e1fe3e4aSElliott Hughes ( 532*e1fe3e4aSElliott Hughes "struct", 533*e1fe3e4aSElliott Hughes "PairValueRecord", 534*e1fe3e4aSElliott Hughes "PairValueCount", 535*e1fe3e4aSElliott Hughes 0, 536*e1fe3e4aSElliott Hughes "Array of PairValueRecords-ordered by GlyphID of the second glyph", 537*e1fe3e4aSElliott Hughes ), 538*e1fe3e4aSElliott Hughes ], 539*e1fe3e4aSElliott Hughes ), 540*e1fe3e4aSElliott Hughes ( 541*e1fe3e4aSElliott Hughes "PairValueRecord", 542*e1fe3e4aSElliott Hughes [ 543*e1fe3e4aSElliott Hughes ( 544*e1fe3e4aSElliott Hughes "GlyphID", 545*e1fe3e4aSElliott Hughes "SecondGlyph", 546*e1fe3e4aSElliott Hughes None, 547*e1fe3e4aSElliott Hughes None, 548*e1fe3e4aSElliott Hughes "GlyphID of second glyph in the pair-first glyph is listed in the Coverage table", 549*e1fe3e4aSElliott Hughes ), 550*e1fe3e4aSElliott Hughes ( 551*e1fe3e4aSElliott Hughes "ValueRecord", 552*e1fe3e4aSElliott Hughes "Value1", 553*e1fe3e4aSElliott Hughes None, 554*e1fe3e4aSElliott Hughes None, 555*e1fe3e4aSElliott Hughes "Positioning data for the first glyph in the pair", 556*e1fe3e4aSElliott Hughes ), 557*e1fe3e4aSElliott Hughes ( 558*e1fe3e4aSElliott Hughes "ValueRecord", 559*e1fe3e4aSElliott Hughes "Value2", 560*e1fe3e4aSElliott Hughes None, 561*e1fe3e4aSElliott Hughes None, 562*e1fe3e4aSElliott Hughes "Positioning data for the second glyph in the pair", 563*e1fe3e4aSElliott Hughes ), 564*e1fe3e4aSElliott Hughes ], 565*e1fe3e4aSElliott Hughes ), 566*e1fe3e4aSElliott Hughes ( 567*e1fe3e4aSElliott Hughes "PairPosFormat2", 568*e1fe3e4aSElliott Hughes [ 569*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 2"), 570*e1fe3e4aSElliott Hughes ( 571*e1fe3e4aSElliott Hughes "Offset", 572*e1fe3e4aSElliott Hughes "Coverage", 573*e1fe3e4aSElliott Hughes None, 574*e1fe3e4aSElliott Hughes None, 575*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of PairPos subtable-for the first glyph of the pair", 576*e1fe3e4aSElliott Hughes ), 577*e1fe3e4aSElliott Hughes ( 578*e1fe3e4aSElliott Hughes "uint16", 579*e1fe3e4aSElliott Hughes "ValueFormat1", 580*e1fe3e4aSElliott Hughes None, 581*e1fe3e4aSElliott Hughes None, 582*e1fe3e4aSElliott Hughes "ValueRecord definition-for the first glyph of the pair-may be zero (0)", 583*e1fe3e4aSElliott Hughes ), 584*e1fe3e4aSElliott Hughes ( 585*e1fe3e4aSElliott Hughes "uint16", 586*e1fe3e4aSElliott Hughes "ValueFormat2", 587*e1fe3e4aSElliott Hughes None, 588*e1fe3e4aSElliott Hughes None, 589*e1fe3e4aSElliott Hughes "ValueRecord definition-for the second glyph of the pair-may be zero (0)", 590*e1fe3e4aSElliott Hughes ), 591*e1fe3e4aSElliott Hughes ( 592*e1fe3e4aSElliott Hughes "Offset", 593*e1fe3e4aSElliott Hughes "ClassDef1", 594*e1fe3e4aSElliott Hughes None, 595*e1fe3e4aSElliott Hughes None, 596*e1fe3e4aSElliott Hughes "Offset to ClassDef table-from beginning of PairPos subtable-for the first glyph of the pair", 597*e1fe3e4aSElliott Hughes ), 598*e1fe3e4aSElliott Hughes ( 599*e1fe3e4aSElliott Hughes "Offset", 600*e1fe3e4aSElliott Hughes "ClassDef2", 601*e1fe3e4aSElliott Hughes None, 602*e1fe3e4aSElliott Hughes None, 603*e1fe3e4aSElliott Hughes "Offset to ClassDef table-from beginning of PairPos subtable-for the second glyph of the pair", 604*e1fe3e4aSElliott Hughes ), 605*e1fe3e4aSElliott Hughes ( 606*e1fe3e4aSElliott Hughes "uint16", 607*e1fe3e4aSElliott Hughes "Class1Count", 608*e1fe3e4aSElliott Hughes None, 609*e1fe3e4aSElliott Hughes None, 610*e1fe3e4aSElliott Hughes "Number of classes in ClassDef1 table-includes Class0", 611*e1fe3e4aSElliott Hughes ), 612*e1fe3e4aSElliott Hughes ( 613*e1fe3e4aSElliott Hughes "uint16", 614*e1fe3e4aSElliott Hughes "Class2Count", 615*e1fe3e4aSElliott Hughes None, 616*e1fe3e4aSElliott Hughes None, 617*e1fe3e4aSElliott Hughes "Number of classes in ClassDef2 table-includes Class0", 618*e1fe3e4aSElliott Hughes ), 619*e1fe3e4aSElliott Hughes ( 620*e1fe3e4aSElliott Hughes "struct", 621*e1fe3e4aSElliott Hughes "Class1Record", 622*e1fe3e4aSElliott Hughes "Class1Count", 623*e1fe3e4aSElliott Hughes 0, 624*e1fe3e4aSElliott Hughes "Array of Class1 records-ordered by Class1", 625*e1fe3e4aSElliott Hughes ), 626*e1fe3e4aSElliott Hughes ], 627*e1fe3e4aSElliott Hughes ), 628*e1fe3e4aSElliott Hughes ( 629*e1fe3e4aSElliott Hughes "Class1Record", 630*e1fe3e4aSElliott Hughes [ 631*e1fe3e4aSElliott Hughes ( 632*e1fe3e4aSElliott Hughes "struct", 633*e1fe3e4aSElliott Hughes "Class2Record", 634*e1fe3e4aSElliott Hughes "Class2Count", 635*e1fe3e4aSElliott Hughes 0, 636*e1fe3e4aSElliott Hughes "Array of Class2 records-ordered by Class2", 637*e1fe3e4aSElliott Hughes ), 638*e1fe3e4aSElliott Hughes ], 639*e1fe3e4aSElliott Hughes ), 640*e1fe3e4aSElliott Hughes ( 641*e1fe3e4aSElliott Hughes "Class2Record", 642*e1fe3e4aSElliott Hughes [ 643*e1fe3e4aSElliott Hughes ( 644*e1fe3e4aSElliott Hughes "ValueRecord", 645*e1fe3e4aSElliott Hughes "Value1", 646*e1fe3e4aSElliott Hughes None, 647*e1fe3e4aSElliott Hughes None, 648*e1fe3e4aSElliott Hughes "Positioning for first glyph-empty if ValueFormat1 = 0", 649*e1fe3e4aSElliott Hughes ), 650*e1fe3e4aSElliott Hughes ( 651*e1fe3e4aSElliott Hughes "ValueRecord", 652*e1fe3e4aSElliott Hughes "Value2", 653*e1fe3e4aSElliott Hughes None, 654*e1fe3e4aSElliott Hughes None, 655*e1fe3e4aSElliott Hughes "Positioning for second glyph-empty if ValueFormat2 = 0", 656*e1fe3e4aSElliott Hughes ), 657*e1fe3e4aSElliott Hughes ], 658*e1fe3e4aSElliott Hughes ), 659*e1fe3e4aSElliott Hughes ( 660*e1fe3e4aSElliott Hughes "CursivePosFormat1", 661*e1fe3e4aSElliott Hughes [ 662*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 1"), 663*e1fe3e4aSElliott Hughes ( 664*e1fe3e4aSElliott Hughes "Offset", 665*e1fe3e4aSElliott Hughes "Coverage", 666*e1fe3e4aSElliott Hughes None, 667*e1fe3e4aSElliott Hughes None, 668*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of CursivePos subtable", 669*e1fe3e4aSElliott Hughes ), 670*e1fe3e4aSElliott Hughes ("uint16", "EntryExitCount", None, None, "Number of EntryExit records"), 671*e1fe3e4aSElliott Hughes ( 672*e1fe3e4aSElliott Hughes "struct", 673*e1fe3e4aSElliott Hughes "EntryExitRecord", 674*e1fe3e4aSElliott Hughes "EntryExitCount", 675*e1fe3e4aSElliott Hughes 0, 676*e1fe3e4aSElliott Hughes "Array of EntryExit records-in Coverage Index order", 677*e1fe3e4aSElliott Hughes ), 678*e1fe3e4aSElliott Hughes ], 679*e1fe3e4aSElliott Hughes ), 680*e1fe3e4aSElliott Hughes ( 681*e1fe3e4aSElliott Hughes "EntryExitRecord", 682*e1fe3e4aSElliott Hughes [ 683*e1fe3e4aSElliott Hughes ( 684*e1fe3e4aSElliott Hughes "Offset", 685*e1fe3e4aSElliott Hughes "EntryAnchor", 686*e1fe3e4aSElliott Hughes None, 687*e1fe3e4aSElliott Hughes None, 688*e1fe3e4aSElliott Hughes "Offset to EntryAnchor table-from beginning of CursivePos subtable-may be NULL", 689*e1fe3e4aSElliott Hughes ), 690*e1fe3e4aSElliott Hughes ( 691*e1fe3e4aSElliott Hughes "Offset", 692*e1fe3e4aSElliott Hughes "ExitAnchor", 693*e1fe3e4aSElliott Hughes None, 694*e1fe3e4aSElliott Hughes None, 695*e1fe3e4aSElliott Hughes "Offset to ExitAnchor table-from beginning of CursivePos subtable-may be NULL", 696*e1fe3e4aSElliott Hughes ), 697*e1fe3e4aSElliott Hughes ], 698*e1fe3e4aSElliott Hughes ), 699*e1fe3e4aSElliott Hughes ( 700*e1fe3e4aSElliott Hughes "MarkBasePosFormat1", 701*e1fe3e4aSElliott Hughes [ 702*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 1"), 703*e1fe3e4aSElliott Hughes ( 704*e1fe3e4aSElliott Hughes "Offset", 705*e1fe3e4aSElliott Hughes "MarkCoverage", 706*e1fe3e4aSElliott Hughes None, 707*e1fe3e4aSElliott Hughes None, 708*e1fe3e4aSElliott Hughes "Offset to MarkCoverage table-from beginning of MarkBasePos subtable", 709*e1fe3e4aSElliott Hughes ), 710*e1fe3e4aSElliott Hughes ( 711*e1fe3e4aSElliott Hughes "Offset", 712*e1fe3e4aSElliott Hughes "BaseCoverage", 713*e1fe3e4aSElliott Hughes None, 714*e1fe3e4aSElliott Hughes None, 715*e1fe3e4aSElliott Hughes "Offset to BaseCoverage table-from beginning of MarkBasePos subtable", 716*e1fe3e4aSElliott Hughes ), 717*e1fe3e4aSElliott Hughes ("uint16", "ClassCount", None, None, "Number of classes defined for marks"), 718*e1fe3e4aSElliott Hughes ( 719*e1fe3e4aSElliott Hughes "Offset", 720*e1fe3e4aSElliott Hughes "MarkArray", 721*e1fe3e4aSElliott Hughes None, 722*e1fe3e4aSElliott Hughes None, 723*e1fe3e4aSElliott Hughes "Offset to MarkArray table-from beginning of MarkBasePos subtable", 724*e1fe3e4aSElliott Hughes ), 725*e1fe3e4aSElliott Hughes ( 726*e1fe3e4aSElliott Hughes "Offset", 727*e1fe3e4aSElliott Hughes "BaseArray", 728*e1fe3e4aSElliott Hughes None, 729*e1fe3e4aSElliott Hughes None, 730*e1fe3e4aSElliott Hughes "Offset to BaseArray table-from beginning of MarkBasePos subtable", 731*e1fe3e4aSElliott Hughes ), 732*e1fe3e4aSElliott Hughes ], 733*e1fe3e4aSElliott Hughes ), 734*e1fe3e4aSElliott Hughes ( 735*e1fe3e4aSElliott Hughes "BaseArray", 736*e1fe3e4aSElliott Hughes [ 737*e1fe3e4aSElliott Hughes ("uint16", "BaseCount", None, None, "Number of BaseRecords"), 738*e1fe3e4aSElliott Hughes ( 739*e1fe3e4aSElliott Hughes "struct", 740*e1fe3e4aSElliott Hughes "BaseRecord", 741*e1fe3e4aSElliott Hughes "BaseCount", 742*e1fe3e4aSElliott Hughes 0, 743*e1fe3e4aSElliott Hughes "Array of BaseRecords-in order of BaseCoverage Index", 744*e1fe3e4aSElliott Hughes ), 745*e1fe3e4aSElliott Hughes ], 746*e1fe3e4aSElliott Hughes ), 747*e1fe3e4aSElliott Hughes ( 748*e1fe3e4aSElliott Hughes "BaseRecord", 749*e1fe3e4aSElliott Hughes [ 750*e1fe3e4aSElliott Hughes ( 751*e1fe3e4aSElliott Hughes "Offset", 752*e1fe3e4aSElliott Hughes "BaseAnchor", 753*e1fe3e4aSElliott Hughes "ClassCount", 754*e1fe3e4aSElliott Hughes 0, 755*e1fe3e4aSElliott Hughes "Array of offsets (one per class) to Anchor tables-from beginning of BaseArray table-ordered by class-zero-based", 756*e1fe3e4aSElliott Hughes ), 757*e1fe3e4aSElliott Hughes ], 758*e1fe3e4aSElliott Hughes ), 759*e1fe3e4aSElliott Hughes ( 760*e1fe3e4aSElliott Hughes "MarkLigPosFormat1", 761*e1fe3e4aSElliott Hughes [ 762*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 1"), 763*e1fe3e4aSElliott Hughes ( 764*e1fe3e4aSElliott Hughes "Offset", 765*e1fe3e4aSElliott Hughes "MarkCoverage", 766*e1fe3e4aSElliott Hughes None, 767*e1fe3e4aSElliott Hughes None, 768*e1fe3e4aSElliott Hughes "Offset to Mark Coverage table-from beginning of MarkLigPos subtable", 769*e1fe3e4aSElliott Hughes ), 770*e1fe3e4aSElliott Hughes ( 771*e1fe3e4aSElliott Hughes "Offset", 772*e1fe3e4aSElliott Hughes "LigatureCoverage", 773*e1fe3e4aSElliott Hughes None, 774*e1fe3e4aSElliott Hughes None, 775*e1fe3e4aSElliott Hughes "Offset to Ligature Coverage table-from beginning of MarkLigPos subtable", 776*e1fe3e4aSElliott Hughes ), 777*e1fe3e4aSElliott Hughes ("uint16", "ClassCount", None, None, "Number of defined mark classes"), 778*e1fe3e4aSElliott Hughes ( 779*e1fe3e4aSElliott Hughes "Offset", 780*e1fe3e4aSElliott Hughes "MarkArray", 781*e1fe3e4aSElliott Hughes None, 782*e1fe3e4aSElliott Hughes None, 783*e1fe3e4aSElliott Hughes "Offset to MarkArray table-from beginning of MarkLigPos subtable", 784*e1fe3e4aSElliott Hughes ), 785*e1fe3e4aSElliott Hughes ( 786*e1fe3e4aSElliott Hughes "Offset", 787*e1fe3e4aSElliott Hughes "LigatureArray", 788*e1fe3e4aSElliott Hughes None, 789*e1fe3e4aSElliott Hughes None, 790*e1fe3e4aSElliott Hughes "Offset to LigatureArray table-from beginning of MarkLigPos subtable", 791*e1fe3e4aSElliott Hughes ), 792*e1fe3e4aSElliott Hughes ], 793*e1fe3e4aSElliott Hughes ), 794*e1fe3e4aSElliott Hughes ( 795*e1fe3e4aSElliott Hughes "LigatureArray", 796*e1fe3e4aSElliott Hughes [ 797*e1fe3e4aSElliott Hughes ( 798*e1fe3e4aSElliott Hughes "uint16", 799*e1fe3e4aSElliott Hughes "LigatureCount", 800*e1fe3e4aSElliott Hughes None, 801*e1fe3e4aSElliott Hughes None, 802*e1fe3e4aSElliott Hughes "Number of LigatureAttach table offsets", 803*e1fe3e4aSElliott Hughes ), 804*e1fe3e4aSElliott Hughes ( 805*e1fe3e4aSElliott Hughes "Offset", 806*e1fe3e4aSElliott Hughes "LigatureAttach", 807*e1fe3e4aSElliott Hughes "LigatureCount", 808*e1fe3e4aSElliott Hughes 0, 809*e1fe3e4aSElliott Hughes "Array of offsets to LigatureAttach tables-from beginning of LigatureArray table-ordered by LigatureCoverage Index", 810*e1fe3e4aSElliott Hughes ), 811*e1fe3e4aSElliott Hughes ], 812*e1fe3e4aSElliott Hughes ), 813*e1fe3e4aSElliott Hughes ( 814*e1fe3e4aSElliott Hughes "LigatureAttach", 815*e1fe3e4aSElliott Hughes [ 816*e1fe3e4aSElliott Hughes ( 817*e1fe3e4aSElliott Hughes "uint16", 818*e1fe3e4aSElliott Hughes "ComponentCount", 819*e1fe3e4aSElliott Hughes None, 820*e1fe3e4aSElliott Hughes None, 821*e1fe3e4aSElliott Hughes "Number of ComponentRecords in this ligature", 822*e1fe3e4aSElliott Hughes ), 823*e1fe3e4aSElliott Hughes ( 824*e1fe3e4aSElliott Hughes "struct", 825*e1fe3e4aSElliott Hughes "ComponentRecord", 826*e1fe3e4aSElliott Hughes "ComponentCount", 827*e1fe3e4aSElliott Hughes 0, 828*e1fe3e4aSElliott Hughes "Array of Component records-ordered in writing direction", 829*e1fe3e4aSElliott Hughes ), 830*e1fe3e4aSElliott Hughes ], 831*e1fe3e4aSElliott Hughes ), 832*e1fe3e4aSElliott Hughes ( 833*e1fe3e4aSElliott Hughes "ComponentRecord", 834*e1fe3e4aSElliott Hughes [ 835*e1fe3e4aSElliott Hughes ( 836*e1fe3e4aSElliott Hughes "Offset", 837*e1fe3e4aSElliott Hughes "LigatureAnchor", 838*e1fe3e4aSElliott Hughes "ClassCount", 839*e1fe3e4aSElliott Hughes 0, 840*e1fe3e4aSElliott Hughes "Array of offsets (one per class) to Anchor tables-from beginning of LigatureAttach table-ordered by class-NULL if a component does not have an attachment for a class-zero-based array", 841*e1fe3e4aSElliott Hughes ), 842*e1fe3e4aSElliott Hughes ], 843*e1fe3e4aSElliott Hughes ), 844*e1fe3e4aSElliott Hughes ( 845*e1fe3e4aSElliott Hughes "MarkMarkPosFormat1", 846*e1fe3e4aSElliott Hughes [ 847*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 1"), 848*e1fe3e4aSElliott Hughes ( 849*e1fe3e4aSElliott Hughes "Offset", 850*e1fe3e4aSElliott Hughes "Mark1Coverage", 851*e1fe3e4aSElliott Hughes None, 852*e1fe3e4aSElliott Hughes None, 853*e1fe3e4aSElliott Hughes "Offset to Combining Mark Coverage table-from beginning of MarkMarkPos subtable", 854*e1fe3e4aSElliott Hughes ), 855*e1fe3e4aSElliott Hughes ( 856*e1fe3e4aSElliott Hughes "Offset", 857*e1fe3e4aSElliott Hughes "Mark2Coverage", 858*e1fe3e4aSElliott Hughes None, 859*e1fe3e4aSElliott Hughes None, 860*e1fe3e4aSElliott Hughes "Offset to Base Mark Coverage table-from beginning of MarkMarkPos subtable", 861*e1fe3e4aSElliott Hughes ), 862*e1fe3e4aSElliott Hughes ( 863*e1fe3e4aSElliott Hughes "uint16", 864*e1fe3e4aSElliott Hughes "ClassCount", 865*e1fe3e4aSElliott Hughes None, 866*e1fe3e4aSElliott Hughes None, 867*e1fe3e4aSElliott Hughes "Number of Combining Mark classes defined", 868*e1fe3e4aSElliott Hughes ), 869*e1fe3e4aSElliott Hughes ( 870*e1fe3e4aSElliott Hughes "Offset", 871*e1fe3e4aSElliott Hughes "Mark1Array", 872*e1fe3e4aSElliott Hughes None, 873*e1fe3e4aSElliott Hughes None, 874*e1fe3e4aSElliott Hughes "Offset to MarkArray table for Mark1-from beginning of MarkMarkPos subtable", 875*e1fe3e4aSElliott Hughes ), 876*e1fe3e4aSElliott Hughes ( 877*e1fe3e4aSElliott Hughes "Offset", 878*e1fe3e4aSElliott Hughes "Mark2Array", 879*e1fe3e4aSElliott Hughes None, 880*e1fe3e4aSElliott Hughes None, 881*e1fe3e4aSElliott Hughes "Offset to Mark2Array table for Mark2-from beginning of MarkMarkPos subtable", 882*e1fe3e4aSElliott Hughes ), 883*e1fe3e4aSElliott Hughes ], 884*e1fe3e4aSElliott Hughes ), 885*e1fe3e4aSElliott Hughes ( 886*e1fe3e4aSElliott Hughes "Mark2Array", 887*e1fe3e4aSElliott Hughes [ 888*e1fe3e4aSElliott Hughes ("uint16", "Mark2Count", None, None, "Number of Mark2 records"), 889*e1fe3e4aSElliott Hughes ( 890*e1fe3e4aSElliott Hughes "struct", 891*e1fe3e4aSElliott Hughes "Mark2Record", 892*e1fe3e4aSElliott Hughes "Mark2Count", 893*e1fe3e4aSElliott Hughes 0, 894*e1fe3e4aSElliott Hughes "Array of Mark2 records-in Coverage order", 895*e1fe3e4aSElliott Hughes ), 896*e1fe3e4aSElliott Hughes ], 897*e1fe3e4aSElliott Hughes ), 898*e1fe3e4aSElliott Hughes ( 899*e1fe3e4aSElliott Hughes "Mark2Record", 900*e1fe3e4aSElliott Hughes [ 901*e1fe3e4aSElliott Hughes ( 902*e1fe3e4aSElliott Hughes "Offset", 903*e1fe3e4aSElliott Hughes "Mark2Anchor", 904*e1fe3e4aSElliott Hughes "ClassCount", 905*e1fe3e4aSElliott Hughes 0, 906*e1fe3e4aSElliott Hughes "Array of offsets (one per class) to Anchor tables-from beginning of Mark2Array table-zero-based array", 907*e1fe3e4aSElliott Hughes ), 908*e1fe3e4aSElliott Hughes ], 909*e1fe3e4aSElliott Hughes ), 910*e1fe3e4aSElliott Hughes ( 911*e1fe3e4aSElliott Hughes "PosLookupRecord", 912*e1fe3e4aSElliott Hughes [ 913*e1fe3e4aSElliott Hughes ( 914*e1fe3e4aSElliott Hughes "uint16", 915*e1fe3e4aSElliott Hughes "SequenceIndex", 916*e1fe3e4aSElliott Hughes None, 917*e1fe3e4aSElliott Hughes None, 918*e1fe3e4aSElliott Hughes "Index to input glyph sequence-first glyph = 0", 919*e1fe3e4aSElliott Hughes ), 920*e1fe3e4aSElliott Hughes ( 921*e1fe3e4aSElliott Hughes "uint16", 922*e1fe3e4aSElliott Hughes "LookupListIndex", 923*e1fe3e4aSElliott Hughes None, 924*e1fe3e4aSElliott Hughes None, 925*e1fe3e4aSElliott Hughes "Lookup to apply to that position-zero-based", 926*e1fe3e4aSElliott Hughes ), 927*e1fe3e4aSElliott Hughes ], 928*e1fe3e4aSElliott Hughes ), 929*e1fe3e4aSElliott Hughes ( 930*e1fe3e4aSElliott Hughes "ContextPosFormat1", 931*e1fe3e4aSElliott Hughes [ 932*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 1"), 933*e1fe3e4aSElliott Hughes ( 934*e1fe3e4aSElliott Hughes "Offset", 935*e1fe3e4aSElliott Hughes "Coverage", 936*e1fe3e4aSElliott Hughes None, 937*e1fe3e4aSElliott Hughes None, 938*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of ContextPos subtable", 939*e1fe3e4aSElliott Hughes ), 940*e1fe3e4aSElliott Hughes ("uint16", "PosRuleSetCount", None, None, "Number of PosRuleSet tables"), 941*e1fe3e4aSElliott Hughes ( 942*e1fe3e4aSElliott Hughes "Offset", 943*e1fe3e4aSElliott Hughes "PosRuleSet", 944*e1fe3e4aSElliott Hughes "PosRuleSetCount", 945*e1fe3e4aSElliott Hughes 0, 946*e1fe3e4aSElliott Hughes "Array of offsets to PosRuleSet tables-from beginning of ContextPos subtable-ordered by Coverage Index", 947*e1fe3e4aSElliott Hughes ), 948*e1fe3e4aSElliott Hughes ], 949*e1fe3e4aSElliott Hughes ), 950*e1fe3e4aSElliott Hughes ( 951*e1fe3e4aSElliott Hughes "PosRuleSet", 952*e1fe3e4aSElliott Hughes [ 953*e1fe3e4aSElliott Hughes ("uint16", "PosRuleCount", None, None, "Number of PosRule tables"), 954*e1fe3e4aSElliott Hughes ( 955*e1fe3e4aSElliott Hughes "Offset", 956*e1fe3e4aSElliott Hughes "PosRule", 957*e1fe3e4aSElliott Hughes "PosRuleCount", 958*e1fe3e4aSElliott Hughes 0, 959*e1fe3e4aSElliott Hughes "Array of offsets to PosRule tables-from beginning of PosRuleSet-ordered by preference", 960*e1fe3e4aSElliott Hughes ), 961*e1fe3e4aSElliott Hughes ], 962*e1fe3e4aSElliott Hughes ), 963*e1fe3e4aSElliott Hughes ( 964*e1fe3e4aSElliott Hughes "PosRule", 965*e1fe3e4aSElliott Hughes [ 966*e1fe3e4aSElliott Hughes ( 967*e1fe3e4aSElliott Hughes "uint16", 968*e1fe3e4aSElliott Hughes "GlyphCount", 969*e1fe3e4aSElliott Hughes None, 970*e1fe3e4aSElliott Hughes None, 971*e1fe3e4aSElliott Hughes "Number of glyphs in the Input glyph sequence", 972*e1fe3e4aSElliott Hughes ), 973*e1fe3e4aSElliott Hughes ("uint16", "PosCount", None, None, "Number of PosLookupRecords"), 974*e1fe3e4aSElliott Hughes ( 975*e1fe3e4aSElliott Hughes "GlyphID", 976*e1fe3e4aSElliott Hughes "Input", 977*e1fe3e4aSElliott Hughes "GlyphCount", 978*e1fe3e4aSElliott Hughes -1, 979*e1fe3e4aSElliott Hughes "Array of input GlyphIDs-starting with the second glyph", 980*e1fe3e4aSElliott Hughes ), 981*e1fe3e4aSElliott Hughes ( 982*e1fe3e4aSElliott Hughes "struct", 983*e1fe3e4aSElliott Hughes "PosLookupRecord", 984*e1fe3e4aSElliott Hughes "PosCount", 985*e1fe3e4aSElliott Hughes 0, 986*e1fe3e4aSElliott Hughes "Array of positioning lookups-in design order", 987*e1fe3e4aSElliott Hughes ), 988*e1fe3e4aSElliott Hughes ], 989*e1fe3e4aSElliott Hughes ), 990*e1fe3e4aSElliott Hughes ( 991*e1fe3e4aSElliott Hughes "ContextPosFormat2", 992*e1fe3e4aSElliott Hughes [ 993*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 2"), 994*e1fe3e4aSElliott Hughes ( 995*e1fe3e4aSElliott Hughes "Offset", 996*e1fe3e4aSElliott Hughes "Coverage", 997*e1fe3e4aSElliott Hughes None, 998*e1fe3e4aSElliott Hughes None, 999*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of ContextPos subtable", 1000*e1fe3e4aSElliott Hughes ), 1001*e1fe3e4aSElliott Hughes ( 1002*e1fe3e4aSElliott Hughes "Offset", 1003*e1fe3e4aSElliott Hughes "ClassDef", 1004*e1fe3e4aSElliott Hughes None, 1005*e1fe3e4aSElliott Hughes None, 1006*e1fe3e4aSElliott Hughes "Offset to ClassDef table-from beginning of ContextPos subtable", 1007*e1fe3e4aSElliott Hughes ), 1008*e1fe3e4aSElliott Hughes ("uint16", "PosClassSetCount", None, None, "Number of PosClassSet tables"), 1009*e1fe3e4aSElliott Hughes ( 1010*e1fe3e4aSElliott Hughes "Offset", 1011*e1fe3e4aSElliott Hughes "PosClassSet", 1012*e1fe3e4aSElliott Hughes "PosClassSetCount", 1013*e1fe3e4aSElliott Hughes 0, 1014*e1fe3e4aSElliott Hughes "Array of offsets to PosClassSet tables-from beginning of ContextPos subtable-ordered by class-may be NULL", 1015*e1fe3e4aSElliott Hughes ), 1016*e1fe3e4aSElliott Hughes ], 1017*e1fe3e4aSElliott Hughes ), 1018*e1fe3e4aSElliott Hughes ( 1019*e1fe3e4aSElliott Hughes "PosClassSet", 1020*e1fe3e4aSElliott Hughes [ 1021*e1fe3e4aSElliott Hughes ( 1022*e1fe3e4aSElliott Hughes "uint16", 1023*e1fe3e4aSElliott Hughes "PosClassRuleCount", 1024*e1fe3e4aSElliott Hughes None, 1025*e1fe3e4aSElliott Hughes None, 1026*e1fe3e4aSElliott Hughes "Number of PosClassRule tables", 1027*e1fe3e4aSElliott Hughes ), 1028*e1fe3e4aSElliott Hughes ( 1029*e1fe3e4aSElliott Hughes "Offset", 1030*e1fe3e4aSElliott Hughes "PosClassRule", 1031*e1fe3e4aSElliott Hughes "PosClassRuleCount", 1032*e1fe3e4aSElliott Hughes 0, 1033*e1fe3e4aSElliott Hughes "Array of offsets to PosClassRule tables-from beginning of PosClassSet-ordered by preference", 1034*e1fe3e4aSElliott Hughes ), 1035*e1fe3e4aSElliott Hughes ], 1036*e1fe3e4aSElliott Hughes ), 1037*e1fe3e4aSElliott Hughes ( 1038*e1fe3e4aSElliott Hughes "PosClassRule", 1039*e1fe3e4aSElliott Hughes [ 1040*e1fe3e4aSElliott Hughes ("uint16", "GlyphCount", None, None, "Number of glyphs to be matched"), 1041*e1fe3e4aSElliott Hughes ("uint16", "PosCount", None, None, "Number of PosLookupRecords"), 1042*e1fe3e4aSElliott Hughes ( 1043*e1fe3e4aSElliott Hughes "uint16", 1044*e1fe3e4aSElliott Hughes "Class", 1045*e1fe3e4aSElliott Hughes "GlyphCount", 1046*e1fe3e4aSElliott Hughes -1, 1047*e1fe3e4aSElliott Hughes "Array of classes-beginning with the second class-to be matched to the input glyph sequence", 1048*e1fe3e4aSElliott Hughes ), 1049*e1fe3e4aSElliott Hughes ( 1050*e1fe3e4aSElliott Hughes "struct", 1051*e1fe3e4aSElliott Hughes "PosLookupRecord", 1052*e1fe3e4aSElliott Hughes "PosCount", 1053*e1fe3e4aSElliott Hughes 0, 1054*e1fe3e4aSElliott Hughes "Array of positioning lookups-in design order", 1055*e1fe3e4aSElliott Hughes ), 1056*e1fe3e4aSElliott Hughes ], 1057*e1fe3e4aSElliott Hughes ), 1058*e1fe3e4aSElliott Hughes ( 1059*e1fe3e4aSElliott Hughes "ContextPosFormat3", 1060*e1fe3e4aSElliott Hughes [ 1061*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 3"), 1062*e1fe3e4aSElliott Hughes ( 1063*e1fe3e4aSElliott Hughes "uint16", 1064*e1fe3e4aSElliott Hughes "GlyphCount", 1065*e1fe3e4aSElliott Hughes None, 1066*e1fe3e4aSElliott Hughes None, 1067*e1fe3e4aSElliott Hughes "Number of glyphs in the input sequence", 1068*e1fe3e4aSElliott Hughes ), 1069*e1fe3e4aSElliott Hughes ("uint16", "PosCount", None, None, "Number of PosLookupRecords"), 1070*e1fe3e4aSElliott Hughes ( 1071*e1fe3e4aSElliott Hughes "Offset", 1072*e1fe3e4aSElliott Hughes "Coverage", 1073*e1fe3e4aSElliott Hughes "GlyphCount", 1074*e1fe3e4aSElliott Hughes 0, 1075*e1fe3e4aSElliott Hughes "Array of offsets to Coverage tables-from beginning of ContextPos subtable", 1076*e1fe3e4aSElliott Hughes ), 1077*e1fe3e4aSElliott Hughes ( 1078*e1fe3e4aSElliott Hughes "struct", 1079*e1fe3e4aSElliott Hughes "PosLookupRecord", 1080*e1fe3e4aSElliott Hughes "PosCount", 1081*e1fe3e4aSElliott Hughes 0, 1082*e1fe3e4aSElliott Hughes "Array of positioning lookups-in design order", 1083*e1fe3e4aSElliott Hughes ), 1084*e1fe3e4aSElliott Hughes ], 1085*e1fe3e4aSElliott Hughes ), 1086*e1fe3e4aSElliott Hughes ( 1087*e1fe3e4aSElliott Hughes "ChainContextPosFormat1", 1088*e1fe3e4aSElliott Hughes [ 1089*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 1"), 1090*e1fe3e4aSElliott Hughes ( 1091*e1fe3e4aSElliott Hughes "Offset", 1092*e1fe3e4aSElliott Hughes "Coverage", 1093*e1fe3e4aSElliott Hughes None, 1094*e1fe3e4aSElliott Hughes None, 1095*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of ContextPos subtable", 1096*e1fe3e4aSElliott Hughes ), 1097*e1fe3e4aSElliott Hughes ( 1098*e1fe3e4aSElliott Hughes "uint16", 1099*e1fe3e4aSElliott Hughes "ChainPosRuleSetCount", 1100*e1fe3e4aSElliott Hughes None, 1101*e1fe3e4aSElliott Hughes None, 1102*e1fe3e4aSElliott Hughes "Number of ChainPosRuleSet tables", 1103*e1fe3e4aSElliott Hughes ), 1104*e1fe3e4aSElliott Hughes ( 1105*e1fe3e4aSElliott Hughes "Offset", 1106*e1fe3e4aSElliott Hughes "ChainPosRuleSet", 1107*e1fe3e4aSElliott Hughes "ChainPosRuleSetCount", 1108*e1fe3e4aSElliott Hughes 0, 1109*e1fe3e4aSElliott Hughes "Array of offsets to ChainPosRuleSet tables-from beginning of ContextPos subtable-ordered by Coverage Index", 1110*e1fe3e4aSElliott Hughes ), 1111*e1fe3e4aSElliott Hughes ], 1112*e1fe3e4aSElliott Hughes ), 1113*e1fe3e4aSElliott Hughes ( 1114*e1fe3e4aSElliott Hughes "ChainPosRuleSet", 1115*e1fe3e4aSElliott Hughes [ 1116*e1fe3e4aSElliott Hughes ( 1117*e1fe3e4aSElliott Hughes "uint16", 1118*e1fe3e4aSElliott Hughes "ChainPosRuleCount", 1119*e1fe3e4aSElliott Hughes None, 1120*e1fe3e4aSElliott Hughes None, 1121*e1fe3e4aSElliott Hughes "Number of ChainPosRule tables", 1122*e1fe3e4aSElliott Hughes ), 1123*e1fe3e4aSElliott Hughes ( 1124*e1fe3e4aSElliott Hughes "Offset", 1125*e1fe3e4aSElliott Hughes "ChainPosRule", 1126*e1fe3e4aSElliott Hughes "ChainPosRuleCount", 1127*e1fe3e4aSElliott Hughes 0, 1128*e1fe3e4aSElliott Hughes "Array of offsets to ChainPosRule tables-from beginning of ChainPosRuleSet-ordered by preference", 1129*e1fe3e4aSElliott Hughes ), 1130*e1fe3e4aSElliott Hughes ], 1131*e1fe3e4aSElliott Hughes ), 1132*e1fe3e4aSElliott Hughes ( 1133*e1fe3e4aSElliott Hughes "ChainPosRule", 1134*e1fe3e4aSElliott Hughes [ 1135*e1fe3e4aSElliott Hughes ( 1136*e1fe3e4aSElliott Hughes "uint16", 1137*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 1138*e1fe3e4aSElliott Hughes None, 1139*e1fe3e4aSElliott Hughes None, 1140*e1fe3e4aSElliott Hughes "Total number of glyphs in the backtrack sequence (number of glyphs to be matched before the first glyph)", 1141*e1fe3e4aSElliott Hughes ), 1142*e1fe3e4aSElliott Hughes ( 1143*e1fe3e4aSElliott Hughes "GlyphID", 1144*e1fe3e4aSElliott Hughes "Backtrack", 1145*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 1146*e1fe3e4aSElliott Hughes 0, 1147*e1fe3e4aSElliott Hughes "Array of backtracking GlyphID's (to be matched before the input sequence)", 1148*e1fe3e4aSElliott Hughes ), 1149*e1fe3e4aSElliott Hughes ( 1150*e1fe3e4aSElliott Hughes "uint16", 1151*e1fe3e4aSElliott Hughes "InputGlyphCount", 1152*e1fe3e4aSElliott Hughes None, 1153*e1fe3e4aSElliott Hughes None, 1154*e1fe3e4aSElliott Hughes "Total number of glyphs in the input sequence (includes the first glyph)", 1155*e1fe3e4aSElliott Hughes ), 1156*e1fe3e4aSElliott Hughes ( 1157*e1fe3e4aSElliott Hughes "GlyphID", 1158*e1fe3e4aSElliott Hughes "Input", 1159*e1fe3e4aSElliott Hughes "InputGlyphCount", 1160*e1fe3e4aSElliott Hughes -1, 1161*e1fe3e4aSElliott Hughes "Array of input GlyphIDs (start with second glyph)", 1162*e1fe3e4aSElliott Hughes ), 1163*e1fe3e4aSElliott Hughes ( 1164*e1fe3e4aSElliott Hughes "uint16", 1165*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 1166*e1fe3e4aSElliott Hughes None, 1167*e1fe3e4aSElliott Hughes None, 1168*e1fe3e4aSElliott Hughes "Total number of glyphs in the look ahead sequence (number of glyphs to be matched after the input sequence)", 1169*e1fe3e4aSElliott Hughes ), 1170*e1fe3e4aSElliott Hughes ( 1171*e1fe3e4aSElliott Hughes "GlyphID", 1172*e1fe3e4aSElliott Hughes "LookAhead", 1173*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 1174*e1fe3e4aSElliott Hughes 0, 1175*e1fe3e4aSElliott Hughes "Array of lookahead GlyphID's (to be matched after the input sequence)", 1176*e1fe3e4aSElliott Hughes ), 1177*e1fe3e4aSElliott Hughes ("uint16", "PosCount", None, None, "Number of PosLookupRecords"), 1178*e1fe3e4aSElliott Hughes ( 1179*e1fe3e4aSElliott Hughes "struct", 1180*e1fe3e4aSElliott Hughes "PosLookupRecord", 1181*e1fe3e4aSElliott Hughes "PosCount", 1182*e1fe3e4aSElliott Hughes 0, 1183*e1fe3e4aSElliott Hughes "Array of PosLookupRecords (in design order)", 1184*e1fe3e4aSElliott Hughes ), 1185*e1fe3e4aSElliott Hughes ], 1186*e1fe3e4aSElliott Hughes ), 1187*e1fe3e4aSElliott Hughes ( 1188*e1fe3e4aSElliott Hughes "ChainContextPosFormat2", 1189*e1fe3e4aSElliott Hughes [ 1190*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 2"), 1191*e1fe3e4aSElliott Hughes ( 1192*e1fe3e4aSElliott Hughes "Offset", 1193*e1fe3e4aSElliott Hughes "Coverage", 1194*e1fe3e4aSElliott Hughes None, 1195*e1fe3e4aSElliott Hughes None, 1196*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of ChainContextPos subtable", 1197*e1fe3e4aSElliott Hughes ), 1198*e1fe3e4aSElliott Hughes ( 1199*e1fe3e4aSElliott Hughes "Offset", 1200*e1fe3e4aSElliott Hughes "BacktrackClassDef", 1201*e1fe3e4aSElliott Hughes None, 1202*e1fe3e4aSElliott Hughes None, 1203*e1fe3e4aSElliott Hughes "Offset to ClassDef table containing backtrack sequence context-from beginning of ChainContextPos subtable", 1204*e1fe3e4aSElliott Hughes ), 1205*e1fe3e4aSElliott Hughes ( 1206*e1fe3e4aSElliott Hughes "Offset", 1207*e1fe3e4aSElliott Hughes "InputClassDef", 1208*e1fe3e4aSElliott Hughes None, 1209*e1fe3e4aSElliott Hughes None, 1210*e1fe3e4aSElliott Hughes "Offset to ClassDef table containing input sequence context-from beginning of ChainContextPos subtable", 1211*e1fe3e4aSElliott Hughes ), 1212*e1fe3e4aSElliott Hughes ( 1213*e1fe3e4aSElliott Hughes "Offset", 1214*e1fe3e4aSElliott Hughes "LookAheadClassDef", 1215*e1fe3e4aSElliott Hughes None, 1216*e1fe3e4aSElliott Hughes None, 1217*e1fe3e4aSElliott Hughes "Offset to ClassDef table containing lookahead sequence context-from beginning of ChainContextPos subtable", 1218*e1fe3e4aSElliott Hughes ), 1219*e1fe3e4aSElliott Hughes ( 1220*e1fe3e4aSElliott Hughes "uint16", 1221*e1fe3e4aSElliott Hughes "ChainPosClassSetCount", 1222*e1fe3e4aSElliott Hughes None, 1223*e1fe3e4aSElliott Hughes None, 1224*e1fe3e4aSElliott Hughes "Number of ChainPosClassSet tables", 1225*e1fe3e4aSElliott Hughes ), 1226*e1fe3e4aSElliott Hughes ( 1227*e1fe3e4aSElliott Hughes "Offset", 1228*e1fe3e4aSElliott Hughes "ChainPosClassSet", 1229*e1fe3e4aSElliott Hughes "ChainPosClassSetCount", 1230*e1fe3e4aSElliott Hughes 0, 1231*e1fe3e4aSElliott Hughes "Array of offsets to ChainPosClassSet tables-from beginning of ChainContextPos subtable-ordered by input class-may be NULL", 1232*e1fe3e4aSElliott Hughes ), 1233*e1fe3e4aSElliott Hughes ], 1234*e1fe3e4aSElliott Hughes ), 1235*e1fe3e4aSElliott Hughes ( 1236*e1fe3e4aSElliott Hughes "ChainPosClassSet", 1237*e1fe3e4aSElliott Hughes [ 1238*e1fe3e4aSElliott Hughes ( 1239*e1fe3e4aSElliott Hughes "uint16", 1240*e1fe3e4aSElliott Hughes "ChainPosClassRuleCount", 1241*e1fe3e4aSElliott Hughes None, 1242*e1fe3e4aSElliott Hughes None, 1243*e1fe3e4aSElliott Hughes "Number of ChainPosClassRule tables", 1244*e1fe3e4aSElliott Hughes ), 1245*e1fe3e4aSElliott Hughes ( 1246*e1fe3e4aSElliott Hughes "Offset", 1247*e1fe3e4aSElliott Hughes "ChainPosClassRule", 1248*e1fe3e4aSElliott Hughes "ChainPosClassRuleCount", 1249*e1fe3e4aSElliott Hughes 0, 1250*e1fe3e4aSElliott Hughes "Array of offsets to ChainPosClassRule tables-from beginning of ChainPosClassSet-ordered by preference", 1251*e1fe3e4aSElliott Hughes ), 1252*e1fe3e4aSElliott Hughes ], 1253*e1fe3e4aSElliott Hughes ), 1254*e1fe3e4aSElliott Hughes ( 1255*e1fe3e4aSElliott Hughes "ChainPosClassRule", 1256*e1fe3e4aSElliott Hughes [ 1257*e1fe3e4aSElliott Hughes ( 1258*e1fe3e4aSElliott Hughes "uint16", 1259*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 1260*e1fe3e4aSElliott Hughes None, 1261*e1fe3e4aSElliott Hughes None, 1262*e1fe3e4aSElliott Hughes "Total number of glyphs in the backtrack sequence (number of glyphs to be matched before the first glyph)", 1263*e1fe3e4aSElliott Hughes ), 1264*e1fe3e4aSElliott Hughes ( 1265*e1fe3e4aSElliott Hughes "uint16", 1266*e1fe3e4aSElliott Hughes "Backtrack", 1267*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 1268*e1fe3e4aSElliott Hughes 0, 1269*e1fe3e4aSElliott Hughes "Array of backtracking classes(to be matched before the input sequence)", 1270*e1fe3e4aSElliott Hughes ), 1271*e1fe3e4aSElliott Hughes ( 1272*e1fe3e4aSElliott Hughes "uint16", 1273*e1fe3e4aSElliott Hughes "InputGlyphCount", 1274*e1fe3e4aSElliott Hughes None, 1275*e1fe3e4aSElliott Hughes None, 1276*e1fe3e4aSElliott Hughes "Total number of classes in the input sequence (includes the first class)", 1277*e1fe3e4aSElliott Hughes ), 1278*e1fe3e4aSElliott Hughes ( 1279*e1fe3e4aSElliott Hughes "uint16", 1280*e1fe3e4aSElliott Hughes "Input", 1281*e1fe3e4aSElliott Hughes "InputGlyphCount", 1282*e1fe3e4aSElliott Hughes -1, 1283*e1fe3e4aSElliott Hughes "Array of input classes(start with second class; to be matched with the input glyph sequence)", 1284*e1fe3e4aSElliott Hughes ), 1285*e1fe3e4aSElliott Hughes ( 1286*e1fe3e4aSElliott Hughes "uint16", 1287*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 1288*e1fe3e4aSElliott Hughes None, 1289*e1fe3e4aSElliott Hughes None, 1290*e1fe3e4aSElliott Hughes "Total number of classes in the look ahead sequence (number of classes to be matched after the input sequence)", 1291*e1fe3e4aSElliott Hughes ), 1292*e1fe3e4aSElliott Hughes ( 1293*e1fe3e4aSElliott Hughes "uint16", 1294*e1fe3e4aSElliott Hughes "LookAhead", 1295*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 1296*e1fe3e4aSElliott Hughes 0, 1297*e1fe3e4aSElliott Hughes "Array of lookahead classes(to be matched after the input sequence)", 1298*e1fe3e4aSElliott Hughes ), 1299*e1fe3e4aSElliott Hughes ("uint16", "PosCount", None, None, "Number of PosLookupRecords"), 1300*e1fe3e4aSElliott Hughes ( 1301*e1fe3e4aSElliott Hughes "struct", 1302*e1fe3e4aSElliott Hughes "PosLookupRecord", 1303*e1fe3e4aSElliott Hughes "PosCount", 1304*e1fe3e4aSElliott Hughes 0, 1305*e1fe3e4aSElliott Hughes "Array of PosLookupRecords (in design order)", 1306*e1fe3e4aSElliott Hughes ), 1307*e1fe3e4aSElliott Hughes ], 1308*e1fe3e4aSElliott Hughes ), 1309*e1fe3e4aSElliott Hughes ( 1310*e1fe3e4aSElliott Hughes "ChainContextPosFormat3", 1311*e1fe3e4aSElliott Hughes [ 1312*e1fe3e4aSElliott Hughes ("uint16", "PosFormat", None, None, "Format identifier-format = 3"), 1313*e1fe3e4aSElliott Hughes ( 1314*e1fe3e4aSElliott Hughes "uint16", 1315*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 1316*e1fe3e4aSElliott Hughes None, 1317*e1fe3e4aSElliott Hughes None, 1318*e1fe3e4aSElliott Hughes "Number of glyphs in the backtracking sequence", 1319*e1fe3e4aSElliott Hughes ), 1320*e1fe3e4aSElliott Hughes ( 1321*e1fe3e4aSElliott Hughes "Offset", 1322*e1fe3e4aSElliott Hughes "BacktrackCoverage", 1323*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 1324*e1fe3e4aSElliott Hughes 0, 1325*e1fe3e4aSElliott Hughes "Array of offsets to coverage tables in backtracking sequence, in glyph sequence order", 1326*e1fe3e4aSElliott Hughes ), 1327*e1fe3e4aSElliott Hughes ( 1328*e1fe3e4aSElliott Hughes "uint16", 1329*e1fe3e4aSElliott Hughes "InputGlyphCount", 1330*e1fe3e4aSElliott Hughes None, 1331*e1fe3e4aSElliott Hughes None, 1332*e1fe3e4aSElliott Hughes "Number of glyphs in input sequence", 1333*e1fe3e4aSElliott Hughes ), 1334*e1fe3e4aSElliott Hughes ( 1335*e1fe3e4aSElliott Hughes "Offset", 1336*e1fe3e4aSElliott Hughes "InputCoverage", 1337*e1fe3e4aSElliott Hughes "InputGlyphCount", 1338*e1fe3e4aSElliott Hughes 0, 1339*e1fe3e4aSElliott Hughes "Array of offsets to coverage tables in input sequence, in glyph sequence order", 1340*e1fe3e4aSElliott Hughes ), 1341*e1fe3e4aSElliott Hughes ( 1342*e1fe3e4aSElliott Hughes "uint16", 1343*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 1344*e1fe3e4aSElliott Hughes None, 1345*e1fe3e4aSElliott Hughes None, 1346*e1fe3e4aSElliott Hughes "Number of glyphs in lookahead sequence", 1347*e1fe3e4aSElliott Hughes ), 1348*e1fe3e4aSElliott Hughes ( 1349*e1fe3e4aSElliott Hughes "Offset", 1350*e1fe3e4aSElliott Hughes "LookAheadCoverage", 1351*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 1352*e1fe3e4aSElliott Hughes 0, 1353*e1fe3e4aSElliott Hughes "Array of offsets to coverage tables in lookahead sequence, in glyph sequence order", 1354*e1fe3e4aSElliott Hughes ), 1355*e1fe3e4aSElliott Hughes ("uint16", "PosCount", None, None, "Number of PosLookupRecords"), 1356*e1fe3e4aSElliott Hughes ( 1357*e1fe3e4aSElliott Hughes "struct", 1358*e1fe3e4aSElliott Hughes "PosLookupRecord", 1359*e1fe3e4aSElliott Hughes "PosCount", 1360*e1fe3e4aSElliott Hughes 0, 1361*e1fe3e4aSElliott Hughes "Array of PosLookupRecords,in design order", 1362*e1fe3e4aSElliott Hughes ), 1363*e1fe3e4aSElliott Hughes ], 1364*e1fe3e4aSElliott Hughes ), 1365*e1fe3e4aSElliott Hughes ( 1366*e1fe3e4aSElliott Hughes "ExtensionPosFormat1", 1367*e1fe3e4aSElliott Hughes [ 1368*e1fe3e4aSElliott Hughes ("uint16", "ExtFormat", None, None, "Format identifier. Set to 1."), 1369*e1fe3e4aSElliott Hughes ( 1370*e1fe3e4aSElliott Hughes "uint16", 1371*e1fe3e4aSElliott Hughes "ExtensionLookupType", 1372*e1fe3e4aSElliott Hughes None, 1373*e1fe3e4aSElliott Hughes None, 1374*e1fe3e4aSElliott Hughes "Lookup type of subtable referenced by ExtensionOffset (i.e. the extension subtable).", 1375*e1fe3e4aSElliott Hughes ), 1376*e1fe3e4aSElliott Hughes ("LOffset", "ExtSubTable", None, None, "Offset to SubTable"), 1377*e1fe3e4aSElliott Hughes ], 1378*e1fe3e4aSElliott Hughes ), 1379*e1fe3e4aSElliott Hughes # ('ValueRecord', [ 1380*e1fe3e4aSElliott Hughes # ('int16', 'XPlacement', None, None, 'Horizontal adjustment for placement-in design units'), 1381*e1fe3e4aSElliott Hughes # ('int16', 'YPlacement', None, None, 'Vertical adjustment for placement-in design units'), 1382*e1fe3e4aSElliott Hughes # ('int16', 'XAdvance', None, None, 'Horizontal adjustment for advance-in design units (only used for horizontal writing)'), 1383*e1fe3e4aSElliott Hughes # ('int16', 'YAdvance', None, None, 'Vertical adjustment for advance-in design units (only used for vertical writing)'), 1384*e1fe3e4aSElliott Hughes # ('Offset', 'XPlaDevice', None, None, 'Offset to Device table for horizontal placement-measured from beginning of PosTable (may be NULL)'), 1385*e1fe3e4aSElliott Hughes # ('Offset', 'YPlaDevice', None, None, 'Offset to Device table for vertical placement-measured from beginning of PosTable (may be NULL)'), 1386*e1fe3e4aSElliott Hughes # ('Offset', 'XAdvDevice', None, None, 'Offset to Device table for horizontal advance-measured from beginning of PosTable (may be NULL)'), 1387*e1fe3e4aSElliott Hughes # ('Offset', 'YAdvDevice', None, None, 'Offset to Device table for vertical advance-measured from beginning of PosTable (may be NULL)'), 1388*e1fe3e4aSElliott Hughes # ]), 1389*e1fe3e4aSElliott Hughes ( 1390*e1fe3e4aSElliott Hughes "AnchorFormat1", 1391*e1fe3e4aSElliott Hughes [ 1392*e1fe3e4aSElliott Hughes ("uint16", "AnchorFormat", None, None, "Format identifier-format = 1"), 1393*e1fe3e4aSElliott Hughes ("int16", "XCoordinate", None, None, "Horizontal value-in design units"), 1394*e1fe3e4aSElliott Hughes ("int16", "YCoordinate", None, None, "Vertical value-in design units"), 1395*e1fe3e4aSElliott Hughes ], 1396*e1fe3e4aSElliott Hughes ), 1397*e1fe3e4aSElliott Hughes ( 1398*e1fe3e4aSElliott Hughes "AnchorFormat2", 1399*e1fe3e4aSElliott Hughes [ 1400*e1fe3e4aSElliott Hughes ("uint16", "AnchorFormat", None, None, "Format identifier-format = 2"), 1401*e1fe3e4aSElliott Hughes ("int16", "XCoordinate", None, None, "Horizontal value-in design units"), 1402*e1fe3e4aSElliott Hughes ("int16", "YCoordinate", None, None, "Vertical value-in design units"), 1403*e1fe3e4aSElliott Hughes ("uint16", "AnchorPoint", None, None, "Index to glyph contour point"), 1404*e1fe3e4aSElliott Hughes ], 1405*e1fe3e4aSElliott Hughes ), 1406*e1fe3e4aSElliott Hughes ( 1407*e1fe3e4aSElliott Hughes "AnchorFormat3", 1408*e1fe3e4aSElliott Hughes [ 1409*e1fe3e4aSElliott Hughes ("uint16", "AnchorFormat", None, None, "Format identifier-format = 3"), 1410*e1fe3e4aSElliott Hughes ("int16", "XCoordinate", None, None, "Horizontal value-in design units"), 1411*e1fe3e4aSElliott Hughes ("int16", "YCoordinate", None, None, "Vertical value-in design units"), 1412*e1fe3e4aSElliott Hughes ( 1413*e1fe3e4aSElliott Hughes "Offset", 1414*e1fe3e4aSElliott Hughes "XDeviceTable", 1415*e1fe3e4aSElliott Hughes None, 1416*e1fe3e4aSElliott Hughes None, 1417*e1fe3e4aSElliott Hughes "Offset to Device table for X coordinate- from beginning of Anchor table (may be NULL)", 1418*e1fe3e4aSElliott Hughes ), 1419*e1fe3e4aSElliott Hughes ( 1420*e1fe3e4aSElliott Hughes "Offset", 1421*e1fe3e4aSElliott Hughes "YDeviceTable", 1422*e1fe3e4aSElliott Hughes None, 1423*e1fe3e4aSElliott Hughes None, 1424*e1fe3e4aSElliott Hughes "Offset to Device table for Y coordinate- from beginning of Anchor table (may be NULL)", 1425*e1fe3e4aSElliott Hughes ), 1426*e1fe3e4aSElliott Hughes ], 1427*e1fe3e4aSElliott Hughes ), 1428*e1fe3e4aSElliott Hughes ( 1429*e1fe3e4aSElliott Hughes "MarkArray", 1430*e1fe3e4aSElliott Hughes [ 1431*e1fe3e4aSElliott Hughes ("uint16", "MarkCount", None, None, "Number of MarkRecords"), 1432*e1fe3e4aSElliott Hughes ( 1433*e1fe3e4aSElliott Hughes "struct", 1434*e1fe3e4aSElliott Hughes "MarkRecord", 1435*e1fe3e4aSElliott Hughes "MarkCount", 1436*e1fe3e4aSElliott Hughes 0, 1437*e1fe3e4aSElliott Hughes "Array of MarkRecords-in Coverage order", 1438*e1fe3e4aSElliott Hughes ), 1439*e1fe3e4aSElliott Hughes ], 1440*e1fe3e4aSElliott Hughes ), 1441*e1fe3e4aSElliott Hughes ( 1442*e1fe3e4aSElliott Hughes "MarkRecord", 1443*e1fe3e4aSElliott Hughes [ 1444*e1fe3e4aSElliott Hughes ("uint16", "Class", None, None, "Class defined for this mark"), 1445*e1fe3e4aSElliott Hughes ( 1446*e1fe3e4aSElliott Hughes "Offset", 1447*e1fe3e4aSElliott Hughes "MarkAnchor", 1448*e1fe3e4aSElliott Hughes None, 1449*e1fe3e4aSElliott Hughes None, 1450*e1fe3e4aSElliott Hughes "Offset to Anchor table-from beginning of MarkArray table", 1451*e1fe3e4aSElliott Hughes ), 1452*e1fe3e4aSElliott Hughes ], 1453*e1fe3e4aSElliott Hughes ), 1454*e1fe3e4aSElliott Hughes # 1455*e1fe3e4aSElliott Hughes # gsub 1456*e1fe3e4aSElliott Hughes # 1457*e1fe3e4aSElliott Hughes ( 1458*e1fe3e4aSElliott Hughes "GSUB", 1459*e1fe3e4aSElliott Hughes [ 1460*e1fe3e4aSElliott Hughes ( 1461*e1fe3e4aSElliott Hughes "Version", 1462*e1fe3e4aSElliott Hughes "Version", 1463*e1fe3e4aSElliott Hughes None, 1464*e1fe3e4aSElliott Hughes None, 1465*e1fe3e4aSElliott Hughes "Version of the GSUB table- 0x00010000 or 0x00010001", 1466*e1fe3e4aSElliott Hughes ), 1467*e1fe3e4aSElliott Hughes ( 1468*e1fe3e4aSElliott Hughes "Offset", 1469*e1fe3e4aSElliott Hughes "ScriptList", 1470*e1fe3e4aSElliott Hughes None, 1471*e1fe3e4aSElliott Hughes None, 1472*e1fe3e4aSElliott Hughes "Offset to ScriptList table-from beginning of GSUB table", 1473*e1fe3e4aSElliott Hughes ), 1474*e1fe3e4aSElliott Hughes ( 1475*e1fe3e4aSElliott Hughes "Offset", 1476*e1fe3e4aSElliott Hughes "FeatureList", 1477*e1fe3e4aSElliott Hughes None, 1478*e1fe3e4aSElliott Hughes None, 1479*e1fe3e4aSElliott Hughes "Offset to FeatureList table-from beginning of GSUB table", 1480*e1fe3e4aSElliott Hughes ), 1481*e1fe3e4aSElliott Hughes ( 1482*e1fe3e4aSElliott Hughes "Offset", 1483*e1fe3e4aSElliott Hughes "LookupList", 1484*e1fe3e4aSElliott Hughes None, 1485*e1fe3e4aSElliott Hughes None, 1486*e1fe3e4aSElliott Hughes "Offset to LookupList table-from beginning of GSUB table", 1487*e1fe3e4aSElliott Hughes ), 1488*e1fe3e4aSElliott Hughes ( 1489*e1fe3e4aSElliott Hughes "LOffset", 1490*e1fe3e4aSElliott Hughes "FeatureVariations", 1491*e1fe3e4aSElliott Hughes None, 1492*e1fe3e4aSElliott Hughes "Version >= 0x00010001", 1493*e1fe3e4aSElliott Hughes "Offset to FeatureVariations table-from beginning of GSUB table", 1494*e1fe3e4aSElliott Hughes ), 1495*e1fe3e4aSElliott Hughes ], 1496*e1fe3e4aSElliott Hughes ), 1497*e1fe3e4aSElliott Hughes ( 1498*e1fe3e4aSElliott Hughes "SingleSubstFormat1", 1499*e1fe3e4aSElliott Hughes [ 1500*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 1"), 1501*e1fe3e4aSElliott Hughes ( 1502*e1fe3e4aSElliott Hughes "Offset", 1503*e1fe3e4aSElliott Hughes "Coverage", 1504*e1fe3e4aSElliott Hughes None, 1505*e1fe3e4aSElliott Hughes None, 1506*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of Substitution table", 1507*e1fe3e4aSElliott Hughes ), 1508*e1fe3e4aSElliott Hughes ( 1509*e1fe3e4aSElliott Hughes "uint16", 1510*e1fe3e4aSElliott Hughes "DeltaGlyphID", 1511*e1fe3e4aSElliott Hughes None, 1512*e1fe3e4aSElliott Hughes None, 1513*e1fe3e4aSElliott Hughes "Add to original GlyphID modulo 65536 to get substitute GlyphID", 1514*e1fe3e4aSElliott Hughes ), 1515*e1fe3e4aSElliott Hughes ], 1516*e1fe3e4aSElliott Hughes ), 1517*e1fe3e4aSElliott Hughes ( 1518*e1fe3e4aSElliott Hughes "SingleSubstFormat2", 1519*e1fe3e4aSElliott Hughes [ 1520*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 2"), 1521*e1fe3e4aSElliott Hughes ( 1522*e1fe3e4aSElliott Hughes "Offset", 1523*e1fe3e4aSElliott Hughes "Coverage", 1524*e1fe3e4aSElliott Hughes None, 1525*e1fe3e4aSElliott Hughes None, 1526*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of Substitution table", 1527*e1fe3e4aSElliott Hughes ), 1528*e1fe3e4aSElliott Hughes ( 1529*e1fe3e4aSElliott Hughes "uint16", 1530*e1fe3e4aSElliott Hughes "GlyphCount", 1531*e1fe3e4aSElliott Hughes None, 1532*e1fe3e4aSElliott Hughes None, 1533*e1fe3e4aSElliott Hughes "Number of GlyphIDs in the Substitute array", 1534*e1fe3e4aSElliott Hughes ), 1535*e1fe3e4aSElliott Hughes ( 1536*e1fe3e4aSElliott Hughes "GlyphID", 1537*e1fe3e4aSElliott Hughes "Substitute", 1538*e1fe3e4aSElliott Hughes "GlyphCount", 1539*e1fe3e4aSElliott Hughes 0, 1540*e1fe3e4aSElliott Hughes "Array of substitute GlyphIDs-ordered by Coverage Index", 1541*e1fe3e4aSElliott Hughes ), 1542*e1fe3e4aSElliott Hughes ], 1543*e1fe3e4aSElliott Hughes ), 1544*e1fe3e4aSElliott Hughes ( 1545*e1fe3e4aSElliott Hughes "MultipleSubstFormat1", 1546*e1fe3e4aSElliott Hughes [ 1547*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 1"), 1548*e1fe3e4aSElliott Hughes ( 1549*e1fe3e4aSElliott Hughes "Offset", 1550*e1fe3e4aSElliott Hughes "Coverage", 1551*e1fe3e4aSElliott Hughes None, 1552*e1fe3e4aSElliott Hughes None, 1553*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of Substitution table", 1554*e1fe3e4aSElliott Hughes ), 1555*e1fe3e4aSElliott Hughes ( 1556*e1fe3e4aSElliott Hughes "uint16", 1557*e1fe3e4aSElliott Hughes "SequenceCount", 1558*e1fe3e4aSElliott Hughes None, 1559*e1fe3e4aSElliott Hughes None, 1560*e1fe3e4aSElliott Hughes "Number of Sequence table offsets in the Sequence array", 1561*e1fe3e4aSElliott Hughes ), 1562*e1fe3e4aSElliott Hughes ( 1563*e1fe3e4aSElliott Hughes "Offset", 1564*e1fe3e4aSElliott Hughes "Sequence", 1565*e1fe3e4aSElliott Hughes "SequenceCount", 1566*e1fe3e4aSElliott Hughes 0, 1567*e1fe3e4aSElliott Hughes "Array of offsets to Sequence tables-from beginning of Substitution table-ordered by Coverage Index", 1568*e1fe3e4aSElliott Hughes ), 1569*e1fe3e4aSElliott Hughes ], 1570*e1fe3e4aSElliott Hughes ), 1571*e1fe3e4aSElliott Hughes ( 1572*e1fe3e4aSElliott Hughes "Sequence", 1573*e1fe3e4aSElliott Hughes [ 1574*e1fe3e4aSElliott Hughes ( 1575*e1fe3e4aSElliott Hughes "uint16", 1576*e1fe3e4aSElliott Hughes "GlyphCount", 1577*e1fe3e4aSElliott Hughes None, 1578*e1fe3e4aSElliott Hughes None, 1579*e1fe3e4aSElliott Hughes "Number of GlyphIDs in the Substitute array. This should always be greater than 0.", 1580*e1fe3e4aSElliott Hughes ), 1581*e1fe3e4aSElliott Hughes ( 1582*e1fe3e4aSElliott Hughes "GlyphID", 1583*e1fe3e4aSElliott Hughes "Substitute", 1584*e1fe3e4aSElliott Hughes "GlyphCount", 1585*e1fe3e4aSElliott Hughes 0, 1586*e1fe3e4aSElliott Hughes "String of GlyphIDs to substitute", 1587*e1fe3e4aSElliott Hughes ), 1588*e1fe3e4aSElliott Hughes ], 1589*e1fe3e4aSElliott Hughes ), 1590*e1fe3e4aSElliott Hughes ( 1591*e1fe3e4aSElliott Hughes "AlternateSubstFormat1", 1592*e1fe3e4aSElliott Hughes [ 1593*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 1"), 1594*e1fe3e4aSElliott Hughes ( 1595*e1fe3e4aSElliott Hughes "Offset", 1596*e1fe3e4aSElliott Hughes "Coverage", 1597*e1fe3e4aSElliott Hughes None, 1598*e1fe3e4aSElliott Hughes None, 1599*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of Substitution table", 1600*e1fe3e4aSElliott Hughes ), 1601*e1fe3e4aSElliott Hughes ( 1602*e1fe3e4aSElliott Hughes "uint16", 1603*e1fe3e4aSElliott Hughes "AlternateSetCount", 1604*e1fe3e4aSElliott Hughes None, 1605*e1fe3e4aSElliott Hughes None, 1606*e1fe3e4aSElliott Hughes "Number of AlternateSet tables", 1607*e1fe3e4aSElliott Hughes ), 1608*e1fe3e4aSElliott Hughes ( 1609*e1fe3e4aSElliott Hughes "Offset", 1610*e1fe3e4aSElliott Hughes "AlternateSet", 1611*e1fe3e4aSElliott Hughes "AlternateSetCount", 1612*e1fe3e4aSElliott Hughes 0, 1613*e1fe3e4aSElliott Hughes "Array of offsets to AlternateSet tables-from beginning of Substitution table-ordered by Coverage Index", 1614*e1fe3e4aSElliott Hughes ), 1615*e1fe3e4aSElliott Hughes ], 1616*e1fe3e4aSElliott Hughes ), 1617*e1fe3e4aSElliott Hughes ( 1618*e1fe3e4aSElliott Hughes "AlternateSet", 1619*e1fe3e4aSElliott Hughes [ 1620*e1fe3e4aSElliott Hughes ( 1621*e1fe3e4aSElliott Hughes "uint16", 1622*e1fe3e4aSElliott Hughes "GlyphCount", 1623*e1fe3e4aSElliott Hughes None, 1624*e1fe3e4aSElliott Hughes None, 1625*e1fe3e4aSElliott Hughes "Number of GlyphIDs in the Alternate array", 1626*e1fe3e4aSElliott Hughes ), 1627*e1fe3e4aSElliott Hughes ( 1628*e1fe3e4aSElliott Hughes "GlyphID", 1629*e1fe3e4aSElliott Hughes "Alternate", 1630*e1fe3e4aSElliott Hughes "GlyphCount", 1631*e1fe3e4aSElliott Hughes 0, 1632*e1fe3e4aSElliott Hughes "Array of alternate GlyphIDs-in arbitrary order", 1633*e1fe3e4aSElliott Hughes ), 1634*e1fe3e4aSElliott Hughes ], 1635*e1fe3e4aSElliott Hughes ), 1636*e1fe3e4aSElliott Hughes ( 1637*e1fe3e4aSElliott Hughes "LigatureSubstFormat1", 1638*e1fe3e4aSElliott Hughes [ 1639*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 1"), 1640*e1fe3e4aSElliott Hughes ( 1641*e1fe3e4aSElliott Hughes "Offset", 1642*e1fe3e4aSElliott Hughes "Coverage", 1643*e1fe3e4aSElliott Hughes None, 1644*e1fe3e4aSElliott Hughes None, 1645*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of Substitution table", 1646*e1fe3e4aSElliott Hughes ), 1647*e1fe3e4aSElliott Hughes ("uint16", "LigSetCount", None, None, "Number of LigatureSet tables"), 1648*e1fe3e4aSElliott Hughes ( 1649*e1fe3e4aSElliott Hughes "Offset", 1650*e1fe3e4aSElliott Hughes "LigatureSet", 1651*e1fe3e4aSElliott Hughes "LigSetCount", 1652*e1fe3e4aSElliott Hughes 0, 1653*e1fe3e4aSElliott Hughes "Array of offsets to LigatureSet tables-from beginning of Substitution table-ordered by Coverage Index", 1654*e1fe3e4aSElliott Hughes ), 1655*e1fe3e4aSElliott Hughes ], 1656*e1fe3e4aSElliott Hughes ), 1657*e1fe3e4aSElliott Hughes ( 1658*e1fe3e4aSElliott Hughes "LigatureSet", 1659*e1fe3e4aSElliott Hughes [ 1660*e1fe3e4aSElliott Hughes ("uint16", "LigatureCount", None, None, "Number of Ligature tables"), 1661*e1fe3e4aSElliott Hughes ( 1662*e1fe3e4aSElliott Hughes "Offset", 1663*e1fe3e4aSElliott Hughes "Ligature", 1664*e1fe3e4aSElliott Hughes "LigatureCount", 1665*e1fe3e4aSElliott Hughes 0, 1666*e1fe3e4aSElliott Hughes "Array of offsets to Ligature tables-from beginning of LigatureSet table-ordered by preference", 1667*e1fe3e4aSElliott Hughes ), 1668*e1fe3e4aSElliott Hughes ], 1669*e1fe3e4aSElliott Hughes ), 1670*e1fe3e4aSElliott Hughes ( 1671*e1fe3e4aSElliott Hughes "Ligature", 1672*e1fe3e4aSElliott Hughes [ 1673*e1fe3e4aSElliott Hughes ("GlyphID", "LigGlyph", None, None, "GlyphID of ligature to substitute"), 1674*e1fe3e4aSElliott Hughes ("uint16", "CompCount", None, None, "Number of components in the ligature"), 1675*e1fe3e4aSElliott Hughes ( 1676*e1fe3e4aSElliott Hughes "GlyphID", 1677*e1fe3e4aSElliott Hughes "Component", 1678*e1fe3e4aSElliott Hughes "CompCount", 1679*e1fe3e4aSElliott Hughes -1, 1680*e1fe3e4aSElliott Hughes "Array of component GlyphIDs-start with the second component-ordered in writing direction", 1681*e1fe3e4aSElliott Hughes ), 1682*e1fe3e4aSElliott Hughes ], 1683*e1fe3e4aSElliott Hughes ), 1684*e1fe3e4aSElliott Hughes ( 1685*e1fe3e4aSElliott Hughes "SubstLookupRecord", 1686*e1fe3e4aSElliott Hughes [ 1687*e1fe3e4aSElliott Hughes ( 1688*e1fe3e4aSElliott Hughes "uint16", 1689*e1fe3e4aSElliott Hughes "SequenceIndex", 1690*e1fe3e4aSElliott Hughes None, 1691*e1fe3e4aSElliott Hughes None, 1692*e1fe3e4aSElliott Hughes "Index into current glyph sequence-first glyph = 0", 1693*e1fe3e4aSElliott Hughes ), 1694*e1fe3e4aSElliott Hughes ( 1695*e1fe3e4aSElliott Hughes "uint16", 1696*e1fe3e4aSElliott Hughes "LookupListIndex", 1697*e1fe3e4aSElliott Hughes None, 1698*e1fe3e4aSElliott Hughes None, 1699*e1fe3e4aSElliott Hughes "Lookup to apply to that position-zero-based", 1700*e1fe3e4aSElliott Hughes ), 1701*e1fe3e4aSElliott Hughes ], 1702*e1fe3e4aSElliott Hughes ), 1703*e1fe3e4aSElliott Hughes ( 1704*e1fe3e4aSElliott Hughes "ContextSubstFormat1", 1705*e1fe3e4aSElliott Hughes [ 1706*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 1"), 1707*e1fe3e4aSElliott Hughes ( 1708*e1fe3e4aSElliott Hughes "Offset", 1709*e1fe3e4aSElliott Hughes "Coverage", 1710*e1fe3e4aSElliott Hughes None, 1711*e1fe3e4aSElliott Hughes None, 1712*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of Substitution table", 1713*e1fe3e4aSElliott Hughes ), 1714*e1fe3e4aSElliott Hughes ( 1715*e1fe3e4aSElliott Hughes "uint16", 1716*e1fe3e4aSElliott Hughes "SubRuleSetCount", 1717*e1fe3e4aSElliott Hughes None, 1718*e1fe3e4aSElliott Hughes None, 1719*e1fe3e4aSElliott Hughes "Number of SubRuleSet tables-must equal GlyphCount in Coverage table", 1720*e1fe3e4aSElliott Hughes ), 1721*e1fe3e4aSElliott Hughes ( 1722*e1fe3e4aSElliott Hughes "Offset", 1723*e1fe3e4aSElliott Hughes "SubRuleSet", 1724*e1fe3e4aSElliott Hughes "SubRuleSetCount", 1725*e1fe3e4aSElliott Hughes 0, 1726*e1fe3e4aSElliott Hughes "Array of offsets to SubRuleSet tables-from beginning of Substitution table-ordered by Coverage Index", 1727*e1fe3e4aSElliott Hughes ), 1728*e1fe3e4aSElliott Hughes ], 1729*e1fe3e4aSElliott Hughes ), 1730*e1fe3e4aSElliott Hughes ( 1731*e1fe3e4aSElliott Hughes "SubRuleSet", 1732*e1fe3e4aSElliott Hughes [ 1733*e1fe3e4aSElliott Hughes ("uint16", "SubRuleCount", None, None, "Number of SubRule tables"), 1734*e1fe3e4aSElliott Hughes ( 1735*e1fe3e4aSElliott Hughes "Offset", 1736*e1fe3e4aSElliott Hughes "SubRule", 1737*e1fe3e4aSElliott Hughes "SubRuleCount", 1738*e1fe3e4aSElliott Hughes 0, 1739*e1fe3e4aSElliott Hughes "Array of offsets to SubRule tables-from beginning of SubRuleSet table-ordered by preference", 1740*e1fe3e4aSElliott Hughes ), 1741*e1fe3e4aSElliott Hughes ], 1742*e1fe3e4aSElliott Hughes ), 1743*e1fe3e4aSElliott Hughes ( 1744*e1fe3e4aSElliott Hughes "SubRule", 1745*e1fe3e4aSElliott Hughes [ 1746*e1fe3e4aSElliott Hughes ( 1747*e1fe3e4aSElliott Hughes "uint16", 1748*e1fe3e4aSElliott Hughes "GlyphCount", 1749*e1fe3e4aSElliott Hughes None, 1750*e1fe3e4aSElliott Hughes None, 1751*e1fe3e4aSElliott Hughes "Total number of glyphs in input glyph sequence-includes the first glyph", 1752*e1fe3e4aSElliott Hughes ), 1753*e1fe3e4aSElliott Hughes ("uint16", "SubstCount", None, None, "Number of SubstLookupRecords"), 1754*e1fe3e4aSElliott Hughes ( 1755*e1fe3e4aSElliott Hughes "GlyphID", 1756*e1fe3e4aSElliott Hughes "Input", 1757*e1fe3e4aSElliott Hughes "GlyphCount", 1758*e1fe3e4aSElliott Hughes -1, 1759*e1fe3e4aSElliott Hughes "Array of input GlyphIDs-start with second glyph", 1760*e1fe3e4aSElliott Hughes ), 1761*e1fe3e4aSElliott Hughes ( 1762*e1fe3e4aSElliott Hughes "struct", 1763*e1fe3e4aSElliott Hughes "SubstLookupRecord", 1764*e1fe3e4aSElliott Hughes "SubstCount", 1765*e1fe3e4aSElliott Hughes 0, 1766*e1fe3e4aSElliott Hughes "Array of SubstLookupRecords-in design order", 1767*e1fe3e4aSElliott Hughes ), 1768*e1fe3e4aSElliott Hughes ], 1769*e1fe3e4aSElliott Hughes ), 1770*e1fe3e4aSElliott Hughes ( 1771*e1fe3e4aSElliott Hughes "ContextSubstFormat2", 1772*e1fe3e4aSElliott Hughes [ 1773*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 2"), 1774*e1fe3e4aSElliott Hughes ( 1775*e1fe3e4aSElliott Hughes "Offset", 1776*e1fe3e4aSElliott Hughes "Coverage", 1777*e1fe3e4aSElliott Hughes None, 1778*e1fe3e4aSElliott Hughes None, 1779*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of Substitution table", 1780*e1fe3e4aSElliott Hughes ), 1781*e1fe3e4aSElliott Hughes ( 1782*e1fe3e4aSElliott Hughes "Offset", 1783*e1fe3e4aSElliott Hughes "ClassDef", 1784*e1fe3e4aSElliott Hughes None, 1785*e1fe3e4aSElliott Hughes None, 1786*e1fe3e4aSElliott Hughes "Offset to glyph ClassDef table-from beginning of Substitution table", 1787*e1fe3e4aSElliott Hughes ), 1788*e1fe3e4aSElliott Hughes ("uint16", "SubClassSetCount", None, None, "Number of SubClassSet tables"), 1789*e1fe3e4aSElliott Hughes ( 1790*e1fe3e4aSElliott Hughes "Offset", 1791*e1fe3e4aSElliott Hughes "SubClassSet", 1792*e1fe3e4aSElliott Hughes "SubClassSetCount", 1793*e1fe3e4aSElliott Hughes 0, 1794*e1fe3e4aSElliott Hughes "Array of offsets to SubClassSet tables-from beginning of Substitution table-ordered by class-may be NULL", 1795*e1fe3e4aSElliott Hughes ), 1796*e1fe3e4aSElliott Hughes ], 1797*e1fe3e4aSElliott Hughes ), 1798*e1fe3e4aSElliott Hughes ( 1799*e1fe3e4aSElliott Hughes "SubClassSet", 1800*e1fe3e4aSElliott Hughes [ 1801*e1fe3e4aSElliott Hughes ( 1802*e1fe3e4aSElliott Hughes "uint16", 1803*e1fe3e4aSElliott Hughes "SubClassRuleCount", 1804*e1fe3e4aSElliott Hughes None, 1805*e1fe3e4aSElliott Hughes None, 1806*e1fe3e4aSElliott Hughes "Number of SubClassRule tables", 1807*e1fe3e4aSElliott Hughes ), 1808*e1fe3e4aSElliott Hughes ( 1809*e1fe3e4aSElliott Hughes "Offset", 1810*e1fe3e4aSElliott Hughes "SubClassRule", 1811*e1fe3e4aSElliott Hughes "SubClassRuleCount", 1812*e1fe3e4aSElliott Hughes 0, 1813*e1fe3e4aSElliott Hughes "Array of offsets to SubClassRule tables-from beginning of SubClassSet-ordered by preference", 1814*e1fe3e4aSElliott Hughes ), 1815*e1fe3e4aSElliott Hughes ], 1816*e1fe3e4aSElliott Hughes ), 1817*e1fe3e4aSElliott Hughes ( 1818*e1fe3e4aSElliott Hughes "SubClassRule", 1819*e1fe3e4aSElliott Hughes [ 1820*e1fe3e4aSElliott Hughes ( 1821*e1fe3e4aSElliott Hughes "uint16", 1822*e1fe3e4aSElliott Hughes "GlyphCount", 1823*e1fe3e4aSElliott Hughes None, 1824*e1fe3e4aSElliott Hughes None, 1825*e1fe3e4aSElliott Hughes "Total number of classes specified for the context in the rule-includes the first class", 1826*e1fe3e4aSElliott Hughes ), 1827*e1fe3e4aSElliott Hughes ("uint16", "SubstCount", None, None, "Number of SubstLookupRecords"), 1828*e1fe3e4aSElliott Hughes ( 1829*e1fe3e4aSElliott Hughes "uint16", 1830*e1fe3e4aSElliott Hughes "Class", 1831*e1fe3e4aSElliott Hughes "GlyphCount", 1832*e1fe3e4aSElliott Hughes -1, 1833*e1fe3e4aSElliott Hughes "Array of classes-beginning with the second class-to be matched to the input glyph class sequence", 1834*e1fe3e4aSElliott Hughes ), 1835*e1fe3e4aSElliott Hughes ( 1836*e1fe3e4aSElliott Hughes "struct", 1837*e1fe3e4aSElliott Hughes "SubstLookupRecord", 1838*e1fe3e4aSElliott Hughes "SubstCount", 1839*e1fe3e4aSElliott Hughes 0, 1840*e1fe3e4aSElliott Hughes "Array of Substitution lookups-in design order", 1841*e1fe3e4aSElliott Hughes ), 1842*e1fe3e4aSElliott Hughes ], 1843*e1fe3e4aSElliott Hughes ), 1844*e1fe3e4aSElliott Hughes ( 1845*e1fe3e4aSElliott Hughes "ContextSubstFormat3", 1846*e1fe3e4aSElliott Hughes [ 1847*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 3"), 1848*e1fe3e4aSElliott Hughes ( 1849*e1fe3e4aSElliott Hughes "uint16", 1850*e1fe3e4aSElliott Hughes "GlyphCount", 1851*e1fe3e4aSElliott Hughes None, 1852*e1fe3e4aSElliott Hughes None, 1853*e1fe3e4aSElliott Hughes "Number of glyphs in the input glyph sequence", 1854*e1fe3e4aSElliott Hughes ), 1855*e1fe3e4aSElliott Hughes ("uint16", "SubstCount", None, None, "Number of SubstLookupRecords"), 1856*e1fe3e4aSElliott Hughes ( 1857*e1fe3e4aSElliott Hughes "Offset", 1858*e1fe3e4aSElliott Hughes "Coverage", 1859*e1fe3e4aSElliott Hughes "GlyphCount", 1860*e1fe3e4aSElliott Hughes 0, 1861*e1fe3e4aSElliott Hughes "Array of offsets to Coverage table-from beginning of Substitution table-in glyph sequence order", 1862*e1fe3e4aSElliott Hughes ), 1863*e1fe3e4aSElliott Hughes ( 1864*e1fe3e4aSElliott Hughes "struct", 1865*e1fe3e4aSElliott Hughes "SubstLookupRecord", 1866*e1fe3e4aSElliott Hughes "SubstCount", 1867*e1fe3e4aSElliott Hughes 0, 1868*e1fe3e4aSElliott Hughes "Array of SubstLookupRecords-in design order", 1869*e1fe3e4aSElliott Hughes ), 1870*e1fe3e4aSElliott Hughes ], 1871*e1fe3e4aSElliott Hughes ), 1872*e1fe3e4aSElliott Hughes ( 1873*e1fe3e4aSElliott Hughes "ChainContextSubstFormat1", 1874*e1fe3e4aSElliott Hughes [ 1875*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 1"), 1876*e1fe3e4aSElliott Hughes ( 1877*e1fe3e4aSElliott Hughes "Offset", 1878*e1fe3e4aSElliott Hughes "Coverage", 1879*e1fe3e4aSElliott Hughes None, 1880*e1fe3e4aSElliott Hughes None, 1881*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of Substitution table", 1882*e1fe3e4aSElliott Hughes ), 1883*e1fe3e4aSElliott Hughes ( 1884*e1fe3e4aSElliott Hughes "uint16", 1885*e1fe3e4aSElliott Hughes "ChainSubRuleSetCount", 1886*e1fe3e4aSElliott Hughes None, 1887*e1fe3e4aSElliott Hughes None, 1888*e1fe3e4aSElliott Hughes "Number of ChainSubRuleSet tables-must equal GlyphCount in Coverage table", 1889*e1fe3e4aSElliott Hughes ), 1890*e1fe3e4aSElliott Hughes ( 1891*e1fe3e4aSElliott Hughes "Offset", 1892*e1fe3e4aSElliott Hughes "ChainSubRuleSet", 1893*e1fe3e4aSElliott Hughes "ChainSubRuleSetCount", 1894*e1fe3e4aSElliott Hughes 0, 1895*e1fe3e4aSElliott Hughes "Array of offsets to ChainSubRuleSet tables-from beginning of Substitution table-ordered by Coverage Index", 1896*e1fe3e4aSElliott Hughes ), 1897*e1fe3e4aSElliott Hughes ], 1898*e1fe3e4aSElliott Hughes ), 1899*e1fe3e4aSElliott Hughes ( 1900*e1fe3e4aSElliott Hughes "ChainSubRuleSet", 1901*e1fe3e4aSElliott Hughes [ 1902*e1fe3e4aSElliott Hughes ( 1903*e1fe3e4aSElliott Hughes "uint16", 1904*e1fe3e4aSElliott Hughes "ChainSubRuleCount", 1905*e1fe3e4aSElliott Hughes None, 1906*e1fe3e4aSElliott Hughes None, 1907*e1fe3e4aSElliott Hughes "Number of ChainSubRule tables", 1908*e1fe3e4aSElliott Hughes ), 1909*e1fe3e4aSElliott Hughes ( 1910*e1fe3e4aSElliott Hughes "Offset", 1911*e1fe3e4aSElliott Hughes "ChainSubRule", 1912*e1fe3e4aSElliott Hughes "ChainSubRuleCount", 1913*e1fe3e4aSElliott Hughes 0, 1914*e1fe3e4aSElliott Hughes "Array of offsets to ChainSubRule tables-from beginning of ChainSubRuleSet table-ordered by preference", 1915*e1fe3e4aSElliott Hughes ), 1916*e1fe3e4aSElliott Hughes ], 1917*e1fe3e4aSElliott Hughes ), 1918*e1fe3e4aSElliott Hughes ( 1919*e1fe3e4aSElliott Hughes "ChainSubRule", 1920*e1fe3e4aSElliott Hughes [ 1921*e1fe3e4aSElliott Hughes ( 1922*e1fe3e4aSElliott Hughes "uint16", 1923*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 1924*e1fe3e4aSElliott Hughes None, 1925*e1fe3e4aSElliott Hughes None, 1926*e1fe3e4aSElliott Hughes "Total number of glyphs in the backtrack sequence (number of glyphs to be matched before the first glyph)", 1927*e1fe3e4aSElliott Hughes ), 1928*e1fe3e4aSElliott Hughes ( 1929*e1fe3e4aSElliott Hughes "GlyphID", 1930*e1fe3e4aSElliott Hughes "Backtrack", 1931*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 1932*e1fe3e4aSElliott Hughes 0, 1933*e1fe3e4aSElliott Hughes "Array of backtracking GlyphID's (to be matched before the input sequence)", 1934*e1fe3e4aSElliott Hughes ), 1935*e1fe3e4aSElliott Hughes ( 1936*e1fe3e4aSElliott Hughes "uint16", 1937*e1fe3e4aSElliott Hughes "InputGlyphCount", 1938*e1fe3e4aSElliott Hughes None, 1939*e1fe3e4aSElliott Hughes None, 1940*e1fe3e4aSElliott Hughes "Total number of glyphs in the input sequence (includes the first glyph)", 1941*e1fe3e4aSElliott Hughes ), 1942*e1fe3e4aSElliott Hughes ( 1943*e1fe3e4aSElliott Hughes "GlyphID", 1944*e1fe3e4aSElliott Hughes "Input", 1945*e1fe3e4aSElliott Hughes "InputGlyphCount", 1946*e1fe3e4aSElliott Hughes -1, 1947*e1fe3e4aSElliott Hughes "Array of input GlyphIDs (start with second glyph)", 1948*e1fe3e4aSElliott Hughes ), 1949*e1fe3e4aSElliott Hughes ( 1950*e1fe3e4aSElliott Hughes "uint16", 1951*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 1952*e1fe3e4aSElliott Hughes None, 1953*e1fe3e4aSElliott Hughes None, 1954*e1fe3e4aSElliott Hughes "Total number of glyphs in the look ahead sequence (number of glyphs to be matched after the input sequence)", 1955*e1fe3e4aSElliott Hughes ), 1956*e1fe3e4aSElliott Hughes ( 1957*e1fe3e4aSElliott Hughes "GlyphID", 1958*e1fe3e4aSElliott Hughes "LookAhead", 1959*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 1960*e1fe3e4aSElliott Hughes 0, 1961*e1fe3e4aSElliott Hughes "Array of lookahead GlyphID's (to be matched after the input sequence)", 1962*e1fe3e4aSElliott Hughes ), 1963*e1fe3e4aSElliott Hughes ("uint16", "SubstCount", None, None, "Number of SubstLookupRecords"), 1964*e1fe3e4aSElliott Hughes ( 1965*e1fe3e4aSElliott Hughes "struct", 1966*e1fe3e4aSElliott Hughes "SubstLookupRecord", 1967*e1fe3e4aSElliott Hughes "SubstCount", 1968*e1fe3e4aSElliott Hughes 0, 1969*e1fe3e4aSElliott Hughes "Array of SubstLookupRecords (in design order)", 1970*e1fe3e4aSElliott Hughes ), 1971*e1fe3e4aSElliott Hughes ], 1972*e1fe3e4aSElliott Hughes ), 1973*e1fe3e4aSElliott Hughes ( 1974*e1fe3e4aSElliott Hughes "ChainContextSubstFormat2", 1975*e1fe3e4aSElliott Hughes [ 1976*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 2"), 1977*e1fe3e4aSElliott Hughes ( 1978*e1fe3e4aSElliott Hughes "Offset", 1979*e1fe3e4aSElliott Hughes "Coverage", 1980*e1fe3e4aSElliott Hughes None, 1981*e1fe3e4aSElliott Hughes None, 1982*e1fe3e4aSElliott Hughes "Offset to Coverage table-from beginning of Substitution table", 1983*e1fe3e4aSElliott Hughes ), 1984*e1fe3e4aSElliott Hughes ( 1985*e1fe3e4aSElliott Hughes "Offset", 1986*e1fe3e4aSElliott Hughes "BacktrackClassDef", 1987*e1fe3e4aSElliott Hughes None, 1988*e1fe3e4aSElliott Hughes None, 1989*e1fe3e4aSElliott Hughes "Offset to glyph ClassDef table containing backtrack sequence data-from beginning of Substitution table", 1990*e1fe3e4aSElliott Hughes ), 1991*e1fe3e4aSElliott Hughes ( 1992*e1fe3e4aSElliott Hughes "Offset", 1993*e1fe3e4aSElliott Hughes "InputClassDef", 1994*e1fe3e4aSElliott Hughes None, 1995*e1fe3e4aSElliott Hughes None, 1996*e1fe3e4aSElliott Hughes "Offset to glyph ClassDef table containing input sequence data-from beginning of Substitution table", 1997*e1fe3e4aSElliott Hughes ), 1998*e1fe3e4aSElliott Hughes ( 1999*e1fe3e4aSElliott Hughes "Offset", 2000*e1fe3e4aSElliott Hughes "LookAheadClassDef", 2001*e1fe3e4aSElliott Hughes None, 2002*e1fe3e4aSElliott Hughes None, 2003*e1fe3e4aSElliott Hughes "Offset to glyph ClassDef table containing lookahead sequence data-from beginning of Substitution table", 2004*e1fe3e4aSElliott Hughes ), 2005*e1fe3e4aSElliott Hughes ( 2006*e1fe3e4aSElliott Hughes "uint16", 2007*e1fe3e4aSElliott Hughes "ChainSubClassSetCount", 2008*e1fe3e4aSElliott Hughes None, 2009*e1fe3e4aSElliott Hughes None, 2010*e1fe3e4aSElliott Hughes "Number of ChainSubClassSet tables", 2011*e1fe3e4aSElliott Hughes ), 2012*e1fe3e4aSElliott Hughes ( 2013*e1fe3e4aSElliott Hughes "Offset", 2014*e1fe3e4aSElliott Hughes "ChainSubClassSet", 2015*e1fe3e4aSElliott Hughes "ChainSubClassSetCount", 2016*e1fe3e4aSElliott Hughes 0, 2017*e1fe3e4aSElliott Hughes "Array of offsets to ChainSubClassSet tables-from beginning of Substitution table-ordered by input class-may be NULL", 2018*e1fe3e4aSElliott Hughes ), 2019*e1fe3e4aSElliott Hughes ], 2020*e1fe3e4aSElliott Hughes ), 2021*e1fe3e4aSElliott Hughes ( 2022*e1fe3e4aSElliott Hughes "ChainSubClassSet", 2023*e1fe3e4aSElliott Hughes [ 2024*e1fe3e4aSElliott Hughes ( 2025*e1fe3e4aSElliott Hughes "uint16", 2026*e1fe3e4aSElliott Hughes "ChainSubClassRuleCount", 2027*e1fe3e4aSElliott Hughes None, 2028*e1fe3e4aSElliott Hughes None, 2029*e1fe3e4aSElliott Hughes "Number of ChainSubClassRule tables", 2030*e1fe3e4aSElliott Hughes ), 2031*e1fe3e4aSElliott Hughes ( 2032*e1fe3e4aSElliott Hughes "Offset", 2033*e1fe3e4aSElliott Hughes "ChainSubClassRule", 2034*e1fe3e4aSElliott Hughes "ChainSubClassRuleCount", 2035*e1fe3e4aSElliott Hughes 0, 2036*e1fe3e4aSElliott Hughes "Array of offsets to ChainSubClassRule tables-from beginning of ChainSubClassSet-ordered by preference", 2037*e1fe3e4aSElliott Hughes ), 2038*e1fe3e4aSElliott Hughes ], 2039*e1fe3e4aSElliott Hughes ), 2040*e1fe3e4aSElliott Hughes ( 2041*e1fe3e4aSElliott Hughes "ChainSubClassRule", 2042*e1fe3e4aSElliott Hughes [ 2043*e1fe3e4aSElliott Hughes ( 2044*e1fe3e4aSElliott Hughes "uint16", 2045*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 2046*e1fe3e4aSElliott Hughes None, 2047*e1fe3e4aSElliott Hughes None, 2048*e1fe3e4aSElliott Hughes "Total number of glyphs in the backtrack sequence (number of glyphs to be matched before the first glyph)", 2049*e1fe3e4aSElliott Hughes ), 2050*e1fe3e4aSElliott Hughes ( 2051*e1fe3e4aSElliott Hughes "uint16", 2052*e1fe3e4aSElliott Hughes "Backtrack", 2053*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 2054*e1fe3e4aSElliott Hughes 0, 2055*e1fe3e4aSElliott Hughes "Array of backtracking classes(to be matched before the input sequence)", 2056*e1fe3e4aSElliott Hughes ), 2057*e1fe3e4aSElliott Hughes ( 2058*e1fe3e4aSElliott Hughes "uint16", 2059*e1fe3e4aSElliott Hughes "InputGlyphCount", 2060*e1fe3e4aSElliott Hughes None, 2061*e1fe3e4aSElliott Hughes None, 2062*e1fe3e4aSElliott Hughes "Total number of classes in the input sequence (includes the first class)", 2063*e1fe3e4aSElliott Hughes ), 2064*e1fe3e4aSElliott Hughes ( 2065*e1fe3e4aSElliott Hughes "uint16", 2066*e1fe3e4aSElliott Hughes "Input", 2067*e1fe3e4aSElliott Hughes "InputGlyphCount", 2068*e1fe3e4aSElliott Hughes -1, 2069*e1fe3e4aSElliott Hughes "Array of input classes(start with second class; to be matched with the input glyph sequence)", 2070*e1fe3e4aSElliott Hughes ), 2071*e1fe3e4aSElliott Hughes ( 2072*e1fe3e4aSElliott Hughes "uint16", 2073*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 2074*e1fe3e4aSElliott Hughes None, 2075*e1fe3e4aSElliott Hughes None, 2076*e1fe3e4aSElliott Hughes "Total number of classes in the look ahead sequence (number of classes to be matched after the input sequence)", 2077*e1fe3e4aSElliott Hughes ), 2078*e1fe3e4aSElliott Hughes ( 2079*e1fe3e4aSElliott Hughes "uint16", 2080*e1fe3e4aSElliott Hughes "LookAhead", 2081*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 2082*e1fe3e4aSElliott Hughes 0, 2083*e1fe3e4aSElliott Hughes "Array of lookahead classes(to be matched after the input sequence)", 2084*e1fe3e4aSElliott Hughes ), 2085*e1fe3e4aSElliott Hughes ("uint16", "SubstCount", None, None, "Number of SubstLookupRecords"), 2086*e1fe3e4aSElliott Hughes ( 2087*e1fe3e4aSElliott Hughes "struct", 2088*e1fe3e4aSElliott Hughes "SubstLookupRecord", 2089*e1fe3e4aSElliott Hughes "SubstCount", 2090*e1fe3e4aSElliott Hughes 0, 2091*e1fe3e4aSElliott Hughes "Array of SubstLookupRecords (in design order)", 2092*e1fe3e4aSElliott Hughes ), 2093*e1fe3e4aSElliott Hughes ], 2094*e1fe3e4aSElliott Hughes ), 2095*e1fe3e4aSElliott Hughes ( 2096*e1fe3e4aSElliott Hughes "ChainContextSubstFormat3", 2097*e1fe3e4aSElliott Hughes [ 2098*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 3"), 2099*e1fe3e4aSElliott Hughes ( 2100*e1fe3e4aSElliott Hughes "uint16", 2101*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 2102*e1fe3e4aSElliott Hughes None, 2103*e1fe3e4aSElliott Hughes None, 2104*e1fe3e4aSElliott Hughes "Number of glyphs in the backtracking sequence", 2105*e1fe3e4aSElliott Hughes ), 2106*e1fe3e4aSElliott Hughes ( 2107*e1fe3e4aSElliott Hughes "Offset", 2108*e1fe3e4aSElliott Hughes "BacktrackCoverage", 2109*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 2110*e1fe3e4aSElliott Hughes 0, 2111*e1fe3e4aSElliott Hughes "Array of offsets to coverage tables in backtracking sequence, in glyph sequence order", 2112*e1fe3e4aSElliott Hughes ), 2113*e1fe3e4aSElliott Hughes ( 2114*e1fe3e4aSElliott Hughes "uint16", 2115*e1fe3e4aSElliott Hughes "InputGlyphCount", 2116*e1fe3e4aSElliott Hughes None, 2117*e1fe3e4aSElliott Hughes None, 2118*e1fe3e4aSElliott Hughes "Number of glyphs in input sequence", 2119*e1fe3e4aSElliott Hughes ), 2120*e1fe3e4aSElliott Hughes ( 2121*e1fe3e4aSElliott Hughes "Offset", 2122*e1fe3e4aSElliott Hughes "InputCoverage", 2123*e1fe3e4aSElliott Hughes "InputGlyphCount", 2124*e1fe3e4aSElliott Hughes 0, 2125*e1fe3e4aSElliott Hughes "Array of offsets to coverage tables in input sequence, in glyph sequence order", 2126*e1fe3e4aSElliott Hughes ), 2127*e1fe3e4aSElliott Hughes ( 2128*e1fe3e4aSElliott Hughes "uint16", 2129*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 2130*e1fe3e4aSElliott Hughes None, 2131*e1fe3e4aSElliott Hughes None, 2132*e1fe3e4aSElliott Hughes "Number of glyphs in lookahead sequence", 2133*e1fe3e4aSElliott Hughes ), 2134*e1fe3e4aSElliott Hughes ( 2135*e1fe3e4aSElliott Hughes "Offset", 2136*e1fe3e4aSElliott Hughes "LookAheadCoverage", 2137*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 2138*e1fe3e4aSElliott Hughes 0, 2139*e1fe3e4aSElliott Hughes "Array of offsets to coverage tables in lookahead sequence, in glyph sequence order", 2140*e1fe3e4aSElliott Hughes ), 2141*e1fe3e4aSElliott Hughes ("uint16", "SubstCount", None, None, "Number of SubstLookupRecords"), 2142*e1fe3e4aSElliott Hughes ( 2143*e1fe3e4aSElliott Hughes "struct", 2144*e1fe3e4aSElliott Hughes "SubstLookupRecord", 2145*e1fe3e4aSElliott Hughes "SubstCount", 2146*e1fe3e4aSElliott Hughes 0, 2147*e1fe3e4aSElliott Hughes "Array of SubstLookupRecords, in design order", 2148*e1fe3e4aSElliott Hughes ), 2149*e1fe3e4aSElliott Hughes ], 2150*e1fe3e4aSElliott Hughes ), 2151*e1fe3e4aSElliott Hughes ( 2152*e1fe3e4aSElliott Hughes "ExtensionSubstFormat1", 2153*e1fe3e4aSElliott Hughes [ 2154*e1fe3e4aSElliott Hughes ("uint16", "ExtFormat", None, None, "Format identifier. Set to 1."), 2155*e1fe3e4aSElliott Hughes ( 2156*e1fe3e4aSElliott Hughes "uint16", 2157*e1fe3e4aSElliott Hughes "ExtensionLookupType", 2158*e1fe3e4aSElliott Hughes None, 2159*e1fe3e4aSElliott Hughes None, 2160*e1fe3e4aSElliott Hughes "Lookup type of subtable referenced by ExtensionOffset (i.e. the extension subtable).", 2161*e1fe3e4aSElliott Hughes ), 2162*e1fe3e4aSElliott Hughes ( 2163*e1fe3e4aSElliott Hughes "LOffset", 2164*e1fe3e4aSElliott Hughes "ExtSubTable", 2165*e1fe3e4aSElliott Hughes None, 2166*e1fe3e4aSElliott Hughes None, 2167*e1fe3e4aSElliott Hughes "Array of offsets to Lookup tables-from beginning of LookupList -zero based (first lookup is Lookup index = 0)", 2168*e1fe3e4aSElliott Hughes ), 2169*e1fe3e4aSElliott Hughes ], 2170*e1fe3e4aSElliott Hughes ), 2171*e1fe3e4aSElliott Hughes ( 2172*e1fe3e4aSElliott Hughes "ReverseChainSingleSubstFormat1", 2173*e1fe3e4aSElliott Hughes [ 2174*e1fe3e4aSElliott Hughes ("uint16", "SubstFormat", None, None, "Format identifier-format = 1"), 2175*e1fe3e4aSElliott Hughes ( 2176*e1fe3e4aSElliott Hughes "Offset", 2177*e1fe3e4aSElliott Hughes "Coverage", 2178*e1fe3e4aSElliott Hughes None, 2179*e1fe3e4aSElliott Hughes 0, 2180*e1fe3e4aSElliott Hughes "Offset to Coverage table - from beginning of Substitution table", 2181*e1fe3e4aSElliott Hughes ), 2182*e1fe3e4aSElliott Hughes ( 2183*e1fe3e4aSElliott Hughes "uint16", 2184*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 2185*e1fe3e4aSElliott Hughes None, 2186*e1fe3e4aSElliott Hughes None, 2187*e1fe3e4aSElliott Hughes "Number of glyphs in the backtracking sequence", 2188*e1fe3e4aSElliott Hughes ), 2189*e1fe3e4aSElliott Hughes ( 2190*e1fe3e4aSElliott Hughes "Offset", 2191*e1fe3e4aSElliott Hughes "BacktrackCoverage", 2192*e1fe3e4aSElliott Hughes "BacktrackGlyphCount", 2193*e1fe3e4aSElliott Hughes 0, 2194*e1fe3e4aSElliott Hughes "Array of offsets to coverage tables in backtracking sequence, in glyph sequence order", 2195*e1fe3e4aSElliott Hughes ), 2196*e1fe3e4aSElliott Hughes ( 2197*e1fe3e4aSElliott Hughes "uint16", 2198*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 2199*e1fe3e4aSElliott Hughes None, 2200*e1fe3e4aSElliott Hughes None, 2201*e1fe3e4aSElliott Hughes "Number of glyphs in lookahead sequence", 2202*e1fe3e4aSElliott Hughes ), 2203*e1fe3e4aSElliott Hughes ( 2204*e1fe3e4aSElliott Hughes "Offset", 2205*e1fe3e4aSElliott Hughes "LookAheadCoverage", 2206*e1fe3e4aSElliott Hughes "LookAheadGlyphCount", 2207*e1fe3e4aSElliott Hughes 0, 2208*e1fe3e4aSElliott Hughes "Array of offsets to coverage tables in lookahead sequence, in glyph sequence order", 2209*e1fe3e4aSElliott Hughes ), 2210*e1fe3e4aSElliott Hughes ( 2211*e1fe3e4aSElliott Hughes "uint16", 2212*e1fe3e4aSElliott Hughes "GlyphCount", 2213*e1fe3e4aSElliott Hughes None, 2214*e1fe3e4aSElliott Hughes None, 2215*e1fe3e4aSElliott Hughes "Number of GlyphIDs in the Substitute array", 2216*e1fe3e4aSElliott Hughes ), 2217*e1fe3e4aSElliott Hughes ( 2218*e1fe3e4aSElliott Hughes "GlyphID", 2219*e1fe3e4aSElliott Hughes "Substitute", 2220*e1fe3e4aSElliott Hughes "GlyphCount", 2221*e1fe3e4aSElliott Hughes 0, 2222*e1fe3e4aSElliott Hughes "Array of substitute GlyphIDs-ordered by Coverage index", 2223*e1fe3e4aSElliott Hughes ), 2224*e1fe3e4aSElliott Hughes ], 2225*e1fe3e4aSElliott Hughes ), 2226*e1fe3e4aSElliott Hughes # 2227*e1fe3e4aSElliott Hughes # gdef 2228*e1fe3e4aSElliott Hughes # 2229*e1fe3e4aSElliott Hughes ( 2230*e1fe3e4aSElliott Hughes "GDEF", 2231*e1fe3e4aSElliott Hughes [ 2232*e1fe3e4aSElliott Hughes ( 2233*e1fe3e4aSElliott Hughes "Version", 2234*e1fe3e4aSElliott Hughes "Version", 2235*e1fe3e4aSElliott Hughes None, 2236*e1fe3e4aSElliott Hughes None, 2237*e1fe3e4aSElliott Hughes "Version of the GDEF table- 0x00010000, 0x00010002, or 0x00010003", 2238*e1fe3e4aSElliott Hughes ), 2239*e1fe3e4aSElliott Hughes ( 2240*e1fe3e4aSElliott Hughes "Offset", 2241*e1fe3e4aSElliott Hughes "GlyphClassDef", 2242*e1fe3e4aSElliott Hughes None, 2243*e1fe3e4aSElliott Hughes None, 2244*e1fe3e4aSElliott Hughes "Offset to class definition table for glyph type-from beginning of GDEF header (may be NULL)", 2245*e1fe3e4aSElliott Hughes ), 2246*e1fe3e4aSElliott Hughes ( 2247*e1fe3e4aSElliott Hughes "Offset", 2248*e1fe3e4aSElliott Hughes "AttachList", 2249*e1fe3e4aSElliott Hughes None, 2250*e1fe3e4aSElliott Hughes None, 2251*e1fe3e4aSElliott Hughes "Offset to list of glyphs with attachment points-from beginning of GDEF header (may be NULL)", 2252*e1fe3e4aSElliott Hughes ), 2253*e1fe3e4aSElliott Hughes ( 2254*e1fe3e4aSElliott Hughes "Offset", 2255*e1fe3e4aSElliott Hughes "LigCaretList", 2256*e1fe3e4aSElliott Hughes None, 2257*e1fe3e4aSElliott Hughes None, 2258*e1fe3e4aSElliott Hughes "Offset to list of positioning points for ligature carets-from beginning of GDEF header (may be NULL)", 2259*e1fe3e4aSElliott Hughes ), 2260*e1fe3e4aSElliott Hughes ( 2261*e1fe3e4aSElliott Hughes "Offset", 2262*e1fe3e4aSElliott Hughes "MarkAttachClassDef", 2263*e1fe3e4aSElliott Hughes None, 2264*e1fe3e4aSElliott Hughes None, 2265*e1fe3e4aSElliott Hughes "Offset to class definition table for mark attachment type-from beginning of GDEF header (may be NULL)", 2266*e1fe3e4aSElliott Hughes ), 2267*e1fe3e4aSElliott Hughes ( 2268*e1fe3e4aSElliott Hughes "Offset", 2269*e1fe3e4aSElliott Hughes "MarkGlyphSetsDef", 2270*e1fe3e4aSElliott Hughes None, 2271*e1fe3e4aSElliott Hughes "Version >= 0x00010002", 2272*e1fe3e4aSElliott Hughes "Offset to the table of mark set definitions-from beginning of GDEF header (may be NULL)", 2273*e1fe3e4aSElliott Hughes ), 2274*e1fe3e4aSElliott Hughes ( 2275*e1fe3e4aSElliott Hughes "LOffset", 2276*e1fe3e4aSElliott Hughes "VarStore", 2277*e1fe3e4aSElliott Hughes None, 2278*e1fe3e4aSElliott Hughes "Version >= 0x00010003", 2279*e1fe3e4aSElliott Hughes "Offset to variation store (may be NULL)", 2280*e1fe3e4aSElliott Hughes ), 2281*e1fe3e4aSElliott Hughes ], 2282*e1fe3e4aSElliott Hughes ), 2283*e1fe3e4aSElliott Hughes ( 2284*e1fe3e4aSElliott Hughes "AttachList", 2285*e1fe3e4aSElliott Hughes [ 2286*e1fe3e4aSElliott Hughes ( 2287*e1fe3e4aSElliott Hughes "Offset", 2288*e1fe3e4aSElliott Hughes "Coverage", 2289*e1fe3e4aSElliott Hughes None, 2290*e1fe3e4aSElliott Hughes None, 2291*e1fe3e4aSElliott Hughes "Offset to Coverage table - from beginning of AttachList table", 2292*e1fe3e4aSElliott Hughes ), 2293*e1fe3e4aSElliott Hughes ( 2294*e1fe3e4aSElliott Hughes "uint16", 2295*e1fe3e4aSElliott Hughes "GlyphCount", 2296*e1fe3e4aSElliott Hughes None, 2297*e1fe3e4aSElliott Hughes None, 2298*e1fe3e4aSElliott Hughes "Number of glyphs with attachment points", 2299*e1fe3e4aSElliott Hughes ), 2300*e1fe3e4aSElliott Hughes ( 2301*e1fe3e4aSElliott Hughes "Offset", 2302*e1fe3e4aSElliott Hughes "AttachPoint", 2303*e1fe3e4aSElliott Hughes "GlyphCount", 2304*e1fe3e4aSElliott Hughes 0, 2305*e1fe3e4aSElliott Hughes "Array of offsets to AttachPoint tables-from beginning of AttachList table-in Coverage Index order", 2306*e1fe3e4aSElliott Hughes ), 2307*e1fe3e4aSElliott Hughes ], 2308*e1fe3e4aSElliott Hughes ), 2309*e1fe3e4aSElliott Hughes ( 2310*e1fe3e4aSElliott Hughes "AttachPoint", 2311*e1fe3e4aSElliott Hughes [ 2312*e1fe3e4aSElliott Hughes ( 2313*e1fe3e4aSElliott Hughes "uint16", 2314*e1fe3e4aSElliott Hughes "PointCount", 2315*e1fe3e4aSElliott Hughes None, 2316*e1fe3e4aSElliott Hughes None, 2317*e1fe3e4aSElliott Hughes "Number of attachment points on this glyph", 2318*e1fe3e4aSElliott Hughes ), 2319*e1fe3e4aSElliott Hughes ( 2320*e1fe3e4aSElliott Hughes "uint16", 2321*e1fe3e4aSElliott Hughes "PointIndex", 2322*e1fe3e4aSElliott Hughes "PointCount", 2323*e1fe3e4aSElliott Hughes 0, 2324*e1fe3e4aSElliott Hughes "Array of contour point indices -in increasing numerical order", 2325*e1fe3e4aSElliott Hughes ), 2326*e1fe3e4aSElliott Hughes ], 2327*e1fe3e4aSElliott Hughes ), 2328*e1fe3e4aSElliott Hughes ( 2329*e1fe3e4aSElliott Hughes "LigCaretList", 2330*e1fe3e4aSElliott Hughes [ 2331*e1fe3e4aSElliott Hughes ( 2332*e1fe3e4aSElliott Hughes "Offset", 2333*e1fe3e4aSElliott Hughes "Coverage", 2334*e1fe3e4aSElliott Hughes None, 2335*e1fe3e4aSElliott Hughes None, 2336*e1fe3e4aSElliott Hughes "Offset to Coverage table - from beginning of LigCaretList table", 2337*e1fe3e4aSElliott Hughes ), 2338*e1fe3e4aSElliott Hughes ("uint16", "LigGlyphCount", None, None, "Number of ligature glyphs"), 2339*e1fe3e4aSElliott Hughes ( 2340*e1fe3e4aSElliott Hughes "Offset", 2341*e1fe3e4aSElliott Hughes "LigGlyph", 2342*e1fe3e4aSElliott Hughes "LigGlyphCount", 2343*e1fe3e4aSElliott Hughes 0, 2344*e1fe3e4aSElliott Hughes "Array of offsets to LigGlyph tables-from beginning of LigCaretList table-in Coverage Index order", 2345*e1fe3e4aSElliott Hughes ), 2346*e1fe3e4aSElliott Hughes ], 2347*e1fe3e4aSElliott Hughes ), 2348*e1fe3e4aSElliott Hughes ( 2349*e1fe3e4aSElliott Hughes "LigGlyph", 2350*e1fe3e4aSElliott Hughes [ 2351*e1fe3e4aSElliott Hughes ( 2352*e1fe3e4aSElliott Hughes "uint16", 2353*e1fe3e4aSElliott Hughes "CaretCount", 2354*e1fe3e4aSElliott Hughes None, 2355*e1fe3e4aSElliott Hughes None, 2356*e1fe3e4aSElliott Hughes "Number of CaretValues for this ligature (components - 1)", 2357*e1fe3e4aSElliott Hughes ), 2358*e1fe3e4aSElliott Hughes ( 2359*e1fe3e4aSElliott Hughes "Offset", 2360*e1fe3e4aSElliott Hughes "CaretValue", 2361*e1fe3e4aSElliott Hughes "CaretCount", 2362*e1fe3e4aSElliott Hughes 0, 2363*e1fe3e4aSElliott Hughes "Array of offsets to CaretValue tables-from beginning of LigGlyph table-in increasing coordinate order", 2364*e1fe3e4aSElliott Hughes ), 2365*e1fe3e4aSElliott Hughes ], 2366*e1fe3e4aSElliott Hughes ), 2367*e1fe3e4aSElliott Hughes ( 2368*e1fe3e4aSElliott Hughes "CaretValueFormat1", 2369*e1fe3e4aSElliott Hughes [ 2370*e1fe3e4aSElliott Hughes ("uint16", "CaretValueFormat", None, None, "Format identifier-format = 1"), 2371*e1fe3e4aSElliott Hughes ("int16", "Coordinate", None, None, "X or Y value, in design units"), 2372*e1fe3e4aSElliott Hughes ], 2373*e1fe3e4aSElliott Hughes ), 2374*e1fe3e4aSElliott Hughes ( 2375*e1fe3e4aSElliott Hughes "CaretValueFormat2", 2376*e1fe3e4aSElliott Hughes [ 2377*e1fe3e4aSElliott Hughes ("uint16", "CaretValueFormat", None, None, "Format identifier-format = 2"), 2378*e1fe3e4aSElliott Hughes ("uint16", "CaretValuePoint", None, None, "Contour point index on glyph"), 2379*e1fe3e4aSElliott Hughes ], 2380*e1fe3e4aSElliott Hughes ), 2381*e1fe3e4aSElliott Hughes ( 2382*e1fe3e4aSElliott Hughes "CaretValueFormat3", 2383*e1fe3e4aSElliott Hughes [ 2384*e1fe3e4aSElliott Hughes ("uint16", "CaretValueFormat", None, None, "Format identifier-format = 3"), 2385*e1fe3e4aSElliott Hughes ("int16", "Coordinate", None, None, "X or Y value, in design units"), 2386*e1fe3e4aSElliott Hughes ( 2387*e1fe3e4aSElliott Hughes "Offset", 2388*e1fe3e4aSElliott Hughes "DeviceTable", 2389*e1fe3e4aSElliott Hughes None, 2390*e1fe3e4aSElliott Hughes None, 2391*e1fe3e4aSElliott Hughes "Offset to Device table for X or Y value-from beginning of CaretValue table", 2392*e1fe3e4aSElliott Hughes ), 2393*e1fe3e4aSElliott Hughes ], 2394*e1fe3e4aSElliott Hughes ), 2395*e1fe3e4aSElliott Hughes ( 2396*e1fe3e4aSElliott Hughes "MarkGlyphSetsDef", 2397*e1fe3e4aSElliott Hughes [ 2398*e1fe3e4aSElliott Hughes ("uint16", "MarkSetTableFormat", None, None, "Format identifier == 1"), 2399*e1fe3e4aSElliott Hughes ("uint16", "MarkSetCount", None, None, "Number of mark sets defined"), 2400*e1fe3e4aSElliott Hughes ( 2401*e1fe3e4aSElliott Hughes "LOffset", 2402*e1fe3e4aSElliott Hughes "Coverage", 2403*e1fe3e4aSElliott Hughes "MarkSetCount", 2404*e1fe3e4aSElliott Hughes 0, 2405*e1fe3e4aSElliott Hughes "Array of offsets to mark set coverage tables.", 2406*e1fe3e4aSElliott Hughes ), 2407*e1fe3e4aSElliott Hughes ], 2408*e1fe3e4aSElliott Hughes ), 2409*e1fe3e4aSElliott Hughes # 2410*e1fe3e4aSElliott Hughes # base 2411*e1fe3e4aSElliott Hughes # 2412*e1fe3e4aSElliott Hughes ( 2413*e1fe3e4aSElliott Hughes "BASE", 2414*e1fe3e4aSElliott Hughes [ 2415*e1fe3e4aSElliott Hughes ( 2416*e1fe3e4aSElliott Hughes "Version", 2417*e1fe3e4aSElliott Hughes "Version", 2418*e1fe3e4aSElliott Hughes None, 2419*e1fe3e4aSElliott Hughes None, 2420*e1fe3e4aSElliott Hughes "Version of the BASE table-initially 0x00010000", 2421*e1fe3e4aSElliott Hughes ), 2422*e1fe3e4aSElliott Hughes ( 2423*e1fe3e4aSElliott Hughes "Offset", 2424*e1fe3e4aSElliott Hughes "HorizAxis", 2425*e1fe3e4aSElliott Hughes None, 2426*e1fe3e4aSElliott Hughes None, 2427*e1fe3e4aSElliott Hughes "Offset to horizontal Axis table-from beginning of BASE table-may be NULL", 2428*e1fe3e4aSElliott Hughes ), 2429*e1fe3e4aSElliott Hughes ( 2430*e1fe3e4aSElliott Hughes "Offset", 2431*e1fe3e4aSElliott Hughes "VertAxis", 2432*e1fe3e4aSElliott Hughes None, 2433*e1fe3e4aSElliott Hughes None, 2434*e1fe3e4aSElliott Hughes "Offset to vertical Axis table-from beginning of BASE table-may be NULL", 2435*e1fe3e4aSElliott Hughes ), 2436*e1fe3e4aSElliott Hughes ( 2437*e1fe3e4aSElliott Hughes "LOffset", 2438*e1fe3e4aSElliott Hughes "VarStore", 2439*e1fe3e4aSElliott Hughes None, 2440*e1fe3e4aSElliott Hughes "Version >= 0x00010001", 2441*e1fe3e4aSElliott Hughes "Offset to variation store (may be NULL)", 2442*e1fe3e4aSElliott Hughes ), 2443*e1fe3e4aSElliott Hughes ], 2444*e1fe3e4aSElliott Hughes ), 2445*e1fe3e4aSElliott Hughes ( 2446*e1fe3e4aSElliott Hughes "Axis", 2447*e1fe3e4aSElliott Hughes [ 2448*e1fe3e4aSElliott Hughes ( 2449*e1fe3e4aSElliott Hughes "Offset", 2450*e1fe3e4aSElliott Hughes "BaseTagList", 2451*e1fe3e4aSElliott Hughes None, 2452*e1fe3e4aSElliott Hughes None, 2453*e1fe3e4aSElliott Hughes "Offset to BaseTagList table-from beginning of Axis table-may be NULL", 2454*e1fe3e4aSElliott Hughes ), 2455*e1fe3e4aSElliott Hughes ( 2456*e1fe3e4aSElliott Hughes "Offset", 2457*e1fe3e4aSElliott Hughes "BaseScriptList", 2458*e1fe3e4aSElliott Hughes None, 2459*e1fe3e4aSElliott Hughes None, 2460*e1fe3e4aSElliott Hughes "Offset to BaseScriptList table-from beginning of Axis table", 2461*e1fe3e4aSElliott Hughes ), 2462*e1fe3e4aSElliott Hughes ], 2463*e1fe3e4aSElliott Hughes ), 2464*e1fe3e4aSElliott Hughes ( 2465*e1fe3e4aSElliott Hughes "BaseTagList", 2466*e1fe3e4aSElliott Hughes [ 2467*e1fe3e4aSElliott Hughes ( 2468*e1fe3e4aSElliott Hughes "uint16", 2469*e1fe3e4aSElliott Hughes "BaseTagCount", 2470*e1fe3e4aSElliott Hughes None, 2471*e1fe3e4aSElliott Hughes None, 2472*e1fe3e4aSElliott Hughes "Number of baseline identification tags in this text direction-may be zero (0)", 2473*e1fe3e4aSElliott Hughes ), 2474*e1fe3e4aSElliott Hughes ( 2475*e1fe3e4aSElliott Hughes "Tag", 2476*e1fe3e4aSElliott Hughes "BaselineTag", 2477*e1fe3e4aSElliott Hughes "BaseTagCount", 2478*e1fe3e4aSElliott Hughes 0, 2479*e1fe3e4aSElliott Hughes "Array of 4-byte baseline identification tags-must be in alphabetical order", 2480*e1fe3e4aSElliott Hughes ), 2481*e1fe3e4aSElliott Hughes ], 2482*e1fe3e4aSElliott Hughes ), 2483*e1fe3e4aSElliott Hughes ( 2484*e1fe3e4aSElliott Hughes "BaseScriptList", 2485*e1fe3e4aSElliott Hughes [ 2486*e1fe3e4aSElliott Hughes ( 2487*e1fe3e4aSElliott Hughes "uint16", 2488*e1fe3e4aSElliott Hughes "BaseScriptCount", 2489*e1fe3e4aSElliott Hughes None, 2490*e1fe3e4aSElliott Hughes None, 2491*e1fe3e4aSElliott Hughes "Number of BaseScriptRecords defined", 2492*e1fe3e4aSElliott Hughes ), 2493*e1fe3e4aSElliott Hughes ( 2494*e1fe3e4aSElliott Hughes "struct", 2495*e1fe3e4aSElliott Hughes "BaseScriptRecord", 2496*e1fe3e4aSElliott Hughes "BaseScriptCount", 2497*e1fe3e4aSElliott Hughes 0, 2498*e1fe3e4aSElliott Hughes "Array of BaseScriptRecords-in alphabetical order by BaseScriptTag", 2499*e1fe3e4aSElliott Hughes ), 2500*e1fe3e4aSElliott Hughes ], 2501*e1fe3e4aSElliott Hughes ), 2502*e1fe3e4aSElliott Hughes ( 2503*e1fe3e4aSElliott Hughes "BaseScriptRecord", 2504*e1fe3e4aSElliott Hughes [ 2505*e1fe3e4aSElliott Hughes ("Tag", "BaseScriptTag", None, None, "4-byte script identification tag"), 2506*e1fe3e4aSElliott Hughes ( 2507*e1fe3e4aSElliott Hughes "Offset", 2508*e1fe3e4aSElliott Hughes "BaseScript", 2509*e1fe3e4aSElliott Hughes None, 2510*e1fe3e4aSElliott Hughes None, 2511*e1fe3e4aSElliott Hughes "Offset to BaseScript table-from beginning of BaseScriptList", 2512*e1fe3e4aSElliott Hughes ), 2513*e1fe3e4aSElliott Hughes ], 2514*e1fe3e4aSElliott Hughes ), 2515*e1fe3e4aSElliott Hughes ( 2516*e1fe3e4aSElliott Hughes "BaseScript", 2517*e1fe3e4aSElliott Hughes [ 2518*e1fe3e4aSElliott Hughes ( 2519*e1fe3e4aSElliott Hughes "Offset", 2520*e1fe3e4aSElliott Hughes "BaseValues", 2521*e1fe3e4aSElliott Hughes None, 2522*e1fe3e4aSElliott Hughes None, 2523*e1fe3e4aSElliott Hughes "Offset to BaseValues table-from beginning of BaseScript table-may be NULL", 2524*e1fe3e4aSElliott Hughes ), 2525*e1fe3e4aSElliott Hughes ( 2526*e1fe3e4aSElliott Hughes "Offset", 2527*e1fe3e4aSElliott Hughes "DefaultMinMax", 2528*e1fe3e4aSElliott Hughes None, 2529*e1fe3e4aSElliott Hughes None, 2530*e1fe3e4aSElliott Hughes "Offset to MinMax table- from beginning of BaseScript table-may be NULL", 2531*e1fe3e4aSElliott Hughes ), 2532*e1fe3e4aSElliott Hughes ( 2533*e1fe3e4aSElliott Hughes "uint16", 2534*e1fe3e4aSElliott Hughes "BaseLangSysCount", 2535*e1fe3e4aSElliott Hughes None, 2536*e1fe3e4aSElliott Hughes None, 2537*e1fe3e4aSElliott Hughes "Number of BaseLangSysRecords defined-may be zero (0)", 2538*e1fe3e4aSElliott Hughes ), 2539*e1fe3e4aSElliott Hughes ( 2540*e1fe3e4aSElliott Hughes "struct", 2541*e1fe3e4aSElliott Hughes "BaseLangSysRecord", 2542*e1fe3e4aSElliott Hughes "BaseLangSysCount", 2543*e1fe3e4aSElliott Hughes 0, 2544*e1fe3e4aSElliott Hughes "Array of BaseLangSysRecords-in alphabetical order by BaseLangSysTag", 2545*e1fe3e4aSElliott Hughes ), 2546*e1fe3e4aSElliott Hughes ], 2547*e1fe3e4aSElliott Hughes ), 2548*e1fe3e4aSElliott Hughes ( 2549*e1fe3e4aSElliott Hughes "BaseLangSysRecord", 2550*e1fe3e4aSElliott Hughes [ 2551*e1fe3e4aSElliott Hughes ( 2552*e1fe3e4aSElliott Hughes "Tag", 2553*e1fe3e4aSElliott Hughes "BaseLangSysTag", 2554*e1fe3e4aSElliott Hughes None, 2555*e1fe3e4aSElliott Hughes None, 2556*e1fe3e4aSElliott Hughes "4-byte language system identification tag", 2557*e1fe3e4aSElliott Hughes ), 2558*e1fe3e4aSElliott Hughes ( 2559*e1fe3e4aSElliott Hughes "Offset", 2560*e1fe3e4aSElliott Hughes "MinMax", 2561*e1fe3e4aSElliott Hughes None, 2562*e1fe3e4aSElliott Hughes None, 2563*e1fe3e4aSElliott Hughes "Offset to MinMax table-from beginning of BaseScript table", 2564*e1fe3e4aSElliott Hughes ), 2565*e1fe3e4aSElliott Hughes ], 2566*e1fe3e4aSElliott Hughes ), 2567*e1fe3e4aSElliott Hughes ( 2568*e1fe3e4aSElliott Hughes "BaseValues", 2569*e1fe3e4aSElliott Hughes [ 2570*e1fe3e4aSElliott Hughes ( 2571*e1fe3e4aSElliott Hughes "uint16", 2572*e1fe3e4aSElliott Hughes "DefaultIndex", 2573*e1fe3e4aSElliott Hughes None, 2574*e1fe3e4aSElliott Hughes None, 2575*e1fe3e4aSElliott Hughes "Index number of default baseline for this script-equals index position of baseline tag in BaselineArray of the BaseTagList", 2576*e1fe3e4aSElliott Hughes ), 2577*e1fe3e4aSElliott Hughes ( 2578*e1fe3e4aSElliott Hughes "uint16", 2579*e1fe3e4aSElliott Hughes "BaseCoordCount", 2580*e1fe3e4aSElliott Hughes None, 2581*e1fe3e4aSElliott Hughes None, 2582*e1fe3e4aSElliott Hughes "Number of BaseCoord tables defined-should equal BaseTagCount in the BaseTagList", 2583*e1fe3e4aSElliott Hughes ), 2584*e1fe3e4aSElliott Hughes ( 2585*e1fe3e4aSElliott Hughes "Offset", 2586*e1fe3e4aSElliott Hughes "BaseCoord", 2587*e1fe3e4aSElliott Hughes "BaseCoordCount", 2588*e1fe3e4aSElliott Hughes 0, 2589*e1fe3e4aSElliott Hughes "Array of offsets to BaseCoord-from beginning of BaseValues table-order matches BaselineTag array in the BaseTagList", 2590*e1fe3e4aSElliott Hughes ), 2591*e1fe3e4aSElliott Hughes ], 2592*e1fe3e4aSElliott Hughes ), 2593*e1fe3e4aSElliott Hughes ( 2594*e1fe3e4aSElliott Hughes "MinMax", 2595*e1fe3e4aSElliott Hughes [ 2596*e1fe3e4aSElliott Hughes ( 2597*e1fe3e4aSElliott Hughes "Offset", 2598*e1fe3e4aSElliott Hughes "MinCoord", 2599*e1fe3e4aSElliott Hughes None, 2600*e1fe3e4aSElliott Hughes None, 2601*e1fe3e4aSElliott Hughes "Offset to BaseCoord table-defines minimum extent value-from the beginning of MinMax table-may be NULL", 2602*e1fe3e4aSElliott Hughes ), 2603*e1fe3e4aSElliott Hughes ( 2604*e1fe3e4aSElliott Hughes "Offset", 2605*e1fe3e4aSElliott Hughes "MaxCoord", 2606*e1fe3e4aSElliott Hughes None, 2607*e1fe3e4aSElliott Hughes None, 2608*e1fe3e4aSElliott Hughes "Offset to BaseCoord table-defines maximum extent value-from the beginning of MinMax table-may be NULL", 2609*e1fe3e4aSElliott Hughes ), 2610*e1fe3e4aSElliott Hughes ( 2611*e1fe3e4aSElliott Hughes "uint16", 2612*e1fe3e4aSElliott Hughes "FeatMinMaxCount", 2613*e1fe3e4aSElliott Hughes None, 2614*e1fe3e4aSElliott Hughes None, 2615*e1fe3e4aSElliott Hughes "Number of FeatMinMaxRecords-may be zero (0)", 2616*e1fe3e4aSElliott Hughes ), 2617*e1fe3e4aSElliott Hughes ( 2618*e1fe3e4aSElliott Hughes "struct", 2619*e1fe3e4aSElliott Hughes "FeatMinMaxRecord", 2620*e1fe3e4aSElliott Hughes "FeatMinMaxCount", 2621*e1fe3e4aSElliott Hughes 0, 2622*e1fe3e4aSElliott Hughes "Array of FeatMinMaxRecords-in alphabetical order, by FeatureTableTag", 2623*e1fe3e4aSElliott Hughes ), 2624*e1fe3e4aSElliott Hughes ], 2625*e1fe3e4aSElliott Hughes ), 2626*e1fe3e4aSElliott Hughes ( 2627*e1fe3e4aSElliott Hughes "FeatMinMaxRecord", 2628*e1fe3e4aSElliott Hughes [ 2629*e1fe3e4aSElliott Hughes ( 2630*e1fe3e4aSElliott Hughes "Tag", 2631*e1fe3e4aSElliott Hughes "FeatureTableTag", 2632*e1fe3e4aSElliott Hughes None, 2633*e1fe3e4aSElliott Hughes None, 2634*e1fe3e4aSElliott Hughes "4-byte feature identification tag-must match FeatureTag in FeatureList", 2635*e1fe3e4aSElliott Hughes ), 2636*e1fe3e4aSElliott Hughes ( 2637*e1fe3e4aSElliott Hughes "Offset", 2638*e1fe3e4aSElliott Hughes "MinCoord", 2639*e1fe3e4aSElliott Hughes None, 2640*e1fe3e4aSElliott Hughes None, 2641*e1fe3e4aSElliott Hughes "Offset to BaseCoord table-defines minimum extent value-from beginning of MinMax table-may be NULL", 2642*e1fe3e4aSElliott Hughes ), 2643*e1fe3e4aSElliott Hughes ( 2644*e1fe3e4aSElliott Hughes "Offset", 2645*e1fe3e4aSElliott Hughes "MaxCoord", 2646*e1fe3e4aSElliott Hughes None, 2647*e1fe3e4aSElliott Hughes None, 2648*e1fe3e4aSElliott Hughes "Offset to BaseCoord table-defines maximum extent value-from beginning of MinMax table-may be NULL", 2649*e1fe3e4aSElliott Hughes ), 2650*e1fe3e4aSElliott Hughes ], 2651*e1fe3e4aSElliott Hughes ), 2652*e1fe3e4aSElliott Hughes ( 2653*e1fe3e4aSElliott Hughes "BaseCoordFormat1", 2654*e1fe3e4aSElliott Hughes [ 2655*e1fe3e4aSElliott Hughes ("uint16", "BaseCoordFormat", None, None, "Format identifier-format = 1"), 2656*e1fe3e4aSElliott Hughes ("int16", "Coordinate", None, None, "X or Y value, in design units"), 2657*e1fe3e4aSElliott Hughes ], 2658*e1fe3e4aSElliott Hughes ), 2659*e1fe3e4aSElliott Hughes ( 2660*e1fe3e4aSElliott Hughes "BaseCoordFormat2", 2661*e1fe3e4aSElliott Hughes [ 2662*e1fe3e4aSElliott Hughes ("uint16", "BaseCoordFormat", None, None, "Format identifier-format = 2"), 2663*e1fe3e4aSElliott Hughes ("int16", "Coordinate", None, None, "X or Y value, in design units"), 2664*e1fe3e4aSElliott Hughes ("GlyphID", "ReferenceGlyph", None, None, "GlyphID of control glyph"), 2665*e1fe3e4aSElliott Hughes ( 2666*e1fe3e4aSElliott Hughes "uint16", 2667*e1fe3e4aSElliott Hughes "BaseCoordPoint", 2668*e1fe3e4aSElliott Hughes None, 2669*e1fe3e4aSElliott Hughes None, 2670*e1fe3e4aSElliott Hughes "Index of contour point on the ReferenceGlyph", 2671*e1fe3e4aSElliott Hughes ), 2672*e1fe3e4aSElliott Hughes ], 2673*e1fe3e4aSElliott Hughes ), 2674*e1fe3e4aSElliott Hughes ( 2675*e1fe3e4aSElliott Hughes "BaseCoordFormat3", 2676*e1fe3e4aSElliott Hughes [ 2677*e1fe3e4aSElliott Hughes ("uint16", "BaseCoordFormat", None, None, "Format identifier-format = 3"), 2678*e1fe3e4aSElliott Hughes ("int16", "Coordinate", None, None, "X or Y value, in design units"), 2679*e1fe3e4aSElliott Hughes ( 2680*e1fe3e4aSElliott Hughes "Offset", 2681*e1fe3e4aSElliott Hughes "DeviceTable", 2682*e1fe3e4aSElliott Hughes None, 2683*e1fe3e4aSElliott Hughes None, 2684*e1fe3e4aSElliott Hughes "Offset to Device table for X or Y value", 2685*e1fe3e4aSElliott Hughes ), 2686*e1fe3e4aSElliott Hughes ], 2687*e1fe3e4aSElliott Hughes ), 2688*e1fe3e4aSElliott Hughes # 2689*e1fe3e4aSElliott Hughes # jstf 2690*e1fe3e4aSElliott Hughes # 2691*e1fe3e4aSElliott Hughes ( 2692*e1fe3e4aSElliott Hughes "JSTF", 2693*e1fe3e4aSElliott Hughes [ 2694*e1fe3e4aSElliott Hughes ( 2695*e1fe3e4aSElliott Hughes "Version", 2696*e1fe3e4aSElliott Hughes "Version", 2697*e1fe3e4aSElliott Hughes None, 2698*e1fe3e4aSElliott Hughes None, 2699*e1fe3e4aSElliott Hughes "Version of the JSTF table-initially set to 0x00010000", 2700*e1fe3e4aSElliott Hughes ), 2701*e1fe3e4aSElliott Hughes ( 2702*e1fe3e4aSElliott Hughes "uint16", 2703*e1fe3e4aSElliott Hughes "JstfScriptCount", 2704*e1fe3e4aSElliott Hughes None, 2705*e1fe3e4aSElliott Hughes None, 2706*e1fe3e4aSElliott Hughes "Number of JstfScriptRecords in this table", 2707*e1fe3e4aSElliott Hughes ), 2708*e1fe3e4aSElliott Hughes ( 2709*e1fe3e4aSElliott Hughes "struct", 2710*e1fe3e4aSElliott Hughes "JstfScriptRecord", 2711*e1fe3e4aSElliott Hughes "JstfScriptCount", 2712*e1fe3e4aSElliott Hughes 0, 2713*e1fe3e4aSElliott Hughes "Array of JstfScriptRecords-in alphabetical order, by JstfScriptTag", 2714*e1fe3e4aSElliott Hughes ), 2715*e1fe3e4aSElliott Hughes ], 2716*e1fe3e4aSElliott Hughes ), 2717*e1fe3e4aSElliott Hughes ( 2718*e1fe3e4aSElliott Hughes "JstfScriptRecord", 2719*e1fe3e4aSElliott Hughes [ 2720*e1fe3e4aSElliott Hughes ("Tag", "JstfScriptTag", None, None, "4-byte JstfScript identification"), 2721*e1fe3e4aSElliott Hughes ( 2722*e1fe3e4aSElliott Hughes "Offset", 2723*e1fe3e4aSElliott Hughes "JstfScript", 2724*e1fe3e4aSElliott Hughes None, 2725*e1fe3e4aSElliott Hughes None, 2726*e1fe3e4aSElliott Hughes "Offset to JstfScript table-from beginning of JSTF Header", 2727*e1fe3e4aSElliott Hughes ), 2728*e1fe3e4aSElliott Hughes ], 2729*e1fe3e4aSElliott Hughes ), 2730*e1fe3e4aSElliott Hughes ( 2731*e1fe3e4aSElliott Hughes "JstfScript", 2732*e1fe3e4aSElliott Hughes [ 2733*e1fe3e4aSElliott Hughes ( 2734*e1fe3e4aSElliott Hughes "Offset", 2735*e1fe3e4aSElliott Hughes "ExtenderGlyph", 2736*e1fe3e4aSElliott Hughes None, 2737*e1fe3e4aSElliott Hughes None, 2738*e1fe3e4aSElliott Hughes "Offset to ExtenderGlyph table-from beginning of JstfScript table-may be NULL", 2739*e1fe3e4aSElliott Hughes ), 2740*e1fe3e4aSElliott Hughes ( 2741*e1fe3e4aSElliott Hughes "Offset", 2742*e1fe3e4aSElliott Hughes "DefJstfLangSys", 2743*e1fe3e4aSElliott Hughes None, 2744*e1fe3e4aSElliott Hughes None, 2745*e1fe3e4aSElliott Hughes "Offset to Default JstfLangSys table-from beginning of JstfScript table-may be NULL", 2746*e1fe3e4aSElliott Hughes ), 2747*e1fe3e4aSElliott Hughes ( 2748*e1fe3e4aSElliott Hughes "uint16", 2749*e1fe3e4aSElliott Hughes "JstfLangSysCount", 2750*e1fe3e4aSElliott Hughes None, 2751*e1fe3e4aSElliott Hughes None, 2752*e1fe3e4aSElliott Hughes "Number of JstfLangSysRecords in this table- may be zero (0)", 2753*e1fe3e4aSElliott Hughes ), 2754*e1fe3e4aSElliott Hughes ( 2755*e1fe3e4aSElliott Hughes "struct", 2756*e1fe3e4aSElliott Hughes "JstfLangSysRecord", 2757*e1fe3e4aSElliott Hughes "JstfLangSysCount", 2758*e1fe3e4aSElliott Hughes 0, 2759*e1fe3e4aSElliott Hughes "Array of JstfLangSysRecords-in alphabetical order, by JstfLangSysTag", 2760*e1fe3e4aSElliott Hughes ), 2761*e1fe3e4aSElliott Hughes ], 2762*e1fe3e4aSElliott Hughes ), 2763*e1fe3e4aSElliott Hughes ( 2764*e1fe3e4aSElliott Hughes "JstfLangSysRecord", 2765*e1fe3e4aSElliott Hughes [ 2766*e1fe3e4aSElliott Hughes ("Tag", "JstfLangSysTag", None, None, "4-byte JstfLangSys identifier"), 2767*e1fe3e4aSElliott Hughes ( 2768*e1fe3e4aSElliott Hughes "Offset", 2769*e1fe3e4aSElliott Hughes "JstfLangSys", 2770*e1fe3e4aSElliott Hughes None, 2771*e1fe3e4aSElliott Hughes None, 2772*e1fe3e4aSElliott Hughes "Offset to JstfLangSys table-from beginning of JstfScript table", 2773*e1fe3e4aSElliott Hughes ), 2774*e1fe3e4aSElliott Hughes ], 2775*e1fe3e4aSElliott Hughes ), 2776*e1fe3e4aSElliott Hughes ( 2777*e1fe3e4aSElliott Hughes "ExtenderGlyph", 2778*e1fe3e4aSElliott Hughes [ 2779*e1fe3e4aSElliott Hughes ( 2780*e1fe3e4aSElliott Hughes "uint16", 2781*e1fe3e4aSElliott Hughes "GlyphCount", 2782*e1fe3e4aSElliott Hughes None, 2783*e1fe3e4aSElliott Hughes None, 2784*e1fe3e4aSElliott Hughes "Number of Extender Glyphs in this script", 2785*e1fe3e4aSElliott Hughes ), 2786*e1fe3e4aSElliott Hughes ( 2787*e1fe3e4aSElliott Hughes "GlyphID", 2788*e1fe3e4aSElliott Hughes "ExtenderGlyph", 2789*e1fe3e4aSElliott Hughes "GlyphCount", 2790*e1fe3e4aSElliott Hughes 0, 2791*e1fe3e4aSElliott Hughes "GlyphIDs-in increasing numerical order", 2792*e1fe3e4aSElliott Hughes ), 2793*e1fe3e4aSElliott Hughes ], 2794*e1fe3e4aSElliott Hughes ), 2795*e1fe3e4aSElliott Hughes ( 2796*e1fe3e4aSElliott Hughes "JstfLangSys", 2797*e1fe3e4aSElliott Hughes [ 2798*e1fe3e4aSElliott Hughes ( 2799*e1fe3e4aSElliott Hughes "uint16", 2800*e1fe3e4aSElliott Hughes "JstfPriorityCount", 2801*e1fe3e4aSElliott Hughes None, 2802*e1fe3e4aSElliott Hughes None, 2803*e1fe3e4aSElliott Hughes "Number of JstfPriority tables", 2804*e1fe3e4aSElliott Hughes ), 2805*e1fe3e4aSElliott Hughes ( 2806*e1fe3e4aSElliott Hughes "Offset", 2807*e1fe3e4aSElliott Hughes "JstfPriority", 2808*e1fe3e4aSElliott Hughes "JstfPriorityCount", 2809*e1fe3e4aSElliott Hughes 0, 2810*e1fe3e4aSElliott Hughes "Array of offsets to JstfPriority tables-from beginning of JstfLangSys table-in priority order", 2811*e1fe3e4aSElliott Hughes ), 2812*e1fe3e4aSElliott Hughes ], 2813*e1fe3e4aSElliott Hughes ), 2814*e1fe3e4aSElliott Hughes ( 2815*e1fe3e4aSElliott Hughes "JstfPriority", 2816*e1fe3e4aSElliott Hughes [ 2817*e1fe3e4aSElliott Hughes ( 2818*e1fe3e4aSElliott Hughes "Offset", 2819*e1fe3e4aSElliott Hughes "ShrinkageEnableGSUB", 2820*e1fe3e4aSElliott Hughes None, 2821*e1fe3e4aSElliott Hughes None, 2822*e1fe3e4aSElliott Hughes "Offset to Shrinkage Enable JstfGSUBModList table-from beginning of JstfPriority table-may be NULL", 2823*e1fe3e4aSElliott Hughes ), 2824*e1fe3e4aSElliott Hughes ( 2825*e1fe3e4aSElliott Hughes "Offset", 2826*e1fe3e4aSElliott Hughes "ShrinkageDisableGSUB", 2827*e1fe3e4aSElliott Hughes None, 2828*e1fe3e4aSElliott Hughes None, 2829*e1fe3e4aSElliott Hughes "Offset to Shrinkage Disable JstfGSUBModList table-from beginning of JstfPriority table-may be NULL", 2830*e1fe3e4aSElliott Hughes ), 2831*e1fe3e4aSElliott Hughes ( 2832*e1fe3e4aSElliott Hughes "Offset", 2833*e1fe3e4aSElliott Hughes "ShrinkageEnableGPOS", 2834*e1fe3e4aSElliott Hughes None, 2835*e1fe3e4aSElliott Hughes None, 2836*e1fe3e4aSElliott Hughes "Offset to Shrinkage Enable JstfGPOSModList table-from beginning of JstfPriority table-may be NULL", 2837*e1fe3e4aSElliott Hughes ), 2838*e1fe3e4aSElliott Hughes ( 2839*e1fe3e4aSElliott Hughes "Offset", 2840*e1fe3e4aSElliott Hughes "ShrinkageDisableGPOS", 2841*e1fe3e4aSElliott Hughes None, 2842*e1fe3e4aSElliott Hughes None, 2843*e1fe3e4aSElliott Hughes "Offset to Shrinkage Disable JstfGPOSModList table-from beginning of JstfPriority table-may be NULL", 2844*e1fe3e4aSElliott Hughes ), 2845*e1fe3e4aSElliott Hughes ( 2846*e1fe3e4aSElliott Hughes "Offset", 2847*e1fe3e4aSElliott Hughes "ShrinkageJstfMax", 2848*e1fe3e4aSElliott Hughes None, 2849*e1fe3e4aSElliott Hughes None, 2850*e1fe3e4aSElliott Hughes "Offset to Shrinkage JstfMax table-from beginning of JstfPriority table -may be NULL", 2851*e1fe3e4aSElliott Hughes ), 2852*e1fe3e4aSElliott Hughes ( 2853*e1fe3e4aSElliott Hughes "Offset", 2854*e1fe3e4aSElliott Hughes "ExtensionEnableGSUB", 2855*e1fe3e4aSElliott Hughes None, 2856*e1fe3e4aSElliott Hughes None, 2857*e1fe3e4aSElliott Hughes "Offset to Extension Enable JstfGSUBModList table-may be NULL", 2858*e1fe3e4aSElliott Hughes ), 2859*e1fe3e4aSElliott Hughes ( 2860*e1fe3e4aSElliott Hughes "Offset", 2861*e1fe3e4aSElliott Hughes "ExtensionDisableGSUB", 2862*e1fe3e4aSElliott Hughes None, 2863*e1fe3e4aSElliott Hughes None, 2864*e1fe3e4aSElliott Hughes "Offset to Extension Disable JstfGSUBModList table-from beginning of JstfPriority table-may be NULL", 2865*e1fe3e4aSElliott Hughes ), 2866*e1fe3e4aSElliott Hughes ( 2867*e1fe3e4aSElliott Hughes "Offset", 2868*e1fe3e4aSElliott Hughes "ExtensionEnableGPOS", 2869*e1fe3e4aSElliott Hughes None, 2870*e1fe3e4aSElliott Hughes None, 2871*e1fe3e4aSElliott Hughes "Offset to Extension Enable JstfGSUBModList table-may be NULL", 2872*e1fe3e4aSElliott Hughes ), 2873*e1fe3e4aSElliott Hughes ( 2874*e1fe3e4aSElliott Hughes "Offset", 2875*e1fe3e4aSElliott Hughes "ExtensionDisableGPOS", 2876*e1fe3e4aSElliott Hughes None, 2877*e1fe3e4aSElliott Hughes None, 2878*e1fe3e4aSElliott Hughes "Offset to Extension Disable JstfGSUBModList table-from beginning of JstfPriority table-may be NULL", 2879*e1fe3e4aSElliott Hughes ), 2880*e1fe3e4aSElliott Hughes ( 2881*e1fe3e4aSElliott Hughes "Offset", 2882*e1fe3e4aSElliott Hughes "ExtensionJstfMax", 2883*e1fe3e4aSElliott Hughes None, 2884*e1fe3e4aSElliott Hughes None, 2885*e1fe3e4aSElliott Hughes "Offset to Extension JstfMax table-from beginning of JstfPriority table -may be NULL", 2886*e1fe3e4aSElliott Hughes ), 2887*e1fe3e4aSElliott Hughes ], 2888*e1fe3e4aSElliott Hughes ), 2889*e1fe3e4aSElliott Hughes ( 2890*e1fe3e4aSElliott Hughes "JstfGSUBModList", 2891*e1fe3e4aSElliott Hughes [ 2892*e1fe3e4aSElliott Hughes ( 2893*e1fe3e4aSElliott Hughes "uint16", 2894*e1fe3e4aSElliott Hughes "LookupCount", 2895*e1fe3e4aSElliott Hughes None, 2896*e1fe3e4aSElliott Hughes None, 2897*e1fe3e4aSElliott Hughes "Number of lookups for this modification", 2898*e1fe3e4aSElliott Hughes ), 2899*e1fe3e4aSElliott Hughes ( 2900*e1fe3e4aSElliott Hughes "uint16", 2901*e1fe3e4aSElliott Hughes "GSUBLookupIndex", 2902*e1fe3e4aSElliott Hughes "LookupCount", 2903*e1fe3e4aSElliott Hughes 0, 2904*e1fe3e4aSElliott Hughes "Array of LookupIndex identifiers in GSUB-in increasing numerical order", 2905*e1fe3e4aSElliott Hughes ), 2906*e1fe3e4aSElliott Hughes ], 2907*e1fe3e4aSElliott Hughes ), 2908*e1fe3e4aSElliott Hughes ( 2909*e1fe3e4aSElliott Hughes "JstfGPOSModList", 2910*e1fe3e4aSElliott Hughes [ 2911*e1fe3e4aSElliott Hughes ( 2912*e1fe3e4aSElliott Hughes "uint16", 2913*e1fe3e4aSElliott Hughes "LookupCount", 2914*e1fe3e4aSElliott Hughes None, 2915*e1fe3e4aSElliott Hughes None, 2916*e1fe3e4aSElliott Hughes "Number of lookups for this modification", 2917*e1fe3e4aSElliott Hughes ), 2918*e1fe3e4aSElliott Hughes ( 2919*e1fe3e4aSElliott Hughes "uint16", 2920*e1fe3e4aSElliott Hughes "GPOSLookupIndex", 2921*e1fe3e4aSElliott Hughes "LookupCount", 2922*e1fe3e4aSElliott Hughes 0, 2923*e1fe3e4aSElliott Hughes "Array of LookupIndex identifiers in GPOS-in increasing numerical order", 2924*e1fe3e4aSElliott Hughes ), 2925*e1fe3e4aSElliott Hughes ], 2926*e1fe3e4aSElliott Hughes ), 2927*e1fe3e4aSElliott Hughes ( 2928*e1fe3e4aSElliott Hughes "JstfMax", 2929*e1fe3e4aSElliott Hughes [ 2930*e1fe3e4aSElliott Hughes ( 2931*e1fe3e4aSElliott Hughes "uint16", 2932*e1fe3e4aSElliott Hughes "LookupCount", 2933*e1fe3e4aSElliott Hughes None, 2934*e1fe3e4aSElliott Hughes None, 2935*e1fe3e4aSElliott Hughes "Number of lookup Indices for this modification", 2936*e1fe3e4aSElliott Hughes ), 2937*e1fe3e4aSElliott Hughes ( 2938*e1fe3e4aSElliott Hughes "Offset", 2939*e1fe3e4aSElliott Hughes "Lookup", 2940*e1fe3e4aSElliott Hughes "LookupCount", 2941*e1fe3e4aSElliott Hughes 0, 2942*e1fe3e4aSElliott Hughes "Array of offsets to GPOS-type lookup tables-from beginning of JstfMax table-in design order", 2943*e1fe3e4aSElliott Hughes ), 2944*e1fe3e4aSElliott Hughes ], 2945*e1fe3e4aSElliott Hughes ), 2946*e1fe3e4aSElliott Hughes # 2947*e1fe3e4aSElliott Hughes # STAT 2948*e1fe3e4aSElliott Hughes # 2949*e1fe3e4aSElliott Hughes ( 2950*e1fe3e4aSElliott Hughes "STAT", 2951*e1fe3e4aSElliott Hughes [ 2952*e1fe3e4aSElliott Hughes ( 2953*e1fe3e4aSElliott Hughes "Version", 2954*e1fe3e4aSElliott Hughes "Version", 2955*e1fe3e4aSElliott Hughes None, 2956*e1fe3e4aSElliott Hughes None, 2957*e1fe3e4aSElliott Hughes "Version of the table-initially set to 0x00010000, currently 0x00010002.", 2958*e1fe3e4aSElliott Hughes ), 2959*e1fe3e4aSElliott Hughes ( 2960*e1fe3e4aSElliott Hughes "uint16", 2961*e1fe3e4aSElliott Hughes "DesignAxisRecordSize", 2962*e1fe3e4aSElliott Hughes None, 2963*e1fe3e4aSElliott Hughes None, 2964*e1fe3e4aSElliott Hughes "Size in bytes of each design axis record", 2965*e1fe3e4aSElliott Hughes ), 2966*e1fe3e4aSElliott Hughes ("uint16", "DesignAxisCount", None, None, "Number of design axis records"), 2967*e1fe3e4aSElliott Hughes ( 2968*e1fe3e4aSElliott Hughes "LOffsetTo(AxisRecordArray)", 2969*e1fe3e4aSElliott Hughes "DesignAxisRecord", 2970*e1fe3e4aSElliott Hughes None, 2971*e1fe3e4aSElliott Hughes None, 2972*e1fe3e4aSElliott Hughes "Offset in bytes from the beginning of the STAT table to the start of the design axes array", 2973*e1fe3e4aSElliott Hughes ), 2974*e1fe3e4aSElliott Hughes ("uint16", "AxisValueCount", None, None, "Number of axis value tables"), 2975*e1fe3e4aSElliott Hughes ( 2976*e1fe3e4aSElliott Hughes "LOffsetTo(AxisValueArray)", 2977*e1fe3e4aSElliott Hughes "AxisValueArray", 2978*e1fe3e4aSElliott Hughes None, 2979*e1fe3e4aSElliott Hughes None, 2980*e1fe3e4aSElliott Hughes "Offset in bytes from the beginning of the STAT table to the start of the axes value offset array", 2981*e1fe3e4aSElliott Hughes ), 2982*e1fe3e4aSElliott Hughes ( 2983*e1fe3e4aSElliott Hughes "NameID", 2984*e1fe3e4aSElliott Hughes "ElidedFallbackNameID", 2985*e1fe3e4aSElliott Hughes None, 2986*e1fe3e4aSElliott Hughes "Version >= 0x00010001", 2987*e1fe3e4aSElliott Hughes "NameID to use when all style attributes are elided.", 2988*e1fe3e4aSElliott Hughes ), 2989*e1fe3e4aSElliott Hughes ], 2990*e1fe3e4aSElliott Hughes ), 2991*e1fe3e4aSElliott Hughes ( 2992*e1fe3e4aSElliott Hughes "AxisRecordArray", 2993*e1fe3e4aSElliott Hughes [ 2994*e1fe3e4aSElliott Hughes ("AxisRecord", "Axis", "DesignAxisCount", 0, "Axis records"), 2995*e1fe3e4aSElliott Hughes ], 2996*e1fe3e4aSElliott Hughes ), 2997*e1fe3e4aSElliott Hughes ( 2998*e1fe3e4aSElliott Hughes "AxisRecord", 2999*e1fe3e4aSElliott Hughes [ 3000*e1fe3e4aSElliott Hughes ( 3001*e1fe3e4aSElliott Hughes "Tag", 3002*e1fe3e4aSElliott Hughes "AxisTag", 3003*e1fe3e4aSElliott Hughes None, 3004*e1fe3e4aSElliott Hughes None, 3005*e1fe3e4aSElliott Hughes "A tag identifying the axis of design variation", 3006*e1fe3e4aSElliott Hughes ), 3007*e1fe3e4aSElliott Hughes ( 3008*e1fe3e4aSElliott Hughes "NameID", 3009*e1fe3e4aSElliott Hughes "AxisNameID", 3010*e1fe3e4aSElliott Hughes None, 3011*e1fe3e4aSElliott Hughes None, 3012*e1fe3e4aSElliott Hughes 'The name ID for entries in the "name" table that provide a display string for this axis', 3013*e1fe3e4aSElliott Hughes ), 3014*e1fe3e4aSElliott Hughes ( 3015*e1fe3e4aSElliott Hughes "uint16", 3016*e1fe3e4aSElliott Hughes "AxisOrdering", 3017*e1fe3e4aSElliott Hughes None, 3018*e1fe3e4aSElliott Hughes None, 3019*e1fe3e4aSElliott Hughes "A value that applications can use to determine primary sorting of face names, or for ordering of descriptors when composing family or face names", 3020*e1fe3e4aSElliott Hughes ), 3021*e1fe3e4aSElliott Hughes ( 3022*e1fe3e4aSElliott Hughes "uint8", 3023*e1fe3e4aSElliott Hughes "MoreBytes", 3024*e1fe3e4aSElliott Hughes "DesignAxisRecordSize", 3025*e1fe3e4aSElliott Hughes -8, 3026*e1fe3e4aSElliott Hughes "Extra bytes. Set to empty array.", 3027*e1fe3e4aSElliott Hughes ), 3028*e1fe3e4aSElliott Hughes ], 3029*e1fe3e4aSElliott Hughes ), 3030*e1fe3e4aSElliott Hughes ( 3031*e1fe3e4aSElliott Hughes "AxisValueArray", 3032*e1fe3e4aSElliott Hughes [ 3033*e1fe3e4aSElliott Hughes ("Offset", "AxisValue", "AxisValueCount", 0, "Axis values"), 3034*e1fe3e4aSElliott Hughes ], 3035*e1fe3e4aSElliott Hughes ), 3036*e1fe3e4aSElliott Hughes ( 3037*e1fe3e4aSElliott Hughes "AxisValueFormat1", 3038*e1fe3e4aSElliott Hughes [ 3039*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format, = 1"), 3040*e1fe3e4aSElliott Hughes ( 3041*e1fe3e4aSElliott Hughes "uint16", 3042*e1fe3e4aSElliott Hughes "AxisIndex", 3043*e1fe3e4aSElliott Hughes None, 3044*e1fe3e4aSElliott Hughes None, 3045*e1fe3e4aSElliott Hughes "Index into the axis record array identifying the axis of design variation to which the axis value record applies.", 3046*e1fe3e4aSElliott Hughes ), 3047*e1fe3e4aSElliott Hughes ("STATFlags", "Flags", None, None, "Flags."), 3048*e1fe3e4aSElliott Hughes ("NameID", "ValueNameID", None, None, ""), 3049*e1fe3e4aSElliott Hughes ("Fixed", "Value", None, None, ""), 3050*e1fe3e4aSElliott Hughes ], 3051*e1fe3e4aSElliott Hughes ), 3052*e1fe3e4aSElliott Hughes ( 3053*e1fe3e4aSElliott Hughes "AxisValueFormat2", 3054*e1fe3e4aSElliott Hughes [ 3055*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format, = 2"), 3056*e1fe3e4aSElliott Hughes ( 3057*e1fe3e4aSElliott Hughes "uint16", 3058*e1fe3e4aSElliott Hughes "AxisIndex", 3059*e1fe3e4aSElliott Hughes None, 3060*e1fe3e4aSElliott Hughes None, 3061*e1fe3e4aSElliott Hughes "Index into the axis record array identifying the axis of design variation to which the axis value record applies.", 3062*e1fe3e4aSElliott Hughes ), 3063*e1fe3e4aSElliott Hughes ("STATFlags", "Flags", None, None, "Flags."), 3064*e1fe3e4aSElliott Hughes ("NameID", "ValueNameID", None, None, ""), 3065*e1fe3e4aSElliott Hughes ("Fixed", "NominalValue", None, None, ""), 3066*e1fe3e4aSElliott Hughes ("Fixed", "RangeMinValue", None, None, ""), 3067*e1fe3e4aSElliott Hughes ("Fixed", "RangeMaxValue", None, None, ""), 3068*e1fe3e4aSElliott Hughes ], 3069*e1fe3e4aSElliott Hughes ), 3070*e1fe3e4aSElliott Hughes ( 3071*e1fe3e4aSElliott Hughes "AxisValueFormat3", 3072*e1fe3e4aSElliott Hughes [ 3073*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format, = 3"), 3074*e1fe3e4aSElliott Hughes ( 3075*e1fe3e4aSElliott Hughes "uint16", 3076*e1fe3e4aSElliott Hughes "AxisIndex", 3077*e1fe3e4aSElliott Hughes None, 3078*e1fe3e4aSElliott Hughes None, 3079*e1fe3e4aSElliott Hughes "Index into the axis record array identifying the axis of design variation to which the axis value record applies.", 3080*e1fe3e4aSElliott Hughes ), 3081*e1fe3e4aSElliott Hughes ("STATFlags", "Flags", None, None, "Flags."), 3082*e1fe3e4aSElliott Hughes ("NameID", "ValueNameID", None, None, ""), 3083*e1fe3e4aSElliott Hughes ("Fixed", "Value", None, None, ""), 3084*e1fe3e4aSElliott Hughes ("Fixed", "LinkedValue", None, None, ""), 3085*e1fe3e4aSElliott Hughes ], 3086*e1fe3e4aSElliott Hughes ), 3087*e1fe3e4aSElliott Hughes ( 3088*e1fe3e4aSElliott Hughes "AxisValueFormat4", 3089*e1fe3e4aSElliott Hughes [ 3090*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format, = 4"), 3091*e1fe3e4aSElliott Hughes ( 3092*e1fe3e4aSElliott Hughes "uint16", 3093*e1fe3e4aSElliott Hughes "AxisCount", 3094*e1fe3e4aSElliott Hughes None, 3095*e1fe3e4aSElliott Hughes None, 3096*e1fe3e4aSElliott Hughes "The total number of axes contributing to this axis-values combination.", 3097*e1fe3e4aSElliott Hughes ), 3098*e1fe3e4aSElliott Hughes ("STATFlags", "Flags", None, None, "Flags."), 3099*e1fe3e4aSElliott Hughes ("NameID", "ValueNameID", None, None, ""), 3100*e1fe3e4aSElliott Hughes ( 3101*e1fe3e4aSElliott Hughes "struct", 3102*e1fe3e4aSElliott Hughes "AxisValueRecord", 3103*e1fe3e4aSElliott Hughes "AxisCount", 3104*e1fe3e4aSElliott Hughes 0, 3105*e1fe3e4aSElliott Hughes "Array of AxisValue records that provide the combination of axis values, one for each contributing axis. ", 3106*e1fe3e4aSElliott Hughes ), 3107*e1fe3e4aSElliott Hughes ], 3108*e1fe3e4aSElliott Hughes ), 3109*e1fe3e4aSElliott Hughes ( 3110*e1fe3e4aSElliott Hughes "AxisValueRecord", 3111*e1fe3e4aSElliott Hughes [ 3112*e1fe3e4aSElliott Hughes ( 3113*e1fe3e4aSElliott Hughes "uint16", 3114*e1fe3e4aSElliott Hughes "AxisIndex", 3115*e1fe3e4aSElliott Hughes None, 3116*e1fe3e4aSElliott Hughes None, 3117*e1fe3e4aSElliott Hughes "Index into the axis record array identifying the axis of design variation to which the axis value record applies.", 3118*e1fe3e4aSElliott Hughes ), 3119*e1fe3e4aSElliott Hughes ("Fixed", "Value", None, None, "A numeric value for this attribute value."), 3120*e1fe3e4aSElliott Hughes ], 3121*e1fe3e4aSElliott Hughes ), 3122*e1fe3e4aSElliott Hughes # 3123*e1fe3e4aSElliott Hughes # Variation fonts 3124*e1fe3e4aSElliott Hughes # 3125*e1fe3e4aSElliott Hughes # GSUB/GPOS FeatureVariations 3126*e1fe3e4aSElliott Hughes ( 3127*e1fe3e4aSElliott Hughes "FeatureVariations", 3128*e1fe3e4aSElliott Hughes [ 3129*e1fe3e4aSElliott Hughes ( 3130*e1fe3e4aSElliott Hughes "Version", 3131*e1fe3e4aSElliott Hughes "Version", 3132*e1fe3e4aSElliott Hughes None, 3133*e1fe3e4aSElliott Hughes None, 3134*e1fe3e4aSElliott Hughes "Version of the table-initially set to 0x00010000", 3135*e1fe3e4aSElliott Hughes ), 3136*e1fe3e4aSElliott Hughes ( 3137*e1fe3e4aSElliott Hughes "uint32", 3138*e1fe3e4aSElliott Hughes "FeatureVariationCount", 3139*e1fe3e4aSElliott Hughes None, 3140*e1fe3e4aSElliott Hughes None, 3141*e1fe3e4aSElliott Hughes "Number of records in the FeatureVariationRecord array", 3142*e1fe3e4aSElliott Hughes ), 3143*e1fe3e4aSElliott Hughes ( 3144*e1fe3e4aSElliott Hughes "struct", 3145*e1fe3e4aSElliott Hughes "FeatureVariationRecord", 3146*e1fe3e4aSElliott Hughes "FeatureVariationCount", 3147*e1fe3e4aSElliott Hughes 0, 3148*e1fe3e4aSElliott Hughes "Array of FeatureVariationRecord", 3149*e1fe3e4aSElliott Hughes ), 3150*e1fe3e4aSElliott Hughes ], 3151*e1fe3e4aSElliott Hughes ), 3152*e1fe3e4aSElliott Hughes ( 3153*e1fe3e4aSElliott Hughes "FeatureVariationRecord", 3154*e1fe3e4aSElliott Hughes [ 3155*e1fe3e4aSElliott Hughes ( 3156*e1fe3e4aSElliott Hughes "LOffset", 3157*e1fe3e4aSElliott Hughes "ConditionSet", 3158*e1fe3e4aSElliott Hughes None, 3159*e1fe3e4aSElliott Hughes None, 3160*e1fe3e4aSElliott Hughes "Offset to a ConditionSet table, from beginning of the FeatureVariations table.", 3161*e1fe3e4aSElliott Hughes ), 3162*e1fe3e4aSElliott Hughes ( 3163*e1fe3e4aSElliott Hughes "LOffset", 3164*e1fe3e4aSElliott Hughes "FeatureTableSubstitution", 3165*e1fe3e4aSElliott Hughes None, 3166*e1fe3e4aSElliott Hughes None, 3167*e1fe3e4aSElliott Hughes "Offset to a FeatureTableSubstitution table, from beginning of the FeatureVariations table", 3168*e1fe3e4aSElliott Hughes ), 3169*e1fe3e4aSElliott Hughes ], 3170*e1fe3e4aSElliott Hughes ), 3171*e1fe3e4aSElliott Hughes ( 3172*e1fe3e4aSElliott Hughes "ConditionSet", 3173*e1fe3e4aSElliott Hughes [ 3174*e1fe3e4aSElliott Hughes ( 3175*e1fe3e4aSElliott Hughes "uint16", 3176*e1fe3e4aSElliott Hughes "ConditionCount", 3177*e1fe3e4aSElliott Hughes None, 3178*e1fe3e4aSElliott Hughes None, 3179*e1fe3e4aSElliott Hughes "Number of condition tables in the ConditionTable array", 3180*e1fe3e4aSElliott Hughes ), 3181*e1fe3e4aSElliott Hughes ( 3182*e1fe3e4aSElliott Hughes "LOffset", 3183*e1fe3e4aSElliott Hughes "ConditionTable", 3184*e1fe3e4aSElliott Hughes "ConditionCount", 3185*e1fe3e4aSElliott Hughes 0, 3186*e1fe3e4aSElliott Hughes "Array of condition tables.", 3187*e1fe3e4aSElliott Hughes ), 3188*e1fe3e4aSElliott Hughes ], 3189*e1fe3e4aSElliott Hughes ), 3190*e1fe3e4aSElliott Hughes ( 3191*e1fe3e4aSElliott Hughes "ConditionTableFormat1", 3192*e1fe3e4aSElliott Hughes [ 3193*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format, = 1"), 3194*e1fe3e4aSElliott Hughes ( 3195*e1fe3e4aSElliott Hughes "uint16", 3196*e1fe3e4aSElliott Hughes "AxisIndex", 3197*e1fe3e4aSElliott Hughes None, 3198*e1fe3e4aSElliott Hughes None, 3199*e1fe3e4aSElliott Hughes "Index for the variation axis within the fvar table, base 0.", 3200*e1fe3e4aSElliott Hughes ), 3201*e1fe3e4aSElliott Hughes ( 3202*e1fe3e4aSElliott Hughes "F2Dot14", 3203*e1fe3e4aSElliott Hughes "FilterRangeMinValue", 3204*e1fe3e4aSElliott Hughes None, 3205*e1fe3e4aSElliott Hughes None, 3206*e1fe3e4aSElliott Hughes "Minimum normalized axis value of the font variation instances that satisfy this condition.", 3207*e1fe3e4aSElliott Hughes ), 3208*e1fe3e4aSElliott Hughes ( 3209*e1fe3e4aSElliott Hughes "F2Dot14", 3210*e1fe3e4aSElliott Hughes "FilterRangeMaxValue", 3211*e1fe3e4aSElliott Hughes None, 3212*e1fe3e4aSElliott Hughes None, 3213*e1fe3e4aSElliott Hughes "Maximum value that satisfies this condition.", 3214*e1fe3e4aSElliott Hughes ), 3215*e1fe3e4aSElliott Hughes ], 3216*e1fe3e4aSElliott Hughes ), 3217*e1fe3e4aSElliott Hughes ( 3218*e1fe3e4aSElliott Hughes "FeatureTableSubstitution", 3219*e1fe3e4aSElliott Hughes [ 3220*e1fe3e4aSElliott Hughes ( 3221*e1fe3e4aSElliott Hughes "Version", 3222*e1fe3e4aSElliott Hughes "Version", 3223*e1fe3e4aSElliott Hughes None, 3224*e1fe3e4aSElliott Hughes None, 3225*e1fe3e4aSElliott Hughes "Version of the table-initially set to 0x00010000", 3226*e1fe3e4aSElliott Hughes ), 3227*e1fe3e4aSElliott Hughes ( 3228*e1fe3e4aSElliott Hughes "uint16", 3229*e1fe3e4aSElliott Hughes "SubstitutionCount", 3230*e1fe3e4aSElliott Hughes None, 3231*e1fe3e4aSElliott Hughes None, 3232*e1fe3e4aSElliott Hughes "Number of records in the FeatureVariationRecords array", 3233*e1fe3e4aSElliott Hughes ), 3234*e1fe3e4aSElliott Hughes ( 3235*e1fe3e4aSElliott Hughes "FeatureTableSubstitutionRecord", 3236*e1fe3e4aSElliott Hughes "SubstitutionRecord", 3237*e1fe3e4aSElliott Hughes "SubstitutionCount", 3238*e1fe3e4aSElliott Hughes 0, 3239*e1fe3e4aSElliott Hughes "Array of FeatureTableSubstitutionRecord", 3240*e1fe3e4aSElliott Hughes ), 3241*e1fe3e4aSElliott Hughes ], 3242*e1fe3e4aSElliott Hughes ), 3243*e1fe3e4aSElliott Hughes ( 3244*e1fe3e4aSElliott Hughes "FeatureTableSubstitutionRecord", 3245*e1fe3e4aSElliott Hughes [ 3246*e1fe3e4aSElliott Hughes ("uint16", "FeatureIndex", None, None, "The feature table index to match."), 3247*e1fe3e4aSElliott Hughes ( 3248*e1fe3e4aSElliott Hughes "LOffset", 3249*e1fe3e4aSElliott Hughes "Feature", 3250*e1fe3e4aSElliott Hughes None, 3251*e1fe3e4aSElliott Hughes None, 3252*e1fe3e4aSElliott Hughes "Offset to an alternate feature table, from start of the FeatureTableSubstitution table.", 3253*e1fe3e4aSElliott Hughes ), 3254*e1fe3e4aSElliott Hughes ], 3255*e1fe3e4aSElliott Hughes ), 3256*e1fe3e4aSElliott Hughes # VariationStore 3257*e1fe3e4aSElliott Hughes ( 3258*e1fe3e4aSElliott Hughes "VarRegionAxis", 3259*e1fe3e4aSElliott Hughes [ 3260*e1fe3e4aSElliott Hughes ("F2Dot14", "StartCoord", None, None, ""), 3261*e1fe3e4aSElliott Hughes ("F2Dot14", "PeakCoord", None, None, ""), 3262*e1fe3e4aSElliott Hughes ("F2Dot14", "EndCoord", None, None, ""), 3263*e1fe3e4aSElliott Hughes ], 3264*e1fe3e4aSElliott Hughes ), 3265*e1fe3e4aSElliott Hughes ( 3266*e1fe3e4aSElliott Hughes "VarRegion", 3267*e1fe3e4aSElliott Hughes [ 3268*e1fe3e4aSElliott Hughes ("struct", "VarRegionAxis", "RegionAxisCount", 0, ""), 3269*e1fe3e4aSElliott Hughes ], 3270*e1fe3e4aSElliott Hughes ), 3271*e1fe3e4aSElliott Hughes ( 3272*e1fe3e4aSElliott Hughes "VarRegionList", 3273*e1fe3e4aSElliott Hughes [ 3274*e1fe3e4aSElliott Hughes ("uint16", "RegionAxisCount", None, None, ""), 3275*e1fe3e4aSElliott Hughes ("uint16", "RegionCount", None, None, ""), 3276*e1fe3e4aSElliott Hughes ("VarRegion", "Region", "RegionCount", 0, ""), 3277*e1fe3e4aSElliott Hughes ], 3278*e1fe3e4aSElliott Hughes ), 3279*e1fe3e4aSElliott Hughes ( 3280*e1fe3e4aSElliott Hughes "VarData", 3281*e1fe3e4aSElliott Hughes [ 3282*e1fe3e4aSElliott Hughes ("uint16", "ItemCount", None, None, ""), 3283*e1fe3e4aSElliott Hughes ("uint16", "NumShorts", None, None, ""), 3284*e1fe3e4aSElliott Hughes ("uint16", "VarRegionCount", None, None, ""), 3285*e1fe3e4aSElliott Hughes ("uint16", "VarRegionIndex", "VarRegionCount", 0, ""), 3286*e1fe3e4aSElliott Hughes ("VarDataValue", "Item", "ItemCount", 0, ""), 3287*e1fe3e4aSElliott Hughes ], 3288*e1fe3e4aSElliott Hughes ), 3289*e1fe3e4aSElliott Hughes ( 3290*e1fe3e4aSElliott Hughes "VarStore", 3291*e1fe3e4aSElliott Hughes [ 3292*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Set to 1."), 3293*e1fe3e4aSElliott Hughes ("LOffset", "VarRegionList", None, None, ""), 3294*e1fe3e4aSElliott Hughes ("uint16", "VarDataCount", None, None, ""), 3295*e1fe3e4aSElliott Hughes ("LOffset", "VarData", "VarDataCount", 0, ""), 3296*e1fe3e4aSElliott Hughes ], 3297*e1fe3e4aSElliott Hughes ), 3298*e1fe3e4aSElliott Hughes # Variation helpers 3299*e1fe3e4aSElliott Hughes ( 3300*e1fe3e4aSElliott Hughes "VarIdxMap", 3301*e1fe3e4aSElliott Hughes [ 3302*e1fe3e4aSElliott Hughes ("uint16", "EntryFormat", None, None, ""), # Automatically computed 3303*e1fe3e4aSElliott Hughes ("uint16", "MappingCount", None, None, ""), # Automatically computed 3304*e1fe3e4aSElliott Hughes ("VarIdxMapValue", "mapping", "", 0, "Array of compressed data"), 3305*e1fe3e4aSElliott Hughes ], 3306*e1fe3e4aSElliott Hughes ), 3307*e1fe3e4aSElliott Hughes ( 3308*e1fe3e4aSElliott Hughes "DeltaSetIndexMapFormat0", 3309*e1fe3e4aSElliott Hughes [ 3310*e1fe3e4aSElliott Hughes ("uint8", "Format", None, None, "Format of the DeltaSetIndexMap = 0"), 3311*e1fe3e4aSElliott Hughes ("uint8", "EntryFormat", None, None, ""), # Automatically computed 3312*e1fe3e4aSElliott Hughes ("uint16", "MappingCount", None, None, ""), # Automatically computed 3313*e1fe3e4aSElliott Hughes ("VarIdxMapValue", "mapping", "", 0, "Array of compressed data"), 3314*e1fe3e4aSElliott Hughes ], 3315*e1fe3e4aSElliott Hughes ), 3316*e1fe3e4aSElliott Hughes ( 3317*e1fe3e4aSElliott Hughes "DeltaSetIndexMapFormat1", 3318*e1fe3e4aSElliott Hughes [ 3319*e1fe3e4aSElliott Hughes ("uint8", "Format", None, None, "Format of the DeltaSetIndexMap = 1"), 3320*e1fe3e4aSElliott Hughes ("uint8", "EntryFormat", None, None, ""), # Automatically computed 3321*e1fe3e4aSElliott Hughes ("uint32", "MappingCount", None, None, ""), # Automatically computed 3322*e1fe3e4aSElliott Hughes ("VarIdxMapValue", "mapping", "", 0, "Array of compressed data"), 3323*e1fe3e4aSElliott Hughes ], 3324*e1fe3e4aSElliott Hughes ), 3325*e1fe3e4aSElliott Hughes # Glyph advance variations 3326*e1fe3e4aSElliott Hughes ( 3327*e1fe3e4aSElliott Hughes "HVAR", 3328*e1fe3e4aSElliott Hughes [ 3329*e1fe3e4aSElliott Hughes ( 3330*e1fe3e4aSElliott Hughes "Version", 3331*e1fe3e4aSElliott Hughes "Version", 3332*e1fe3e4aSElliott Hughes None, 3333*e1fe3e4aSElliott Hughes None, 3334*e1fe3e4aSElliott Hughes "Version of the HVAR table-initially = 0x00010000", 3335*e1fe3e4aSElliott Hughes ), 3336*e1fe3e4aSElliott Hughes ("LOffset", "VarStore", None, None, ""), 3337*e1fe3e4aSElliott Hughes ("LOffsetTo(VarIdxMap)", "AdvWidthMap", None, None, ""), 3338*e1fe3e4aSElliott Hughes ("LOffsetTo(VarIdxMap)", "LsbMap", None, None, ""), 3339*e1fe3e4aSElliott Hughes ("LOffsetTo(VarIdxMap)", "RsbMap", None, None, ""), 3340*e1fe3e4aSElliott Hughes ], 3341*e1fe3e4aSElliott Hughes ), 3342*e1fe3e4aSElliott Hughes ( 3343*e1fe3e4aSElliott Hughes "VVAR", 3344*e1fe3e4aSElliott Hughes [ 3345*e1fe3e4aSElliott Hughes ( 3346*e1fe3e4aSElliott Hughes "Version", 3347*e1fe3e4aSElliott Hughes "Version", 3348*e1fe3e4aSElliott Hughes None, 3349*e1fe3e4aSElliott Hughes None, 3350*e1fe3e4aSElliott Hughes "Version of the VVAR table-initially = 0x00010000", 3351*e1fe3e4aSElliott Hughes ), 3352*e1fe3e4aSElliott Hughes ("LOffset", "VarStore", None, None, ""), 3353*e1fe3e4aSElliott Hughes ("LOffsetTo(VarIdxMap)", "AdvHeightMap", None, None, ""), 3354*e1fe3e4aSElliott Hughes ("LOffsetTo(VarIdxMap)", "TsbMap", None, None, ""), 3355*e1fe3e4aSElliott Hughes ("LOffsetTo(VarIdxMap)", "BsbMap", None, None, ""), 3356*e1fe3e4aSElliott Hughes ("LOffsetTo(VarIdxMap)", "VOrgMap", None, None, "Vertical origin mapping."), 3357*e1fe3e4aSElliott Hughes ], 3358*e1fe3e4aSElliott Hughes ), 3359*e1fe3e4aSElliott Hughes # Font-wide metrics variations 3360*e1fe3e4aSElliott Hughes ( 3361*e1fe3e4aSElliott Hughes "MetricsValueRecord", 3362*e1fe3e4aSElliott Hughes [ 3363*e1fe3e4aSElliott Hughes ("Tag", "ValueTag", None, None, "4-byte font-wide measure identifier"), 3364*e1fe3e4aSElliott Hughes ("uint32", "VarIdx", None, None, "Combined outer-inner variation index"), 3365*e1fe3e4aSElliott Hughes ( 3366*e1fe3e4aSElliott Hughes "uint8", 3367*e1fe3e4aSElliott Hughes "MoreBytes", 3368*e1fe3e4aSElliott Hughes "ValueRecordSize", 3369*e1fe3e4aSElliott Hughes -8, 3370*e1fe3e4aSElliott Hughes "Extra bytes. Set to empty array.", 3371*e1fe3e4aSElliott Hughes ), 3372*e1fe3e4aSElliott Hughes ], 3373*e1fe3e4aSElliott Hughes ), 3374*e1fe3e4aSElliott Hughes ( 3375*e1fe3e4aSElliott Hughes "MVAR", 3376*e1fe3e4aSElliott Hughes [ 3377*e1fe3e4aSElliott Hughes ( 3378*e1fe3e4aSElliott Hughes "Version", 3379*e1fe3e4aSElliott Hughes "Version", 3380*e1fe3e4aSElliott Hughes None, 3381*e1fe3e4aSElliott Hughes None, 3382*e1fe3e4aSElliott Hughes "Version of the MVAR table-initially = 0x00010000", 3383*e1fe3e4aSElliott Hughes ), 3384*e1fe3e4aSElliott Hughes ("uint16", "Reserved", None, None, "Set to 0"), 3385*e1fe3e4aSElliott Hughes ("uint16", "ValueRecordSize", None, None, ""), 3386*e1fe3e4aSElliott Hughes ("uint16", "ValueRecordCount", None, None, ""), 3387*e1fe3e4aSElliott Hughes ("Offset", "VarStore", None, None, ""), 3388*e1fe3e4aSElliott Hughes ("MetricsValueRecord", "ValueRecord", "ValueRecordCount", 0, ""), 3389*e1fe3e4aSElliott Hughes ], 3390*e1fe3e4aSElliott Hughes ), 3391*e1fe3e4aSElliott Hughes # 3392*e1fe3e4aSElliott Hughes # math 3393*e1fe3e4aSElliott Hughes # 3394*e1fe3e4aSElliott Hughes ( 3395*e1fe3e4aSElliott Hughes "MATH", 3396*e1fe3e4aSElliott Hughes [ 3397*e1fe3e4aSElliott Hughes ( 3398*e1fe3e4aSElliott Hughes "Version", 3399*e1fe3e4aSElliott Hughes "Version", 3400*e1fe3e4aSElliott Hughes None, 3401*e1fe3e4aSElliott Hughes None, 3402*e1fe3e4aSElliott Hughes "Version of the MATH table-initially set to 0x00010000.", 3403*e1fe3e4aSElliott Hughes ), 3404*e1fe3e4aSElliott Hughes ( 3405*e1fe3e4aSElliott Hughes "Offset", 3406*e1fe3e4aSElliott Hughes "MathConstants", 3407*e1fe3e4aSElliott Hughes None, 3408*e1fe3e4aSElliott Hughes None, 3409*e1fe3e4aSElliott Hughes "Offset to MathConstants table - from the beginning of MATH table.", 3410*e1fe3e4aSElliott Hughes ), 3411*e1fe3e4aSElliott Hughes ( 3412*e1fe3e4aSElliott Hughes "Offset", 3413*e1fe3e4aSElliott Hughes "MathGlyphInfo", 3414*e1fe3e4aSElliott Hughes None, 3415*e1fe3e4aSElliott Hughes None, 3416*e1fe3e4aSElliott Hughes "Offset to MathGlyphInfo table - from the beginning of MATH table.", 3417*e1fe3e4aSElliott Hughes ), 3418*e1fe3e4aSElliott Hughes ( 3419*e1fe3e4aSElliott Hughes "Offset", 3420*e1fe3e4aSElliott Hughes "MathVariants", 3421*e1fe3e4aSElliott Hughes None, 3422*e1fe3e4aSElliott Hughes None, 3423*e1fe3e4aSElliott Hughes "Offset to MathVariants table - from the beginning of MATH table.", 3424*e1fe3e4aSElliott Hughes ), 3425*e1fe3e4aSElliott Hughes ], 3426*e1fe3e4aSElliott Hughes ), 3427*e1fe3e4aSElliott Hughes ( 3428*e1fe3e4aSElliott Hughes "MathValueRecord", 3429*e1fe3e4aSElliott Hughes [ 3430*e1fe3e4aSElliott Hughes ("int16", "Value", None, None, "The X or Y value in design units."), 3431*e1fe3e4aSElliott Hughes ( 3432*e1fe3e4aSElliott Hughes "Offset", 3433*e1fe3e4aSElliott Hughes "DeviceTable", 3434*e1fe3e4aSElliott Hughes None, 3435*e1fe3e4aSElliott Hughes None, 3436*e1fe3e4aSElliott Hughes "Offset to the device table - from the beginning of parent table. May be NULL. Suggested format for device table is 1.", 3437*e1fe3e4aSElliott Hughes ), 3438*e1fe3e4aSElliott Hughes ], 3439*e1fe3e4aSElliott Hughes ), 3440*e1fe3e4aSElliott Hughes ( 3441*e1fe3e4aSElliott Hughes "MathConstants", 3442*e1fe3e4aSElliott Hughes [ 3443*e1fe3e4aSElliott Hughes ( 3444*e1fe3e4aSElliott Hughes "int16", 3445*e1fe3e4aSElliott Hughes "ScriptPercentScaleDown", 3446*e1fe3e4aSElliott Hughes None, 3447*e1fe3e4aSElliott Hughes None, 3448*e1fe3e4aSElliott Hughes "Percentage of scaling down for script level 1. Suggested value: 80%.", 3449*e1fe3e4aSElliott Hughes ), 3450*e1fe3e4aSElliott Hughes ( 3451*e1fe3e4aSElliott Hughes "int16", 3452*e1fe3e4aSElliott Hughes "ScriptScriptPercentScaleDown", 3453*e1fe3e4aSElliott Hughes None, 3454*e1fe3e4aSElliott Hughes None, 3455*e1fe3e4aSElliott Hughes "Percentage of scaling down for script level 2 (ScriptScript). Suggested value: 60%.", 3456*e1fe3e4aSElliott Hughes ), 3457*e1fe3e4aSElliott Hughes ( 3458*e1fe3e4aSElliott Hughes "uint16", 3459*e1fe3e4aSElliott Hughes "DelimitedSubFormulaMinHeight", 3460*e1fe3e4aSElliott Hughes None, 3461*e1fe3e4aSElliott Hughes None, 3462*e1fe3e4aSElliott Hughes "Minimum height required for a delimited expression to be treated as a subformula. Suggested value: normal line height x1.5.", 3463*e1fe3e4aSElliott Hughes ), 3464*e1fe3e4aSElliott Hughes ( 3465*e1fe3e4aSElliott Hughes "uint16", 3466*e1fe3e4aSElliott Hughes "DisplayOperatorMinHeight", 3467*e1fe3e4aSElliott Hughes None, 3468*e1fe3e4aSElliott Hughes None, 3469*e1fe3e4aSElliott Hughes "Minimum height of n-ary operators (such as integral and summation) for formulas in display mode.", 3470*e1fe3e4aSElliott Hughes ), 3471*e1fe3e4aSElliott Hughes ( 3472*e1fe3e4aSElliott Hughes "MathValueRecord", 3473*e1fe3e4aSElliott Hughes "MathLeading", 3474*e1fe3e4aSElliott Hughes None, 3475*e1fe3e4aSElliott Hughes None, 3476*e1fe3e4aSElliott Hughes "White space to be left between math formulas to ensure proper line spacing. For example, for applications that treat line gap as a part of line ascender, formulas with ink going above (os2.sTypoAscender + os2.sTypoLineGap - MathLeading) or with ink going below os2.sTypoDescender will result in increasing line height.", 3477*e1fe3e4aSElliott Hughes ), 3478*e1fe3e4aSElliott Hughes ("MathValueRecord", "AxisHeight", None, None, "Axis height of the font."), 3479*e1fe3e4aSElliott Hughes ( 3480*e1fe3e4aSElliott Hughes "MathValueRecord", 3481*e1fe3e4aSElliott Hughes "AccentBaseHeight", 3482*e1fe3e4aSElliott Hughes None, 3483*e1fe3e4aSElliott Hughes None, 3484*e1fe3e4aSElliott Hughes "Maximum (ink) height of accent base that does not require raising the accents. Suggested: x-height of the font (os2.sxHeight) plus any possible overshots.", 3485*e1fe3e4aSElliott Hughes ), 3486*e1fe3e4aSElliott Hughes ( 3487*e1fe3e4aSElliott Hughes "MathValueRecord", 3488*e1fe3e4aSElliott Hughes "FlattenedAccentBaseHeight", 3489*e1fe3e4aSElliott Hughes None, 3490*e1fe3e4aSElliott Hughes None, 3491*e1fe3e4aSElliott Hughes "Maximum (ink) height of accent base that does not require flattening the accents. Suggested: cap height of the font (os2.sCapHeight).", 3492*e1fe3e4aSElliott Hughes ), 3493*e1fe3e4aSElliott Hughes ( 3494*e1fe3e4aSElliott Hughes "MathValueRecord", 3495*e1fe3e4aSElliott Hughes "SubscriptShiftDown", 3496*e1fe3e4aSElliott Hughes None, 3497*e1fe3e4aSElliott Hughes None, 3498*e1fe3e4aSElliott Hughes "The standard shift down applied to subscript elements. Positive for moving in the downward direction. Suggested: os2.ySubscriptYOffset.", 3499*e1fe3e4aSElliott Hughes ), 3500*e1fe3e4aSElliott Hughes ( 3501*e1fe3e4aSElliott Hughes "MathValueRecord", 3502*e1fe3e4aSElliott Hughes "SubscriptTopMax", 3503*e1fe3e4aSElliott Hughes None, 3504*e1fe3e4aSElliott Hughes None, 3505*e1fe3e4aSElliott Hughes "Maximum allowed height of the (ink) top of subscripts that does not require moving subscripts further down. Suggested: 4/5 x-height.", 3506*e1fe3e4aSElliott Hughes ), 3507*e1fe3e4aSElliott Hughes ( 3508*e1fe3e4aSElliott Hughes "MathValueRecord", 3509*e1fe3e4aSElliott Hughes "SubscriptBaselineDropMin", 3510*e1fe3e4aSElliott Hughes None, 3511*e1fe3e4aSElliott Hughes None, 3512*e1fe3e4aSElliott Hughes "Minimum allowed drop of the baseline of subscripts relative to the (ink) bottom of the base. Checked for bases that are treated as a box or extended shape. Positive for subscript baseline dropped below the base bottom.", 3513*e1fe3e4aSElliott Hughes ), 3514*e1fe3e4aSElliott Hughes ( 3515*e1fe3e4aSElliott Hughes "MathValueRecord", 3516*e1fe3e4aSElliott Hughes "SuperscriptShiftUp", 3517*e1fe3e4aSElliott Hughes None, 3518*e1fe3e4aSElliott Hughes None, 3519*e1fe3e4aSElliott Hughes "Standard shift up applied to superscript elements. Suggested: os2.ySuperscriptYOffset.", 3520*e1fe3e4aSElliott Hughes ), 3521*e1fe3e4aSElliott Hughes ( 3522*e1fe3e4aSElliott Hughes "MathValueRecord", 3523*e1fe3e4aSElliott Hughes "SuperscriptShiftUpCramped", 3524*e1fe3e4aSElliott Hughes None, 3525*e1fe3e4aSElliott Hughes None, 3526*e1fe3e4aSElliott Hughes "Standard shift of superscripts relative to the base, in cramped style.", 3527*e1fe3e4aSElliott Hughes ), 3528*e1fe3e4aSElliott Hughes ( 3529*e1fe3e4aSElliott Hughes "MathValueRecord", 3530*e1fe3e4aSElliott Hughes "SuperscriptBottomMin", 3531*e1fe3e4aSElliott Hughes None, 3532*e1fe3e4aSElliott Hughes None, 3533*e1fe3e4aSElliott Hughes "Minimum allowed height of the (ink) bottom of superscripts that does not require moving subscripts further up. Suggested: 1/4 x-height.", 3534*e1fe3e4aSElliott Hughes ), 3535*e1fe3e4aSElliott Hughes ( 3536*e1fe3e4aSElliott Hughes "MathValueRecord", 3537*e1fe3e4aSElliott Hughes "SuperscriptBaselineDropMax", 3538*e1fe3e4aSElliott Hughes None, 3539*e1fe3e4aSElliott Hughes None, 3540*e1fe3e4aSElliott Hughes "Maximum allowed drop of the baseline of superscripts relative to the (ink) top of the base. Checked for bases that are treated as a box or extended shape. Positive for superscript baseline below the base top.", 3541*e1fe3e4aSElliott Hughes ), 3542*e1fe3e4aSElliott Hughes ( 3543*e1fe3e4aSElliott Hughes "MathValueRecord", 3544*e1fe3e4aSElliott Hughes "SubSuperscriptGapMin", 3545*e1fe3e4aSElliott Hughes None, 3546*e1fe3e4aSElliott Hughes None, 3547*e1fe3e4aSElliott Hughes "Minimum gap between the superscript and subscript ink. Suggested: 4x default rule thickness.", 3548*e1fe3e4aSElliott Hughes ), 3549*e1fe3e4aSElliott Hughes ( 3550*e1fe3e4aSElliott Hughes "MathValueRecord", 3551*e1fe3e4aSElliott Hughes "SuperscriptBottomMaxWithSubscript", 3552*e1fe3e4aSElliott Hughes None, 3553*e1fe3e4aSElliott Hughes None, 3554*e1fe3e4aSElliott Hughes "The maximum level to which the (ink) bottom of superscript can be pushed to increase the gap between superscript and subscript, before subscript starts being moved down. Suggested: 4/5 x-height.", 3555*e1fe3e4aSElliott Hughes ), 3556*e1fe3e4aSElliott Hughes ( 3557*e1fe3e4aSElliott Hughes "MathValueRecord", 3558*e1fe3e4aSElliott Hughes "SpaceAfterScript", 3559*e1fe3e4aSElliott Hughes None, 3560*e1fe3e4aSElliott Hughes None, 3561*e1fe3e4aSElliott Hughes "Extra white space to be added after each subscript and superscript. Suggested: 0.5pt for a 12 pt font.", 3562*e1fe3e4aSElliott Hughes ), 3563*e1fe3e4aSElliott Hughes ( 3564*e1fe3e4aSElliott Hughes "MathValueRecord", 3565*e1fe3e4aSElliott Hughes "UpperLimitGapMin", 3566*e1fe3e4aSElliott Hughes None, 3567*e1fe3e4aSElliott Hughes None, 3568*e1fe3e4aSElliott Hughes "Minimum gap between the (ink) bottom of the upper limit, and the (ink) top of the base operator.", 3569*e1fe3e4aSElliott Hughes ), 3570*e1fe3e4aSElliott Hughes ( 3571*e1fe3e4aSElliott Hughes "MathValueRecord", 3572*e1fe3e4aSElliott Hughes "UpperLimitBaselineRiseMin", 3573*e1fe3e4aSElliott Hughes None, 3574*e1fe3e4aSElliott Hughes None, 3575*e1fe3e4aSElliott Hughes "Minimum distance between baseline of upper limit and (ink) top of the base operator.", 3576*e1fe3e4aSElliott Hughes ), 3577*e1fe3e4aSElliott Hughes ( 3578*e1fe3e4aSElliott Hughes "MathValueRecord", 3579*e1fe3e4aSElliott Hughes "LowerLimitGapMin", 3580*e1fe3e4aSElliott Hughes None, 3581*e1fe3e4aSElliott Hughes None, 3582*e1fe3e4aSElliott Hughes "Minimum gap between (ink) top of the lower limit, and (ink) bottom of the base operator.", 3583*e1fe3e4aSElliott Hughes ), 3584*e1fe3e4aSElliott Hughes ( 3585*e1fe3e4aSElliott Hughes "MathValueRecord", 3586*e1fe3e4aSElliott Hughes "LowerLimitBaselineDropMin", 3587*e1fe3e4aSElliott Hughes None, 3588*e1fe3e4aSElliott Hughes None, 3589*e1fe3e4aSElliott Hughes "Minimum distance between baseline of the lower limit and (ink) bottom of the base operator.", 3590*e1fe3e4aSElliott Hughes ), 3591*e1fe3e4aSElliott Hughes ( 3592*e1fe3e4aSElliott Hughes "MathValueRecord", 3593*e1fe3e4aSElliott Hughes "StackTopShiftUp", 3594*e1fe3e4aSElliott Hughes None, 3595*e1fe3e4aSElliott Hughes None, 3596*e1fe3e4aSElliott Hughes "Standard shift up applied to the top element of a stack.", 3597*e1fe3e4aSElliott Hughes ), 3598*e1fe3e4aSElliott Hughes ( 3599*e1fe3e4aSElliott Hughes "MathValueRecord", 3600*e1fe3e4aSElliott Hughes "StackTopDisplayStyleShiftUp", 3601*e1fe3e4aSElliott Hughes None, 3602*e1fe3e4aSElliott Hughes None, 3603*e1fe3e4aSElliott Hughes "Standard shift up applied to the top element of a stack in display style.", 3604*e1fe3e4aSElliott Hughes ), 3605*e1fe3e4aSElliott Hughes ( 3606*e1fe3e4aSElliott Hughes "MathValueRecord", 3607*e1fe3e4aSElliott Hughes "StackBottomShiftDown", 3608*e1fe3e4aSElliott Hughes None, 3609*e1fe3e4aSElliott Hughes None, 3610*e1fe3e4aSElliott Hughes "Standard shift down applied to the bottom element of a stack. Positive for moving in the downward direction.", 3611*e1fe3e4aSElliott Hughes ), 3612*e1fe3e4aSElliott Hughes ( 3613*e1fe3e4aSElliott Hughes "MathValueRecord", 3614*e1fe3e4aSElliott Hughes "StackBottomDisplayStyleShiftDown", 3615*e1fe3e4aSElliott Hughes None, 3616*e1fe3e4aSElliott Hughes None, 3617*e1fe3e4aSElliott Hughes "Standard shift down applied to the bottom element of a stack in display style. Positive for moving in the downward direction.", 3618*e1fe3e4aSElliott Hughes ), 3619*e1fe3e4aSElliott Hughes ( 3620*e1fe3e4aSElliott Hughes "MathValueRecord", 3621*e1fe3e4aSElliott Hughes "StackGapMin", 3622*e1fe3e4aSElliott Hughes None, 3623*e1fe3e4aSElliott Hughes None, 3624*e1fe3e4aSElliott Hughes "Minimum gap between (ink) bottom of the top element of a stack, and the (ink) top of the bottom element. Suggested: 3x default rule thickness.", 3625*e1fe3e4aSElliott Hughes ), 3626*e1fe3e4aSElliott Hughes ( 3627*e1fe3e4aSElliott Hughes "MathValueRecord", 3628*e1fe3e4aSElliott Hughes "StackDisplayStyleGapMin", 3629*e1fe3e4aSElliott Hughes None, 3630*e1fe3e4aSElliott Hughes None, 3631*e1fe3e4aSElliott Hughes "Minimum gap between (ink) bottom of the top element of a stack, and the (ink) top of the bottom element in display style. Suggested: 7x default rule thickness.", 3632*e1fe3e4aSElliott Hughes ), 3633*e1fe3e4aSElliott Hughes ( 3634*e1fe3e4aSElliott Hughes "MathValueRecord", 3635*e1fe3e4aSElliott Hughes "StretchStackTopShiftUp", 3636*e1fe3e4aSElliott Hughes None, 3637*e1fe3e4aSElliott Hughes None, 3638*e1fe3e4aSElliott Hughes "Standard shift up applied to the top element of the stretch stack.", 3639*e1fe3e4aSElliott Hughes ), 3640*e1fe3e4aSElliott Hughes ( 3641*e1fe3e4aSElliott Hughes "MathValueRecord", 3642*e1fe3e4aSElliott Hughes "StretchStackBottomShiftDown", 3643*e1fe3e4aSElliott Hughes None, 3644*e1fe3e4aSElliott Hughes None, 3645*e1fe3e4aSElliott Hughes "Standard shift down applied to the bottom element of the stretch stack. Positive for moving in the downward direction.", 3646*e1fe3e4aSElliott Hughes ), 3647*e1fe3e4aSElliott Hughes ( 3648*e1fe3e4aSElliott Hughes "MathValueRecord", 3649*e1fe3e4aSElliott Hughes "StretchStackGapAboveMin", 3650*e1fe3e4aSElliott Hughes None, 3651*e1fe3e4aSElliott Hughes None, 3652*e1fe3e4aSElliott Hughes "Minimum gap between the ink of the stretched element, and the (ink) bottom of the element above. Suggested: UpperLimitGapMin", 3653*e1fe3e4aSElliott Hughes ), 3654*e1fe3e4aSElliott Hughes ( 3655*e1fe3e4aSElliott Hughes "MathValueRecord", 3656*e1fe3e4aSElliott Hughes "StretchStackGapBelowMin", 3657*e1fe3e4aSElliott Hughes None, 3658*e1fe3e4aSElliott Hughes None, 3659*e1fe3e4aSElliott Hughes "Minimum gap between the ink of the stretched element, and the (ink) top of the element below. Suggested: LowerLimitGapMin.", 3660*e1fe3e4aSElliott Hughes ), 3661*e1fe3e4aSElliott Hughes ( 3662*e1fe3e4aSElliott Hughes "MathValueRecord", 3663*e1fe3e4aSElliott Hughes "FractionNumeratorShiftUp", 3664*e1fe3e4aSElliott Hughes None, 3665*e1fe3e4aSElliott Hughes None, 3666*e1fe3e4aSElliott Hughes "Standard shift up applied to the numerator.", 3667*e1fe3e4aSElliott Hughes ), 3668*e1fe3e4aSElliott Hughes ( 3669*e1fe3e4aSElliott Hughes "MathValueRecord", 3670*e1fe3e4aSElliott Hughes "FractionNumeratorDisplayStyleShiftUp", 3671*e1fe3e4aSElliott Hughes None, 3672*e1fe3e4aSElliott Hughes None, 3673*e1fe3e4aSElliott Hughes "Standard shift up applied to the numerator in display style. Suggested: StackTopDisplayStyleShiftUp.", 3674*e1fe3e4aSElliott Hughes ), 3675*e1fe3e4aSElliott Hughes ( 3676*e1fe3e4aSElliott Hughes "MathValueRecord", 3677*e1fe3e4aSElliott Hughes "FractionDenominatorShiftDown", 3678*e1fe3e4aSElliott Hughes None, 3679*e1fe3e4aSElliott Hughes None, 3680*e1fe3e4aSElliott Hughes "Standard shift down applied to the denominator. Positive for moving in the downward direction.", 3681*e1fe3e4aSElliott Hughes ), 3682*e1fe3e4aSElliott Hughes ( 3683*e1fe3e4aSElliott Hughes "MathValueRecord", 3684*e1fe3e4aSElliott Hughes "FractionDenominatorDisplayStyleShiftDown", 3685*e1fe3e4aSElliott Hughes None, 3686*e1fe3e4aSElliott Hughes None, 3687*e1fe3e4aSElliott Hughes "Standard shift down applied to the denominator in display style. Positive for moving in the downward direction. Suggested: StackBottomDisplayStyleShiftDown.", 3688*e1fe3e4aSElliott Hughes ), 3689*e1fe3e4aSElliott Hughes ( 3690*e1fe3e4aSElliott Hughes "MathValueRecord", 3691*e1fe3e4aSElliott Hughes "FractionNumeratorGapMin", 3692*e1fe3e4aSElliott Hughes None, 3693*e1fe3e4aSElliott Hughes None, 3694*e1fe3e4aSElliott Hughes "Minimum tolerated gap between the (ink) bottom of the numerator and the ink of the fraction bar. Suggested: default rule thickness", 3695*e1fe3e4aSElliott Hughes ), 3696*e1fe3e4aSElliott Hughes ( 3697*e1fe3e4aSElliott Hughes "MathValueRecord", 3698*e1fe3e4aSElliott Hughes "FractionNumDisplayStyleGapMin", 3699*e1fe3e4aSElliott Hughes None, 3700*e1fe3e4aSElliott Hughes None, 3701*e1fe3e4aSElliott Hughes "Minimum tolerated gap between the (ink) bottom of the numerator and the ink of the fraction bar in display style. Suggested: 3x default rule thickness.", 3702*e1fe3e4aSElliott Hughes ), 3703*e1fe3e4aSElliott Hughes ( 3704*e1fe3e4aSElliott Hughes "MathValueRecord", 3705*e1fe3e4aSElliott Hughes "FractionRuleThickness", 3706*e1fe3e4aSElliott Hughes None, 3707*e1fe3e4aSElliott Hughes None, 3708*e1fe3e4aSElliott Hughes "Thickness of the fraction bar. Suggested: default rule thickness.", 3709*e1fe3e4aSElliott Hughes ), 3710*e1fe3e4aSElliott Hughes ( 3711*e1fe3e4aSElliott Hughes "MathValueRecord", 3712*e1fe3e4aSElliott Hughes "FractionDenominatorGapMin", 3713*e1fe3e4aSElliott Hughes None, 3714*e1fe3e4aSElliott Hughes None, 3715*e1fe3e4aSElliott Hughes "Minimum tolerated gap between the (ink) top of the denominator and the ink of the fraction bar. Suggested: default rule thickness", 3716*e1fe3e4aSElliott Hughes ), 3717*e1fe3e4aSElliott Hughes ( 3718*e1fe3e4aSElliott Hughes "MathValueRecord", 3719*e1fe3e4aSElliott Hughes "FractionDenomDisplayStyleGapMin", 3720*e1fe3e4aSElliott Hughes None, 3721*e1fe3e4aSElliott Hughes None, 3722*e1fe3e4aSElliott Hughes "Minimum tolerated gap between the (ink) top of the denominator and the ink of the fraction bar in display style. Suggested: 3x default rule thickness.", 3723*e1fe3e4aSElliott Hughes ), 3724*e1fe3e4aSElliott Hughes ( 3725*e1fe3e4aSElliott Hughes "MathValueRecord", 3726*e1fe3e4aSElliott Hughes "SkewedFractionHorizontalGap", 3727*e1fe3e4aSElliott Hughes None, 3728*e1fe3e4aSElliott Hughes None, 3729*e1fe3e4aSElliott Hughes "Horizontal distance between the top and bottom elements of a skewed fraction.", 3730*e1fe3e4aSElliott Hughes ), 3731*e1fe3e4aSElliott Hughes ( 3732*e1fe3e4aSElliott Hughes "MathValueRecord", 3733*e1fe3e4aSElliott Hughes "SkewedFractionVerticalGap", 3734*e1fe3e4aSElliott Hughes None, 3735*e1fe3e4aSElliott Hughes None, 3736*e1fe3e4aSElliott Hughes "Vertical distance between the ink of the top and bottom elements of a skewed fraction.", 3737*e1fe3e4aSElliott Hughes ), 3738*e1fe3e4aSElliott Hughes ( 3739*e1fe3e4aSElliott Hughes "MathValueRecord", 3740*e1fe3e4aSElliott Hughes "OverbarVerticalGap", 3741*e1fe3e4aSElliott Hughes None, 3742*e1fe3e4aSElliott Hughes None, 3743*e1fe3e4aSElliott Hughes "Distance between the overbar and the (ink) top of he base. Suggested: 3x default rule thickness.", 3744*e1fe3e4aSElliott Hughes ), 3745*e1fe3e4aSElliott Hughes ( 3746*e1fe3e4aSElliott Hughes "MathValueRecord", 3747*e1fe3e4aSElliott Hughes "OverbarRuleThickness", 3748*e1fe3e4aSElliott Hughes None, 3749*e1fe3e4aSElliott Hughes None, 3750*e1fe3e4aSElliott Hughes "Thickness of overbar. Suggested: default rule thickness.", 3751*e1fe3e4aSElliott Hughes ), 3752*e1fe3e4aSElliott Hughes ( 3753*e1fe3e4aSElliott Hughes "MathValueRecord", 3754*e1fe3e4aSElliott Hughes "OverbarExtraAscender", 3755*e1fe3e4aSElliott Hughes None, 3756*e1fe3e4aSElliott Hughes None, 3757*e1fe3e4aSElliott Hughes "Extra white space reserved above the overbar. Suggested: default rule thickness.", 3758*e1fe3e4aSElliott Hughes ), 3759*e1fe3e4aSElliott Hughes ( 3760*e1fe3e4aSElliott Hughes "MathValueRecord", 3761*e1fe3e4aSElliott Hughes "UnderbarVerticalGap", 3762*e1fe3e4aSElliott Hughes None, 3763*e1fe3e4aSElliott Hughes None, 3764*e1fe3e4aSElliott Hughes "Distance between underbar and (ink) bottom of the base. Suggested: 3x default rule thickness.", 3765*e1fe3e4aSElliott Hughes ), 3766*e1fe3e4aSElliott Hughes ( 3767*e1fe3e4aSElliott Hughes "MathValueRecord", 3768*e1fe3e4aSElliott Hughes "UnderbarRuleThickness", 3769*e1fe3e4aSElliott Hughes None, 3770*e1fe3e4aSElliott Hughes None, 3771*e1fe3e4aSElliott Hughes "Thickness of underbar. Suggested: default rule thickness.", 3772*e1fe3e4aSElliott Hughes ), 3773*e1fe3e4aSElliott Hughes ( 3774*e1fe3e4aSElliott Hughes "MathValueRecord", 3775*e1fe3e4aSElliott Hughes "UnderbarExtraDescender", 3776*e1fe3e4aSElliott Hughes None, 3777*e1fe3e4aSElliott Hughes None, 3778*e1fe3e4aSElliott Hughes "Extra white space reserved below the underbar. Always positive. Suggested: default rule thickness.", 3779*e1fe3e4aSElliott Hughes ), 3780*e1fe3e4aSElliott Hughes ( 3781*e1fe3e4aSElliott Hughes "MathValueRecord", 3782*e1fe3e4aSElliott Hughes "RadicalVerticalGap", 3783*e1fe3e4aSElliott Hughes None, 3784*e1fe3e4aSElliott Hughes None, 3785*e1fe3e4aSElliott Hughes "Space between the (ink) top of the expression and the bar over it. Suggested: 1 1/4 default rule thickness.", 3786*e1fe3e4aSElliott Hughes ), 3787*e1fe3e4aSElliott Hughes ( 3788*e1fe3e4aSElliott Hughes "MathValueRecord", 3789*e1fe3e4aSElliott Hughes "RadicalDisplayStyleVerticalGap", 3790*e1fe3e4aSElliott Hughes None, 3791*e1fe3e4aSElliott Hughes None, 3792*e1fe3e4aSElliott Hughes "Space between the (ink) top of the expression and the bar over it. Suggested: default rule thickness + 1/4 x-height.", 3793*e1fe3e4aSElliott Hughes ), 3794*e1fe3e4aSElliott Hughes ( 3795*e1fe3e4aSElliott Hughes "MathValueRecord", 3796*e1fe3e4aSElliott Hughes "RadicalRuleThickness", 3797*e1fe3e4aSElliott Hughes None, 3798*e1fe3e4aSElliott Hughes None, 3799*e1fe3e4aSElliott Hughes "Thickness of the radical rule. This is the thickness of the rule in designed or constructed radical signs. Suggested: default rule thickness.", 3800*e1fe3e4aSElliott Hughes ), 3801*e1fe3e4aSElliott Hughes ( 3802*e1fe3e4aSElliott Hughes "MathValueRecord", 3803*e1fe3e4aSElliott Hughes "RadicalExtraAscender", 3804*e1fe3e4aSElliott Hughes None, 3805*e1fe3e4aSElliott Hughes None, 3806*e1fe3e4aSElliott Hughes "Extra white space reserved above the radical. Suggested: RadicalRuleThickness.", 3807*e1fe3e4aSElliott Hughes ), 3808*e1fe3e4aSElliott Hughes ( 3809*e1fe3e4aSElliott Hughes "MathValueRecord", 3810*e1fe3e4aSElliott Hughes "RadicalKernBeforeDegree", 3811*e1fe3e4aSElliott Hughes None, 3812*e1fe3e4aSElliott Hughes None, 3813*e1fe3e4aSElliott Hughes "Extra horizontal kern before the degree of a radical, if such is present. Suggested: 5/18 of em.", 3814*e1fe3e4aSElliott Hughes ), 3815*e1fe3e4aSElliott Hughes ( 3816*e1fe3e4aSElliott Hughes "MathValueRecord", 3817*e1fe3e4aSElliott Hughes "RadicalKernAfterDegree", 3818*e1fe3e4aSElliott Hughes None, 3819*e1fe3e4aSElliott Hughes None, 3820*e1fe3e4aSElliott Hughes "Negative kern after the degree of a radical, if such is present. Suggested: 10/18 of em.", 3821*e1fe3e4aSElliott Hughes ), 3822*e1fe3e4aSElliott Hughes ( 3823*e1fe3e4aSElliott Hughes "uint16", 3824*e1fe3e4aSElliott Hughes "RadicalDegreeBottomRaisePercent", 3825*e1fe3e4aSElliott Hughes None, 3826*e1fe3e4aSElliott Hughes None, 3827*e1fe3e4aSElliott Hughes "Height of the bottom of the radical degree, if such is present, in proportion to the ascender of the radical sign. Suggested: 60%.", 3828*e1fe3e4aSElliott Hughes ), 3829*e1fe3e4aSElliott Hughes ], 3830*e1fe3e4aSElliott Hughes ), 3831*e1fe3e4aSElliott Hughes ( 3832*e1fe3e4aSElliott Hughes "MathGlyphInfo", 3833*e1fe3e4aSElliott Hughes [ 3834*e1fe3e4aSElliott Hughes ( 3835*e1fe3e4aSElliott Hughes "Offset", 3836*e1fe3e4aSElliott Hughes "MathItalicsCorrectionInfo", 3837*e1fe3e4aSElliott Hughes None, 3838*e1fe3e4aSElliott Hughes None, 3839*e1fe3e4aSElliott Hughes "Offset to MathItalicsCorrectionInfo table - from the beginning of MathGlyphInfo table.", 3840*e1fe3e4aSElliott Hughes ), 3841*e1fe3e4aSElliott Hughes ( 3842*e1fe3e4aSElliott Hughes "Offset", 3843*e1fe3e4aSElliott Hughes "MathTopAccentAttachment", 3844*e1fe3e4aSElliott Hughes None, 3845*e1fe3e4aSElliott Hughes None, 3846*e1fe3e4aSElliott Hughes "Offset to MathTopAccentAttachment table - from the beginning of MathGlyphInfo table.", 3847*e1fe3e4aSElliott Hughes ), 3848*e1fe3e4aSElliott Hughes ( 3849*e1fe3e4aSElliott Hughes "Offset", 3850*e1fe3e4aSElliott Hughes "ExtendedShapeCoverage", 3851*e1fe3e4aSElliott Hughes None, 3852*e1fe3e4aSElliott Hughes None, 3853*e1fe3e4aSElliott Hughes "Offset to coverage table for Extended Shape glyphs - from the beginning of MathGlyphInfo table. When the left or right glyph of a box is an extended shape variant, the (ink) box (and not the default position defined by values in MathConstants table) should be used for vertical positioning purposes. May be NULL.", 3854*e1fe3e4aSElliott Hughes ), 3855*e1fe3e4aSElliott Hughes ( 3856*e1fe3e4aSElliott Hughes "Offset", 3857*e1fe3e4aSElliott Hughes "MathKernInfo", 3858*e1fe3e4aSElliott Hughes None, 3859*e1fe3e4aSElliott Hughes None, 3860*e1fe3e4aSElliott Hughes "Offset to MathKernInfo table - from the beginning of MathGlyphInfo table.", 3861*e1fe3e4aSElliott Hughes ), 3862*e1fe3e4aSElliott Hughes ], 3863*e1fe3e4aSElliott Hughes ), 3864*e1fe3e4aSElliott Hughes ( 3865*e1fe3e4aSElliott Hughes "MathItalicsCorrectionInfo", 3866*e1fe3e4aSElliott Hughes [ 3867*e1fe3e4aSElliott Hughes ( 3868*e1fe3e4aSElliott Hughes "Offset", 3869*e1fe3e4aSElliott Hughes "Coverage", 3870*e1fe3e4aSElliott Hughes None, 3871*e1fe3e4aSElliott Hughes None, 3872*e1fe3e4aSElliott Hughes "Offset to Coverage table - from the beginning of MathItalicsCorrectionInfo table.", 3873*e1fe3e4aSElliott Hughes ), 3874*e1fe3e4aSElliott Hughes ( 3875*e1fe3e4aSElliott Hughes "uint16", 3876*e1fe3e4aSElliott Hughes "ItalicsCorrectionCount", 3877*e1fe3e4aSElliott Hughes None, 3878*e1fe3e4aSElliott Hughes None, 3879*e1fe3e4aSElliott Hughes "Number of italics correction values. Should coincide with the number of covered glyphs.", 3880*e1fe3e4aSElliott Hughes ), 3881*e1fe3e4aSElliott Hughes ( 3882*e1fe3e4aSElliott Hughes "MathValueRecord", 3883*e1fe3e4aSElliott Hughes "ItalicsCorrection", 3884*e1fe3e4aSElliott Hughes "ItalicsCorrectionCount", 3885*e1fe3e4aSElliott Hughes 0, 3886*e1fe3e4aSElliott Hughes "Array of MathValueRecords defining italics correction values for each covered glyph.", 3887*e1fe3e4aSElliott Hughes ), 3888*e1fe3e4aSElliott Hughes ], 3889*e1fe3e4aSElliott Hughes ), 3890*e1fe3e4aSElliott Hughes ( 3891*e1fe3e4aSElliott Hughes "MathTopAccentAttachment", 3892*e1fe3e4aSElliott Hughes [ 3893*e1fe3e4aSElliott Hughes ( 3894*e1fe3e4aSElliott Hughes "Offset", 3895*e1fe3e4aSElliott Hughes "TopAccentCoverage", 3896*e1fe3e4aSElliott Hughes None, 3897*e1fe3e4aSElliott Hughes None, 3898*e1fe3e4aSElliott Hughes "Offset to Coverage table - from the beginning of MathTopAccentAttachment table.", 3899*e1fe3e4aSElliott Hughes ), 3900*e1fe3e4aSElliott Hughes ( 3901*e1fe3e4aSElliott Hughes "uint16", 3902*e1fe3e4aSElliott Hughes "TopAccentAttachmentCount", 3903*e1fe3e4aSElliott Hughes None, 3904*e1fe3e4aSElliott Hughes None, 3905*e1fe3e4aSElliott Hughes "Number of top accent attachment point values. Should coincide with the number of covered glyphs", 3906*e1fe3e4aSElliott Hughes ), 3907*e1fe3e4aSElliott Hughes ( 3908*e1fe3e4aSElliott Hughes "MathValueRecord", 3909*e1fe3e4aSElliott Hughes "TopAccentAttachment", 3910*e1fe3e4aSElliott Hughes "TopAccentAttachmentCount", 3911*e1fe3e4aSElliott Hughes 0, 3912*e1fe3e4aSElliott Hughes "Array of MathValueRecords defining top accent attachment points for each covered glyph", 3913*e1fe3e4aSElliott Hughes ), 3914*e1fe3e4aSElliott Hughes ], 3915*e1fe3e4aSElliott Hughes ), 3916*e1fe3e4aSElliott Hughes ( 3917*e1fe3e4aSElliott Hughes "MathKernInfo", 3918*e1fe3e4aSElliott Hughes [ 3919*e1fe3e4aSElliott Hughes ( 3920*e1fe3e4aSElliott Hughes "Offset", 3921*e1fe3e4aSElliott Hughes "MathKernCoverage", 3922*e1fe3e4aSElliott Hughes None, 3923*e1fe3e4aSElliott Hughes None, 3924*e1fe3e4aSElliott Hughes "Offset to Coverage table - from the beginning of the MathKernInfo table.", 3925*e1fe3e4aSElliott Hughes ), 3926*e1fe3e4aSElliott Hughes ("uint16", "MathKernCount", None, None, "Number of MathKernInfoRecords."), 3927*e1fe3e4aSElliott Hughes ( 3928*e1fe3e4aSElliott Hughes "MathKernInfoRecord", 3929*e1fe3e4aSElliott Hughes "MathKernInfoRecords", 3930*e1fe3e4aSElliott Hughes "MathKernCount", 3931*e1fe3e4aSElliott Hughes 0, 3932*e1fe3e4aSElliott Hughes "Array of MathKernInfoRecords, per-glyph information for mathematical positioning of subscripts and superscripts.", 3933*e1fe3e4aSElliott Hughes ), 3934*e1fe3e4aSElliott Hughes ], 3935*e1fe3e4aSElliott Hughes ), 3936*e1fe3e4aSElliott Hughes ( 3937*e1fe3e4aSElliott Hughes "MathKernInfoRecord", 3938*e1fe3e4aSElliott Hughes [ 3939*e1fe3e4aSElliott Hughes ( 3940*e1fe3e4aSElliott Hughes "Offset", 3941*e1fe3e4aSElliott Hughes "TopRightMathKern", 3942*e1fe3e4aSElliott Hughes None, 3943*e1fe3e4aSElliott Hughes None, 3944*e1fe3e4aSElliott Hughes "Offset to MathKern table for top right corner - from the beginning of MathKernInfo table. May be NULL.", 3945*e1fe3e4aSElliott Hughes ), 3946*e1fe3e4aSElliott Hughes ( 3947*e1fe3e4aSElliott Hughes "Offset", 3948*e1fe3e4aSElliott Hughes "TopLeftMathKern", 3949*e1fe3e4aSElliott Hughes None, 3950*e1fe3e4aSElliott Hughes None, 3951*e1fe3e4aSElliott Hughes "Offset to MathKern table for the top left corner - from the beginning of MathKernInfo table. May be NULL.", 3952*e1fe3e4aSElliott Hughes ), 3953*e1fe3e4aSElliott Hughes ( 3954*e1fe3e4aSElliott Hughes "Offset", 3955*e1fe3e4aSElliott Hughes "BottomRightMathKern", 3956*e1fe3e4aSElliott Hughes None, 3957*e1fe3e4aSElliott Hughes None, 3958*e1fe3e4aSElliott Hughes "Offset to MathKern table for bottom right corner - from the beginning of MathKernInfo table. May be NULL.", 3959*e1fe3e4aSElliott Hughes ), 3960*e1fe3e4aSElliott Hughes ( 3961*e1fe3e4aSElliott Hughes "Offset", 3962*e1fe3e4aSElliott Hughes "BottomLeftMathKern", 3963*e1fe3e4aSElliott Hughes None, 3964*e1fe3e4aSElliott Hughes None, 3965*e1fe3e4aSElliott Hughes "Offset to MathKern table for bottom left corner - from the beginning of MathKernInfo table. May be NULL.", 3966*e1fe3e4aSElliott Hughes ), 3967*e1fe3e4aSElliott Hughes ], 3968*e1fe3e4aSElliott Hughes ), 3969*e1fe3e4aSElliott Hughes ( 3970*e1fe3e4aSElliott Hughes "MathKern", 3971*e1fe3e4aSElliott Hughes [ 3972*e1fe3e4aSElliott Hughes ( 3973*e1fe3e4aSElliott Hughes "uint16", 3974*e1fe3e4aSElliott Hughes "HeightCount", 3975*e1fe3e4aSElliott Hughes None, 3976*e1fe3e4aSElliott Hughes None, 3977*e1fe3e4aSElliott Hughes "Number of heights on which the kern value changes.", 3978*e1fe3e4aSElliott Hughes ), 3979*e1fe3e4aSElliott Hughes ( 3980*e1fe3e4aSElliott Hughes "MathValueRecord", 3981*e1fe3e4aSElliott Hughes "CorrectionHeight", 3982*e1fe3e4aSElliott Hughes "HeightCount", 3983*e1fe3e4aSElliott Hughes 0, 3984*e1fe3e4aSElliott Hughes "Array of correction heights at which the kern value changes. Sorted by the height value in design units.", 3985*e1fe3e4aSElliott Hughes ), 3986*e1fe3e4aSElliott Hughes ( 3987*e1fe3e4aSElliott Hughes "MathValueRecord", 3988*e1fe3e4aSElliott Hughes "KernValue", 3989*e1fe3e4aSElliott Hughes "HeightCount", 3990*e1fe3e4aSElliott Hughes 1, 3991*e1fe3e4aSElliott Hughes "Array of kern values corresponding to heights. First value is the kern value for all heights less or equal than the first height in this table.Last value is the value to be applied for all heights greater than the last height in this table. Negative values are interpreted as move glyphs closer to each other.", 3992*e1fe3e4aSElliott Hughes ), 3993*e1fe3e4aSElliott Hughes ], 3994*e1fe3e4aSElliott Hughes ), 3995*e1fe3e4aSElliott Hughes ( 3996*e1fe3e4aSElliott Hughes "MathVariants", 3997*e1fe3e4aSElliott Hughes [ 3998*e1fe3e4aSElliott Hughes ( 3999*e1fe3e4aSElliott Hughes "uint16", 4000*e1fe3e4aSElliott Hughes "MinConnectorOverlap", 4001*e1fe3e4aSElliott Hughes None, 4002*e1fe3e4aSElliott Hughes None, 4003*e1fe3e4aSElliott Hughes "Minimum overlap of connecting glyphs during glyph construction, in design units.", 4004*e1fe3e4aSElliott Hughes ), 4005*e1fe3e4aSElliott Hughes ( 4006*e1fe3e4aSElliott Hughes "Offset", 4007*e1fe3e4aSElliott Hughes "VertGlyphCoverage", 4008*e1fe3e4aSElliott Hughes None, 4009*e1fe3e4aSElliott Hughes None, 4010*e1fe3e4aSElliott Hughes "Offset to Coverage table - from the beginning of MathVariants table.", 4011*e1fe3e4aSElliott Hughes ), 4012*e1fe3e4aSElliott Hughes ( 4013*e1fe3e4aSElliott Hughes "Offset", 4014*e1fe3e4aSElliott Hughes "HorizGlyphCoverage", 4015*e1fe3e4aSElliott Hughes None, 4016*e1fe3e4aSElliott Hughes None, 4017*e1fe3e4aSElliott Hughes "Offset to Coverage table - from the beginning of MathVariants table.", 4018*e1fe3e4aSElliott Hughes ), 4019*e1fe3e4aSElliott Hughes ( 4020*e1fe3e4aSElliott Hughes "uint16", 4021*e1fe3e4aSElliott Hughes "VertGlyphCount", 4022*e1fe3e4aSElliott Hughes None, 4023*e1fe3e4aSElliott Hughes None, 4024*e1fe3e4aSElliott Hughes "Number of glyphs for which information is provided for vertically growing variants.", 4025*e1fe3e4aSElliott Hughes ), 4026*e1fe3e4aSElliott Hughes ( 4027*e1fe3e4aSElliott Hughes "uint16", 4028*e1fe3e4aSElliott Hughes "HorizGlyphCount", 4029*e1fe3e4aSElliott Hughes None, 4030*e1fe3e4aSElliott Hughes None, 4031*e1fe3e4aSElliott Hughes "Number of glyphs for which information is provided for horizontally growing variants.", 4032*e1fe3e4aSElliott Hughes ), 4033*e1fe3e4aSElliott Hughes ( 4034*e1fe3e4aSElliott Hughes "Offset", 4035*e1fe3e4aSElliott Hughes "VertGlyphConstruction", 4036*e1fe3e4aSElliott Hughes "VertGlyphCount", 4037*e1fe3e4aSElliott Hughes 0, 4038*e1fe3e4aSElliott Hughes "Array of offsets to MathGlyphConstruction tables - from the beginning of the MathVariants table, for shapes growing in vertical direction.", 4039*e1fe3e4aSElliott Hughes ), 4040*e1fe3e4aSElliott Hughes ( 4041*e1fe3e4aSElliott Hughes "Offset", 4042*e1fe3e4aSElliott Hughes "HorizGlyphConstruction", 4043*e1fe3e4aSElliott Hughes "HorizGlyphCount", 4044*e1fe3e4aSElliott Hughes 0, 4045*e1fe3e4aSElliott Hughes "Array of offsets to MathGlyphConstruction tables - from the beginning of the MathVariants table, for shapes growing in horizontal direction.", 4046*e1fe3e4aSElliott Hughes ), 4047*e1fe3e4aSElliott Hughes ], 4048*e1fe3e4aSElliott Hughes ), 4049*e1fe3e4aSElliott Hughes ( 4050*e1fe3e4aSElliott Hughes "MathGlyphConstruction", 4051*e1fe3e4aSElliott Hughes [ 4052*e1fe3e4aSElliott Hughes ( 4053*e1fe3e4aSElliott Hughes "Offset", 4054*e1fe3e4aSElliott Hughes "GlyphAssembly", 4055*e1fe3e4aSElliott Hughes None, 4056*e1fe3e4aSElliott Hughes None, 4057*e1fe3e4aSElliott Hughes "Offset to GlyphAssembly table for this shape - from the beginning of MathGlyphConstruction table. May be NULL", 4058*e1fe3e4aSElliott Hughes ), 4059*e1fe3e4aSElliott Hughes ( 4060*e1fe3e4aSElliott Hughes "uint16", 4061*e1fe3e4aSElliott Hughes "VariantCount", 4062*e1fe3e4aSElliott Hughes None, 4063*e1fe3e4aSElliott Hughes None, 4064*e1fe3e4aSElliott Hughes "Count of glyph growing variants for this glyph.", 4065*e1fe3e4aSElliott Hughes ), 4066*e1fe3e4aSElliott Hughes ( 4067*e1fe3e4aSElliott Hughes "MathGlyphVariantRecord", 4068*e1fe3e4aSElliott Hughes "MathGlyphVariantRecord", 4069*e1fe3e4aSElliott Hughes "VariantCount", 4070*e1fe3e4aSElliott Hughes 0, 4071*e1fe3e4aSElliott Hughes "MathGlyphVariantRecords for alternative variants of the glyphs.", 4072*e1fe3e4aSElliott Hughes ), 4073*e1fe3e4aSElliott Hughes ], 4074*e1fe3e4aSElliott Hughes ), 4075*e1fe3e4aSElliott Hughes ( 4076*e1fe3e4aSElliott Hughes "MathGlyphVariantRecord", 4077*e1fe3e4aSElliott Hughes [ 4078*e1fe3e4aSElliott Hughes ("GlyphID", "VariantGlyph", None, None, "Glyph ID for the variant."), 4079*e1fe3e4aSElliott Hughes ( 4080*e1fe3e4aSElliott Hughes "uint16", 4081*e1fe3e4aSElliott Hughes "AdvanceMeasurement", 4082*e1fe3e4aSElliott Hughes None, 4083*e1fe3e4aSElliott Hughes None, 4084*e1fe3e4aSElliott Hughes "Advance width/height, in design units, of the variant, in the direction of requested glyph extension.", 4085*e1fe3e4aSElliott Hughes ), 4086*e1fe3e4aSElliott Hughes ], 4087*e1fe3e4aSElliott Hughes ), 4088*e1fe3e4aSElliott Hughes ( 4089*e1fe3e4aSElliott Hughes "GlyphAssembly", 4090*e1fe3e4aSElliott Hughes [ 4091*e1fe3e4aSElliott Hughes ( 4092*e1fe3e4aSElliott Hughes "MathValueRecord", 4093*e1fe3e4aSElliott Hughes "ItalicsCorrection", 4094*e1fe3e4aSElliott Hughes None, 4095*e1fe3e4aSElliott Hughes None, 4096*e1fe3e4aSElliott Hughes "Italics correction of this GlyphAssembly. Should not depend on the assembly size.", 4097*e1fe3e4aSElliott Hughes ), 4098*e1fe3e4aSElliott Hughes ("uint16", "PartCount", None, None, "Number of parts in this assembly."), 4099*e1fe3e4aSElliott Hughes ( 4100*e1fe3e4aSElliott Hughes "GlyphPartRecord", 4101*e1fe3e4aSElliott Hughes "PartRecords", 4102*e1fe3e4aSElliott Hughes "PartCount", 4103*e1fe3e4aSElliott Hughes 0, 4104*e1fe3e4aSElliott Hughes "Array of part records, from left to right and bottom to top.", 4105*e1fe3e4aSElliott Hughes ), 4106*e1fe3e4aSElliott Hughes ], 4107*e1fe3e4aSElliott Hughes ), 4108*e1fe3e4aSElliott Hughes ( 4109*e1fe3e4aSElliott Hughes "GlyphPartRecord", 4110*e1fe3e4aSElliott Hughes [ 4111*e1fe3e4aSElliott Hughes ("GlyphID", "glyph", None, None, "Glyph ID for the part."), 4112*e1fe3e4aSElliott Hughes ( 4113*e1fe3e4aSElliott Hughes "uint16", 4114*e1fe3e4aSElliott Hughes "StartConnectorLength", 4115*e1fe3e4aSElliott Hughes None, 4116*e1fe3e4aSElliott Hughes None, 4117*e1fe3e4aSElliott Hughes "Advance width/ height of the straight bar connector material, in design units, is at the beginning of the glyph, in the direction of the extension.", 4118*e1fe3e4aSElliott Hughes ), 4119*e1fe3e4aSElliott Hughes ( 4120*e1fe3e4aSElliott Hughes "uint16", 4121*e1fe3e4aSElliott Hughes "EndConnectorLength", 4122*e1fe3e4aSElliott Hughes None, 4123*e1fe3e4aSElliott Hughes None, 4124*e1fe3e4aSElliott Hughes "Advance width/ height of the straight bar connector material, in design units, is at the end of the glyph, in the direction of the extension.", 4125*e1fe3e4aSElliott Hughes ), 4126*e1fe3e4aSElliott Hughes ( 4127*e1fe3e4aSElliott Hughes "uint16", 4128*e1fe3e4aSElliott Hughes "FullAdvance", 4129*e1fe3e4aSElliott Hughes None, 4130*e1fe3e4aSElliott Hughes None, 4131*e1fe3e4aSElliott Hughes "Full advance width/height for this part, in the direction of the extension. In design units.", 4132*e1fe3e4aSElliott Hughes ), 4133*e1fe3e4aSElliott Hughes ( 4134*e1fe3e4aSElliott Hughes "uint16", 4135*e1fe3e4aSElliott Hughes "PartFlags", 4136*e1fe3e4aSElliott Hughes None, 4137*e1fe3e4aSElliott Hughes None, 4138*e1fe3e4aSElliott Hughes "Part qualifiers. PartFlags enumeration currently uses only one bit: 0x0001 fExtender: If set, the part can be skipped or repeated. 0xFFFE Reserved", 4139*e1fe3e4aSElliott Hughes ), 4140*e1fe3e4aSElliott Hughes ], 4141*e1fe3e4aSElliott Hughes ), 4142*e1fe3e4aSElliott Hughes ## 4143*e1fe3e4aSElliott Hughes ## Apple Advanced Typography (AAT) tables 4144*e1fe3e4aSElliott Hughes ## 4145*e1fe3e4aSElliott Hughes ( 4146*e1fe3e4aSElliott Hughes "AATLookupSegment", 4147*e1fe3e4aSElliott Hughes [ 4148*e1fe3e4aSElliott Hughes ("uint16", "lastGlyph", None, None, "Last glyph index in this segment."), 4149*e1fe3e4aSElliott Hughes ("uint16", "firstGlyph", None, None, "First glyph index in this segment."), 4150*e1fe3e4aSElliott Hughes ( 4151*e1fe3e4aSElliott Hughes "uint16", 4152*e1fe3e4aSElliott Hughes "value", 4153*e1fe3e4aSElliott Hughes None, 4154*e1fe3e4aSElliott Hughes None, 4155*e1fe3e4aSElliott Hughes "A 16-bit offset from the start of the table to the data.", 4156*e1fe3e4aSElliott Hughes ), 4157*e1fe3e4aSElliott Hughes ], 4158*e1fe3e4aSElliott Hughes ), 4159*e1fe3e4aSElliott Hughes # 4160*e1fe3e4aSElliott Hughes # ankr 4161*e1fe3e4aSElliott Hughes # 4162*e1fe3e4aSElliott Hughes ( 4163*e1fe3e4aSElliott Hughes "ankr", 4164*e1fe3e4aSElliott Hughes [ 4165*e1fe3e4aSElliott Hughes ("struct", "AnchorPoints", None, None, "Anchor points table."), 4166*e1fe3e4aSElliott Hughes ], 4167*e1fe3e4aSElliott Hughes ), 4168*e1fe3e4aSElliott Hughes ( 4169*e1fe3e4aSElliott Hughes "AnchorPointsFormat0", 4170*e1fe3e4aSElliott Hughes [ 4171*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format of the anchor points table, = 0."), 4172*e1fe3e4aSElliott Hughes ("uint16", "Flags", None, None, "Flags. Currenty unused, set to zero."), 4173*e1fe3e4aSElliott Hughes ( 4174*e1fe3e4aSElliott Hughes "AATLookupWithDataOffset(AnchorGlyphData)", 4175*e1fe3e4aSElliott Hughes "Anchors", 4176*e1fe3e4aSElliott Hughes None, 4177*e1fe3e4aSElliott Hughes None, 4178*e1fe3e4aSElliott Hughes "Table of with anchor overrides for each glyph.", 4179*e1fe3e4aSElliott Hughes ), 4180*e1fe3e4aSElliott Hughes ], 4181*e1fe3e4aSElliott Hughes ), 4182*e1fe3e4aSElliott Hughes ( 4183*e1fe3e4aSElliott Hughes "AnchorGlyphData", 4184*e1fe3e4aSElliott Hughes [ 4185*e1fe3e4aSElliott Hughes ( 4186*e1fe3e4aSElliott Hughes "uint32", 4187*e1fe3e4aSElliott Hughes "AnchorPointCount", 4188*e1fe3e4aSElliott Hughes None, 4189*e1fe3e4aSElliott Hughes None, 4190*e1fe3e4aSElliott Hughes "Number of anchor points for this glyph.", 4191*e1fe3e4aSElliott Hughes ), 4192*e1fe3e4aSElliott Hughes ( 4193*e1fe3e4aSElliott Hughes "struct", 4194*e1fe3e4aSElliott Hughes "AnchorPoint", 4195*e1fe3e4aSElliott Hughes "AnchorPointCount", 4196*e1fe3e4aSElliott Hughes 0, 4197*e1fe3e4aSElliott Hughes "Individual anchor points.", 4198*e1fe3e4aSElliott Hughes ), 4199*e1fe3e4aSElliott Hughes ], 4200*e1fe3e4aSElliott Hughes ), 4201*e1fe3e4aSElliott Hughes ( 4202*e1fe3e4aSElliott Hughes "AnchorPoint", 4203*e1fe3e4aSElliott Hughes [ 4204*e1fe3e4aSElliott Hughes ("int16", "XCoordinate", None, None, "X coordinate of this anchor point."), 4205*e1fe3e4aSElliott Hughes ("int16", "YCoordinate", None, None, "Y coordinate of this anchor point."), 4206*e1fe3e4aSElliott Hughes ], 4207*e1fe3e4aSElliott Hughes ), 4208*e1fe3e4aSElliott Hughes # 4209*e1fe3e4aSElliott Hughes # bsln 4210*e1fe3e4aSElliott Hughes # 4211*e1fe3e4aSElliott Hughes ( 4212*e1fe3e4aSElliott Hughes "bsln", 4213*e1fe3e4aSElliott Hughes [ 4214*e1fe3e4aSElliott Hughes ( 4215*e1fe3e4aSElliott Hughes "Version", 4216*e1fe3e4aSElliott Hughes "Version", 4217*e1fe3e4aSElliott Hughes None, 4218*e1fe3e4aSElliott Hughes None, 4219*e1fe3e4aSElliott Hughes "Version number of the AAT baseline table (0x00010000 for the initial version).", 4220*e1fe3e4aSElliott Hughes ), 4221*e1fe3e4aSElliott Hughes ("struct", "Baseline", None, None, "Baseline table."), 4222*e1fe3e4aSElliott Hughes ], 4223*e1fe3e4aSElliott Hughes ), 4224*e1fe3e4aSElliott Hughes ( 4225*e1fe3e4aSElliott Hughes "BaselineFormat0", 4226*e1fe3e4aSElliott Hughes [ 4227*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format of the baseline table, = 0."), 4228*e1fe3e4aSElliott Hughes ( 4229*e1fe3e4aSElliott Hughes "uint16", 4230*e1fe3e4aSElliott Hughes "DefaultBaseline", 4231*e1fe3e4aSElliott Hughes None, 4232*e1fe3e4aSElliott Hughes None, 4233*e1fe3e4aSElliott Hughes "Default baseline value for all glyphs. This value can be from 0 through 31.", 4234*e1fe3e4aSElliott Hughes ), 4235*e1fe3e4aSElliott Hughes ( 4236*e1fe3e4aSElliott Hughes "uint16", 4237*e1fe3e4aSElliott Hughes "Delta", 4238*e1fe3e4aSElliott Hughes 32, 4239*e1fe3e4aSElliott Hughes 0, 4240*e1fe3e4aSElliott Hughes "These are the FUnit distance deltas from the font’s natural baseline to the other baselines used in the font. A total of 32 deltas must be assigned.", 4241*e1fe3e4aSElliott Hughes ), 4242*e1fe3e4aSElliott Hughes ], 4243*e1fe3e4aSElliott Hughes ), 4244*e1fe3e4aSElliott Hughes ( 4245*e1fe3e4aSElliott Hughes "BaselineFormat1", 4246*e1fe3e4aSElliott Hughes [ 4247*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format of the baseline table, = 1."), 4248*e1fe3e4aSElliott Hughes ( 4249*e1fe3e4aSElliott Hughes "uint16", 4250*e1fe3e4aSElliott Hughes "DefaultBaseline", 4251*e1fe3e4aSElliott Hughes None, 4252*e1fe3e4aSElliott Hughes None, 4253*e1fe3e4aSElliott Hughes "Default baseline value for all glyphs. This value can be from 0 through 31.", 4254*e1fe3e4aSElliott Hughes ), 4255*e1fe3e4aSElliott Hughes ( 4256*e1fe3e4aSElliott Hughes "uint16", 4257*e1fe3e4aSElliott Hughes "Delta", 4258*e1fe3e4aSElliott Hughes 32, 4259*e1fe3e4aSElliott Hughes 0, 4260*e1fe3e4aSElliott Hughes "These are the FUnit distance deltas from the font’s natural baseline to the other baselines used in the font. A total of 32 deltas must be assigned.", 4261*e1fe3e4aSElliott Hughes ), 4262*e1fe3e4aSElliott Hughes ( 4263*e1fe3e4aSElliott Hughes "AATLookup(uint16)", 4264*e1fe3e4aSElliott Hughes "BaselineValues", 4265*e1fe3e4aSElliott Hughes None, 4266*e1fe3e4aSElliott Hughes None, 4267*e1fe3e4aSElliott Hughes "Lookup table that maps glyphs to their baseline values.", 4268*e1fe3e4aSElliott Hughes ), 4269*e1fe3e4aSElliott Hughes ], 4270*e1fe3e4aSElliott Hughes ), 4271*e1fe3e4aSElliott Hughes ( 4272*e1fe3e4aSElliott Hughes "BaselineFormat2", 4273*e1fe3e4aSElliott Hughes [ 4274*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format of the baseline table, = 1."), 4275*e1fe3e4aSElliott Hughes ( 4276*e1fe3e4aSElliott Hughes "uint16", 4277*e1fe3e4aSElliott Hughes "DefaultBaseline", 4278*e1fe3e4aSElliott Hughes None, 4279*e1fe3e4aSElliott Hughes None, 4280*e1fe3e4aSElliott Hughes "Default baseline value for all glyphs. This value can be from 0 through 31.", 4281*e1fe3e4aSElliott Hughes ), 4282*e1fe3e4aSElliott Hughes ( 4283*e1fe3e4aSElliott Hughes "GlyphID", 4284*e1fe3e4aSElliott Hughes "StandardGlyph", 4285*e1fe3e4aSElliott Hughes None, 4286*e1fe3e4aSElliott Hughes None, 4287*e1fe3e4aSElliott Hughes "Glyph index of the glyph in this font to be used to set the baseline values. This glyph must contain a set of control points (whose numbers are contained in the following field) that determines baseline distances.", 4288*e1fe3e4aSElliott Hughes ), 4289*e1fe3e4aSElliott Hughes ( 4290*e1fe3e4aSElliott Hughes "uint16", 4291*e1fe3e4aSElliott Hughes "ControlPoint", 4292*e1fe3e4aSElliott Hughes 32, 4293*e1fe3e4aSElliott Hughes 0, 4294*e1fe3e4aSElliott Hughes "Array of 32 control point numbers, associated with the standard glyph. A value of 0xFFFF means there is no corresponding control point in the standard glyph.", 4295*e1fe3e4aSElliott Hughes ), 4296*e1fe3e4aSElliott Hughes ], 4297*e1fe3e4aSElliott Hughes ), 4298*e1fe3e4aSElliott Hughes ( 4299*e1fe3e4aSElliott Hughes "BaselineFormat3", 4300*e1fe3e4aSElliott Hughes [ 4301*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format of the baseline table, = 1."), 4302*e1fe3e4aSElliott Hughes ( 4303*e1fe3e4aSElliott Hughes "uint16", 4304*e1fe3e4aSElliott Hughes "DefaultBaseline", 4305*e1fe3e4aSElliott Hughes None, 4306*e1fe3e4aSElliott Hughes None, 4307*e1fe3e4aSElliott Hughes "Default baseline value for all glyphs. This value can be from 0 through 31.", 4308*e1fe3e4aSElliott Hughes ), 4309*e1fe3e4aSElliott Hughes ( 4310*e1fe3e4aSElliott Hughes "GlyphID", 4311*e1fe3e4aSElliott Hughes "StandardGlyph", 4312*e1fe3e4aSElliott Hughes None, 4313*e1fe3e4aSElliott Hughes None, 4314*e1fe3e4aSElliott Hughes "Glyph index of the glyph in this font to be used to set the baseline values. This glyph must contain a set of control points (whose numbers are contained in the following field) that determines baseline distances.", 4315*e1fe3e4aSElliott Hughes ), 4316*e1fe3e4aSElliott Hughes ( 4317*e1fe3e4aSElliott Hughes "uint16", 4318*e1fe3e4aSElliott Hughes "ControlPoint", 4319*e1fe3e4aSElliott Hughes 32, 4320*e1fe3e4aSElliott Hughes 0, 4321*e1fe3e4aSElliott Hughes "Array of 32 control point numbers, associated with the standard glyph. A value of 0xFFFF means there is no corresponding control point in the standard glyph.", 4322*e1fe3e4aSElliott Hughes ), 4323*e1fe3e4aSElliott Hughes ( 4324*e1fe3e4aSElliott Hughes "AATLookup(uint16)", 4325*e1fe3e4aSElliott Hughes "BaselineValues", 4326*e1fe3e4aSElliott Hughes None, 4327*e1fe3e4aSElliott Hughes None, 4328*e1fe3e4aSElliott Hughes "Lookup table that maps glyphs to their baseline values.", 4329*e1fe3e4aSElliott Hughes ), 4330*e1fe3e4aSElliott Hughes ], 4331*e1fe3e4aSElliott Hughes ), 4332*e1fe3e4aSElliott Hughes # 4333*e1fe3e4aSElliott Hughes # cidg 4334*e1fe3e4aSElliott Hughes # 4335*e1fe3e4aSElliott Hughes ( 4336*e1fe3e4aSElliott Hughes "cidg", 4337*e1fe3e4aSElliott Hughes [ 4338*e1fe3e4aSElliott Hughes ("struct", "CIDGlyphMapping", None, None, "CID-to-glyph mapping table."), 4339*e1fe3e4aSElliott Hughes ], 4340*e1fe3e4aSElliott Hughes ), 4341*e1fe3e4aSElliott Hughes ( 4342*e1fe3e4aSElliott Hughes "CIDGlyphMappingFormat0", 4343*e1fe3e4aSElliott Hughes [ 4344*e1fe3e4aSElliott Hughes ( 4345*e1fe3e4aSElliott Hughes "uint16", 4346*e1fe3e4aSElliott Hughes "Format", 4347*e1fe3e4aSElliott Hughes None, 4348*e1fe3e4aSElliott Hughes None, 4349*e1fe3e4aSElliott Hughes "Format of the CID-to-glyph mapping table, = 0.", 4350*e1fe3e4aSElliott Hughes ), 4351*e1fe3e4aSElliott Hughes ("uint16", "DataFormat", None, None, "Currenty unused, set to zero."), 4352*e1fe3e4aSElliott Hughes ("uint32", "StructLength", None, None, "Size of the table in bytes."), 4353*e1fe3e4aSElliott Hughes ("uint16", "Registry", None, None, "The registry ID."), 4354*e1fe3e4aSElliott Hughes ( 4355*e1fe3e4aSElliott Hughes "char64", 4356*e1fe3e4aSElliott Hughes "RegistryName", 4357*e1fe3e4aSElliott Hughes None, 4358*e1fe3e4aSElliott Hughes None, 4359*e1fe3e4aSElliott Hughes "The registry name in ASCII; unused bytes should be set to 0.", 4360*e1fe3e4aSElliott Hughes ), 4361*e1fe3e4aSElliott Hughes ("uint16", "Order", None, None, "The order ID."), 4362*e1fe3e4aSElliott Hughes ( 4363*e1fe3e4aSElliott Hughes "char64", 4364*e1fe3e4aSElliott Hughes "OrderName", 4365*e1fe3e4aSElliott Hughes None, 4366*e1fe3e4aSElliott Hughes None, 4367*e1fe3e4aSElliott Hughes "The order name in ASCII; unused bytes should be set to 0.", 4368*e1fe3e4aSElliott Hughes ), 4369*e1fe3e4aSElliott Hughes ("uint16", "SupplementVersion", None, None, "The supplement version."), 4370*e1fe3e4aSElliott Hughes ( 4371*e1fe3e4aSElliott Hughes "CIDGlyphMap", 4372*e1fe3e4aSElliott Hughes "Mapping", 4373*e1fe3e4aSElliott Hughes None, 4374*e1fe3e4aSElliott Hughes None, 4375*e1fe3e4aSElliott Hughes "A mapping from CIDs to the glyphs in the font, starting with CID 0. If a CID from the identified collection has no glyph in the font, 0xFFFF is used", 4376*e1fe3e4aSElliott Hughes ), 4377*e1fe3e4aSElliott Hughes ], 4378*e1fe3e4aSElliott Hughes ), 4379*e1fe3e4aSElliott Hughes # 4380*e1fe3e4aSElliott Hughes # feat 4381*e1fe3e4aSElliott Hughes # 4382*e1fe3e4aSElliott Hughes ( 4383*e1fe3e4aSElliott Hughes "feat", 4384*e1fe3e4aSElliott Hughes [ 4385*e1fe3e4aSElliott Hughes ( 4386*e1fe3e4aSElliott Hughes "Version", 4387*e1fe3e4aSElliott Hughes "Version", 4388*e1fe3e4aSElliott Hughes None, 4389*e1fe3e4aSElliott Hughes None, 4390*e1fe3e4aSElliott Hughes "Version of the feat table-initially set to 0x00010000.", 4391*e1fe3e4aSElliott Hughes ), 4392*e1fe3e4aSElliott Hughes ("FeatureNames", "FeatureNames", None, None, "The feature names."), 4393*e1fe3e4aSElliott Hughes ], 4394*e1fe3e4aSElliott Hughes ), 4395*e1fe3e4aSElliott Hughes ( 4396*e1fe3e4aSElliott Hughes "FeatureNames", 4397*e1fe3e4aSElliott Hughes [ 4398*e1fe3e4aSElliott Hughes ( 4399*e1fe3e4aSElliott Hughes "uint16", 4400*e1fe3e4aSElliott Hughes "FeatureNameCount", 4401*e1fe3e4aSElliott Hughes None, 4402*e1fe3e4aSElliott Hughes None, 4403*e1fe3e4aSElliott Hughes "Number of entries in the feature name array.", 4404*e1fe3e4aSElliott Hughes ), 4405*e1fe3e4aSElliott Hughes ("uint16", "Reserved1", None, None, "Reserved (set to zero)."), 4406*e1fe3e4aSElliott Hughes ("uint32", "Reserved2", None, None, "Reserved (set to zero)."), 4407*e1fe3e4aSElliott Hughes ( 4408*e1fe3e4aSElliott Hughes "FeatureName", 4409*e1fe3e4aSElliott Hughes "FeatureName", 4410*e1fe3e4aSElliott Hughes "FeatureNameCount", 4411*e1fe3e4aSElliott Hughes 0, 4412*e1fe3e4aSElliott Hughes "The feature name array.", 4413*e1fe3e4aSElliott Hughes ), 4414*e1fe3e4aSElliott Hughes ], 4415*e1fe3e4aSElliott Hughes ), 4416*e1fe3e4aSElliott Hughes ( 4417*e1fe3e4aSElliott Hughes "FeatureName", 4418*e1fe3e4aSElliott Hughes [ 4419*e1fe3e4aSElliott Hughes ("uint16", "FeatureType", None, None, "Feature type."), 4420*e1fe3e4aSElliott Hughes ( 4421*e1fe3e4aSElliott Hughes "uint16", 4422*e1fe3e4aSElliott Hughes "SettingsCount", 4423*e1fe3e4aSElliott Hughes None, 4424*e1fe3e4aSElliott Hughes None, 4425*e1fe3e4aSElliott Hughes "The number of records in the setting name array.", 4426*e1fe3e4aSElliott Hughes ), 4427*e1fe3e4aSElliott Hughes ( 4428*e1fe3e4aSElliott Hughes "LOffset", 4429*e1fe3e4aSElliott Hughes "Settings", 4430*e1fe3e4aSElliott Hughes None, 4431*e1fe3e4aSElliott Hughes None, 4432*e1fe3e4aSElliott Hughes "Offset to setting table for this feature.", 4433*e1fe3e4aSElliott Hughes ), 4434*e1fe3e4aSElliott Hughes ( 4435*e1fe3e4aSElliott Hughes "uint16", 4436*e1fe3e4aSElliott Hughes "FeatureFlags", 4437*e1fe3e4aSElliott Hughes None, 4438*e1fe3e4aSElliott Hughes None, 4439*e1fe3e4aSElliott Hughes "Single-bit flags associated with the feature type.", 4440*e1fe3e4aSElliott Hughes ), 4441*e1fe3e4aSElliott Hughes ( 4442*e1fe3e4aSElliott Hughes "NameID", 4443*e1fe3e4aSElliott Hughes "FeatureNameID", 4444*e1fe3e4aSElliott Hughes None, 4445*e1fe3e4aSElliott Hughes None, 4446*e1fe3e4aSElliott Hughes "The name table index for the feature name.", 4447*e1fe3e4aSElliott Hughes ), 4448*e1fe3e4aSElliott Hughes ], 4449*e1fe3e4aSElliott Hughes ), 4450*e1fe3e4aSElliott Hughes ( 4451*e1fe3e4aSElliott Hughes "Settings", 4452*e1fe3e4aSElliott Hughes [ 4453*e1fe3e4aSElliott Hughes ("Setting", "Setting", "SettingsCount", 0, "The setting array."), 4454*e1fe3e4aSElliott Hughes ], 4455*e1fe3e4aSElliott Hughes ), 4456*e1fe3e4aSElliott Hughes ( 4457*e1fe3e4aSElliott Hughes "Setting", 4458*e1fe3e4aSElliott Hughes [ 4459*e1fe3e4aSElliott Hughes ("uint16", "SettingValue", None, None, "The setting."), 4460*e1fe3e4aSElliott Hughes ( 4461*e1fe3e4aSElliott Hughes "NameID", 4462*e1fe3e4aSElliott Hughes "SettingNameID", 4463*e1fe3e4aSElliott Hughes None, 4464*e1fe3e4aSElliott Hughes None, 4465*e1fe3e4aSElliott Hughes "The name table index for the setting name.", 4466*e1fe3e4aSElliott Hughes ), 4467*e1fe3e4aSElliott Hughes ], 4468*e1fe3e4aSElliott Hughes ), 4469*e1fe3e4aSElliott Hughes # 4470*e1fe3e4aSElliott Hughes # gcid 4471*e1fe3e4aSElliott Hughes # 4472*e1fe3e4aSElliott Hughes ( 4473*e1fe3e4aSElliott Hughes "gcid", 4474*e1fe3e4aSElliott Hughes [ 4475*e1fe3e4aSElliott Hughes ("struct", "GlyphCIDMapping", None, None, "Glyph to CID mapping table."), 4476*e1fe3e4aSElliott Hughes ], 4477*e1fe3e4aSElliott Hughes ), 4478*e1fe3e4aSElliott Hughes ( 4479*e1fe3e4aSElliott Hughes "GlyphCIDMappingFormat0", 4480*e1fe3e4aSElliott Hughes [ 4481*e1fe3e4aSElliott Hughes ( 4482*e1fe3e4aSElliott Hughes "uint16", 4483*e1fe3e4aSElliott Hughes "Format", 4484*e1fe3e4aSElliott Hughes None, 4485*e1fe3e4aSElliott Hughes None, 4486*e1fe3e4aSElliott Hughes "Format of the glyph-to-CID mapping table, = 0.", 4487*e1fe3e4aSElliott Hughes ), 4488*e1fe3e4aSElliott Hughes ("uint16", "DataFormat", None, None, "Currenty unused, set to zero."), 4489*e1fe3e4aSElliott Hughes ("uint32", "StructLength", None, None, "Size of the table in bytes."), 4490*e1fe3e4aSElliott Hughes ("uint16", "Registry", None, None, "The registry ID."), 4491*e1fe3e4aSElliott Hughes ( 4492*e1fe3e4aSElliott Hughes "char64", 4493*e1fe3e4aSElliott Hughes "RegistryName", 4494*e1fe3e4aSElliott Hughes None, 4495*e1fe3e4aSElliott Hughes None, 4496*e1fe3e4aSElliott Hughes "The registry name in ASCII; unused bytes should be set to 0.", 4497*e1fe3e4aSElliott Hughes ), 4498*e1fe3e4aSElliott Hughes ("uint16", "Order", None, None, "The order ID."), 4499*e1fe3e4aSElliott Hughes ( 4500*e1fe3e4aSElliott Hughes "char64", 4501*e1fe3e4aSElliott Hughes "OrderName", 4502*e1fe3e4aSElliott Hughes None, 4503*e1fe3e4aSElliott Hughes None, 4504*e1fe3e4aSElliott Hughes "The order name in ASCII; unused bytes should be set to 0.", 4505*e1fe3e4aSElliott Hughes ), 4506*e1fe3e4aSElliott Hughes ("uint16", "SupplementVersion", None, None, "The supplement version."), 4507*e1fe3e4aSElliott Hughes ( 4508*e1fe3e4aSElliott Hughes "GlyphCIDMap", 4509*e1fe3e4aSElliott Hughes "Mapping", 4510*e1fe3e4aSElliott Hughes None, 4511*e1fe3e4aSElliott Hughes None, 4512*e1fe3e4aSElliott Hughes "The CIDs for the glyphs in the font, starting with glyph 0. If a glyph does not correspond to a CID in the identified collection, 0xFFFF is used", 4513*e1fe3e4aSElliott Hughes ), 4514*e1fe3e4aSElliott Hughes ], 4515*e1fe3e4aSElliott Hughes ), 4516*e1fe3e4aSElliott Hughes # 4517*e1fe3e4aSElliott Hughes # lcar 4518*e1fe3e4aSElliott Hughes # 4519*e1fe3e4aSElliott Hughes ( 4520*e1fe3e4aSElliott Hughes "lcar", 4521*e1fe3e4aSElliott Hughes [ 4522*e1fe3e4aSElliott Hughes ( 4523*e1fe3e4aSElliott Hughes "Version", 4524*e1fe3e4aSElliott Hughes "Version", 4525*e1fe3e4aSElliott Hughes None, 4526*e1fe3e4aSElliott Hughes None, 4527*e1fe3e4aSElliott Hughes "Version number of the ligature caret table (0x00010000 for the initial version).", 4528*e1fe3e4aSElliott Hughes ), 4529*e1fe3e4aSElliott Hughes ("struct", "LigatureCarets", None, None, "Ligature carets table."), 4530*e1fe3e4aSElliott Hughes ], 4531*e1fe3e4aSElliott Hughes ), 4532*e1fe3e4aSElliott Hughes ( 4533*e1fe3e4aSElliott Hughes "LigatureCaretsFormat0", 4534*e1fe3e4aSElliott Hughes [ 4535*e1fe3e4aSElliott Hughes ( 4536*e1fe3e4aSElliott Hughes "uint16", 4537*e1fe3e4aSElliott Hughes "Format", 4538*e1fe3e4aSElliott Hughes None, 4539*e1fe3e4aSElliott Hughes None, 4540*e1fe3e4aSElliott Hughes "Format of the ligature caret table. Format 0 indicates division points are distances in font units, Format 1 indicates division points are indexes of control points.", 4541*e1fe3e4aSElliott Hughes ), 4542*e1fe3e4aSElliott Hughes ( 4543*e1fe3e4aSElliott Hughes "AATLookup(LigCaretDistances)", 4544*e1fe3e4aSElliott Hughes "Carets", 4545*e1fe3e4aSElliott Hughes None, 4546*e1fe3e4aSElliott Hughes None, 4547*e1fe3e4aSElliott Hughes "Lookup table associating ligature glyphs with their caret positions, in font unit distances.", 4548*e1fe3e4aSElliott Hughes ), 4549*e1fe3e4aSElliott Hughes ], 4550*e1fe3e4aSElliott Hughes ), 4551*e1fe3e4aSElliott Hughes ( 4552*e1fe3e4aSElliott Hughes "LigatureCaretsFormat1", 4553*e1fe3e4aSElliott Hughes [ 4554*e1fe3e4aSElliott Hughes ( 4555*e1fe3e4aSElliott Hughes "uint16", 4556*e1fe3e4aSElliott Hughes "Format", 4557*e1fe3e4aSElliott Hughes None, 4558*e1fe3e4aSElliott Hughes None, 4559*e1fe3e4aSElliott Hughes "Format of the ligature caret table. Format 0 indicates division points are distances in font units, Format 1 indicates division points are indexes of control points.", 4560*e1fe3e4aSElliott Hughes ), 4561*e1fe3e4aSElliott Hughes ( 4562*e1fe3e4aSElliott Hughes "AATLookup(LigCaretPoints)", 4563*e1fe3e4aSElliott Hughes "Carets", 4564*e1fe3e4aSElliott Hughes None, 4565*e1fe3e4aSElliott Hughes None, 4566*e1fe3e4aSElliott Hughes "Lookup table associating ligature glyphs with their caret positions, as control points.", 4567*e1fe3e4aSElliott Hughes ), 4568*e1fe3e4aSElliott Hughes ], 4569*e1fe3e4aSElliott Hughes ), 4570*e1fe3e4aSElliott Hughes ( 4571*e1fe3e4aSElliott Hughes "LigCaretDistances", 4572*e1fe3e4aSElliott Hughes [ 4573*e1fe3e4aSElliott Hughes ("uint16", "DivsionPointCount", None, None, "Number of division points."), 4574*e1fe3e4aSElliott Hughes ( 4575*e1fe3e4aSElliott Hughes "int16", 4576*e1fe3e4aSElliott Hughes "DivisionPoint", 4577*e1fe3e4aSElliott Hughes "DivsionPointCount", 4578*e1fe3e4aSElliott Hughes 0, 4579*e1fe3e4aSElliott Hughes "Distance in font units through which a subdivision is made orthogonally to the baseline.", 4580*e1fe3e4aSElliott Hughes ), 4581*e1fe3e4aSElliott Hughes ], 4582*e1fe3e4aSElliott Hughes ), 4583*e1fe3e4aSElliott Hughes ( 4584*e1fe3e4aSElliott Hughes "LigCaretPoints", 4585*e1fe3e4aSElliott Hughes [ 4586*e1fe3e4aSElliott Hughes ("uint16", "DivsionPointCount", None, None, "Number of division points."), 4587*e1fe3e4aSElliott Hughes ( 4588*e1fe3e4aSElliott Hughes "int16", 4589*e1fe3e4aSElliott Hughes "DivisionPoint", 4590*e1fe3e4aSElliott Hughes "DivsionPointCount", 4591*e1fe3e4aSElliott Hughes 0, 4592*e1fe3e4aSElliott Hughes "The number of the control point through which a subdivision is made orthogonally to the baseline.", 4593*e1fe3e4aSElliott Hughes ), 4594*e1fe3e4aSElliott Hughes ], 4595*e1fe3e4aSElliott Hughes ), 4596*e1fe3e4aSElliott Hughes # 4597*e1fe3e4aSElliott Hughes # mort 4598*e1fe3e4aSElliott Hughes # 4599*e1fe3e4aSElliott Hughes ( 4600*e1fe3e4aSElliott Hughes "mort", 4601*e1fe3e4aSElliott Hughes [ 4602*e1fe3e4aSElliott Hughes ("Version", "Version", None, None, "Version of the mort table."), 4603*e1fe3e4aSElliott Hughes ( 4604*e1fe3e4aSElliott Hughes "uint32", 4605*e1fe3e4aSElliott Hughes "MorphChainCount", 4606*e1fe3e4aSElliott Hughes None, 4607*e1fe3e4aSElliott Hughes None, 4608*e1fe3e4aSElliott Hughes "Number of metamorphosis chains.", 4609*e1fe3e4aSElliott Hughes ), 4610*e1fe3e4aSElliott Hughes ( 4611*e1fe3e4aSElliott Hughes "MortChain", 4612*e1fe3e4aSElliott Hughes "MorphChain", 4613*e1fe3e4aSElliott Hughes "MorphChainCount", 4614*e1fe3e4aSElliott Hughes 0, 4615*e1fe3e4aSElliott Hughes "Array of metamorphosis chains.", 4616*e1fe3e4aSElliott Hughes ), 4617*e1fe3e4aSElliott Hughes ], 4618*e1fe3e4aSElliott Hughes ), 4619*e1fe3e4aSElliott Hughes ( 4620*e1fe3e4aSElliott Hughes "MortChain", 4621*e1fe3e4aSElliott Hughes [ 4622*e1fe3e4aSElliott Hughes ( 4623*e1fe3e4aSElliott Hughes "Flags32", 4624*e1fe3e4aSElliott Hughes "DefaultFlags", 4625*e1fe3e4aSElliott Hughes None, 4626*e1fe3e4aSElliott Hughes None, 4627*e1fe3e4aSElliott Hughes "The default specification for subtables.", 4628*e1fe3e4aSElliott Hughes ), 4629*e1fe3e4aSElliott Hughes ( 4630*e1fe3e4aSElliott Hughes "uint32", 4631*e1fe3e4aSElliott Hughes "StructLength", 4632*e1fe3e4aSElliott Hughes None, 4633*e1fe3e4aSElliott Hughes None, 4634*e1fe3e4aSElliott Hughes "Total byte count, including this header; must be a multiple of 4.", 4635*e1fe3e4aSElliott Hughes ), 4636*e1fe3e4aSElliott Hughes ( 4637*e1fe3e4aSElliott Hughes "uint16", 4638*e1fe3e4aSElliott Hughes "MorphFeatureCount", 4639*e1fe3e4aSElliott Hughes None, 4640*e1fe3e4aSElliott Hughes None, 4641*e1fe3e4aSElliott Hughes "Number of metamorphosis feature entries.", 4642*e1fe3e4aSElliott Hughes ), 4643*e1fe3e4aSElliott Hughes ( 4644*e1fe3e4aSElliott Hughes "uint16", 4645*e1fe3e4aSElliott Hughes "MorphSubtableCount", 4646*e1fe3e4aSElliott Hughes None, 4647*e1fe3e4aSElliott Hughes None, 4648*e1fe3e4aSElliott Hughes "The number of subtables in the chain.", 4649*e1fe3e4aSElliott Hughes ), 4650*e1fe3e4aSElliott Hughes ( 4651*e1fe3e4aSElliott Hughes "struct", 4652*e1fe3e4aSElliott Hughes "MorphFeature", 4653*e1fe3e4aSElliott Hughes "MorphFeatureCount", 4654*e1fe3e4aSElliott Hughes 0, 4655*e1fe3e4aSElliott Hughes "Array of metamorphosis features.", 4656*e1fe3e4aSElliott Hughes ), 4657*e1fe3e4aSElliott Hughes ( 4658*e1fe3e4aSElliott Hughes "MortSubtable", 4659*e1fe3e4aSElliott Hughes "MorphSubtable", 4660*e1fe3e4aSElliott Hughes "MorphSubtableCount", 4661*e1fe3e4aSElliott Hughes 0, 4662*e1fe3e4aSElliott Hughes "Array of metamorphosis subtables.", 4663*e1fe3e4aSElliott Hughes ), 4664*e1fe3e4aSElliott Hughes ], 4665*e1fe3e4aSElliott Hughes ), 4666*e1fe3e4aSElliott Hughes ( 4667*e1fe3e4aSElliott Hughes "MortSubtable", 4668*e1fe3e4aSElliott Hughes [ 4669*e1fe3e4aSElliott Hughes ( 4670*e1fe3e4aSElliott Hughes "uint16", 4671*e1fe3e4aSElliott Hughes "StructLength", 4672*e1fe3e4aSElliott Hughes None, 4673*e1fe3e4aSElliott Hughes None, 4674*e1fe3e4aSElliott Hughes "Total subtable length, including this header.", 4675*e1fe3e4aSElliott Hughes ), 4676*e1fe3e4aSElliott Hughes ( 4677*e1fe3e4aSElliott Hughes "uint8", 4678*e1fe3e4aSElliott Hughes "CoverageFlags", 4679*e1fe3e4aSElliott Hughes None, 4680*e1fe3e4aSElliott Hughes None, 4681*e1fe3e4aSElliott Hughes "Most significant byte of coverage flags.", 4682*e1fe3e4aSElliott Hughes ), 4683*e1fe3e4aSElliott Hughes ("uint8", "MorphType", None, None, "Subtable type."), 4684*e1fe3e4aSElliott Hughes ( 4685*e1fe3e4aSElliott Hughes "Flags32", 4686*e1fe3e4aSElliott Hughes "SubFeatureFlags", 4687*e1fe3e4aSElliott Hughes None, 4688*e1fe3e4aSElliott Hughes None, 4689*e1fe3e4aSElliott Hughes "The 32-bit mask identifying which subtable this is (the subtable being executed if the AND of this value and the processed defaultFlags is nonzero).", 4690*e1fe3e4aSElliott Hughes ), 4691*e1fe3e4aSElliott Hughes ("SubStruct", "SubStruct", None, None, "SubTable."), 4692*e1fe3e4aSElliott Hughes ], 4693*e1fe3e4aSElliott Hughes ), 4694*e1fe3e4aSElliott Hughes # 4695*e1fe3e4aSElliott Hughes # morx 4696*e1fe3e4aSElliott Hughes # 4697*e1fe3e4aSElliott Hughes ( 4698*e1fe3e4aSElliott Hughes "morx", 4699*e1fe3e4aSElliott Hughes [ 4700*e1fe3e4aSElliott Hughes ("uint16", "Version", None, None, "Version of the morx table."), 4701*e1fe3e4aSElliott Hughes ("uint16", "Reserved", None, None, "Reserved (set to zero)."), 4702*e1fe3e4aSElliott Hughes ( 4703*e1fe3e4aSElliott Hughes "uint32", 4704*e1fe3e4aSElliott Hughes "MorphChainCount", 4705*e1fe3e4aSElliott Hughes None, 4706*e1fe3e4aSElliott Hughes None, 4707*e1fe3e4aSElliott Hughes "Number of extended metamorphosis chains.", 4708*e1fe3e4aSElliott Hughes ), 4709*e1fe3e4aSElliott Hughes ( 4710*e1fe3e4aSElliott Hughes "MorxChain", 4711*e1fe3e4aSElliott Hughes "MorphChain", 4712*e1fe3e4aSElliott Hughes "MorphChainCount", 4713*e1fe3e4aSElliott Hughes 0, 4714*e1fe3e4aSElliott Hughes "Array of extended metamorphosis chains.", 4715*e1fe3e4aSElliott Hughes ), 4716*e1fe3e4aSElliott Hughes ], 4717*e1fe3e4aSElliott Hughes ), 4718*e1fe3e4aSElliott Hughes ( 4719*e1fe3e4aSElliott Hughes "MorxChain", 4720*e1fe3e4aSElliott Hughes [ 4721*e1fe3e4aSElliott Hughes ( 4722*e1fe3e4aSElliott Hughes "Flags32", 4723*e1fe3e4aSElliott Hughes "DefaultFlags", 4724*e1fe3e4aSElliott Hughes None, 4725*e1fe3e4aSElliott Hughes None, 4726*e1fe3e4aSElliott Hughes "The default specification for subtables.", 4727*e1fe3e4aSElliott Hughes ), 4728*e1fe3e4aSElliott Hughes ( 4729*e1fe3e4aSElliott Hughes "uint32", 4730*e1fe3e4aSElliott Hughes "StructLength", 4731*e1fe3e4aSElliott Hughes None, 4732*e1fe3e4aSElliott Hughes None, 4733*e1fe3e4aSElliott Hughes "Total byte count, including this header; must be a multiple of 4.", 4734*e1fe3e4aSElliott Hughes ), 4735*e1fe3e4aSElliott Hughes ( 4736*e1fe3e4aSElliott Hughes "uint32", 4737*e1fe3e4aSElliott Hughes "MorphFeatureCount", 4738*e1fe3e4aSElliott Hughes None, 4739*e1fe3e4aSElliott Hughes None, 4740*e1fe3e4aSElliott Hughes "Number of feature subtable entries.", 4741*e1fe3e4aSElliott Hughes ), 4742*e1fe3e4aSElliott Hughes ( 4743*e1fe3e4aSElliott Hughes "uint32", 4744*e1fe3e4aSElliott Hughes "MorphSubtableCount", 4745*e1fe3e4aSElliott Hughes None, 4746*e1fe3e4aSElliott Hughes None, 4747*e1fe3e4aSElliott Hughes "The number of subtables in the chain.", 4748*e1fe3e4aSElliott Hughes ), 4749*e1fe3e4aSElliott Hughes ( 4750*e1fe3e4aSElliott Hughes "MorphFeature", 4751*e1fe3e4aSElliott Hughes "MorphFeature", 4752*e1fe3e4aSElliott Hughes "MorphFeatureCount", 4753*e1fe3e4aSElliott Hughes 0, 4754*e1fe3e4aSElliott Hughes "Array of metamorphosis features.", 4755*e1fe3e4aSElliott Hughes ), 4756*e1fe3e4aSElliott Hughes ( 4757*e1fe3e4aSElliott Hughes "MorxSubtable", 4758*e1fe3e4aSElliott Hughes "MorphSubtable", 4759*e1fe3e4aSElliott Hughes "MorphSubtableCount", 4760*e1fe3e4aSElliott Hughes 0, 4761*e1fe3e4aSElliott Hughes "Array of extended metamorphosis subtables.", 4762*e1fe3e4aSElliott Hughes ), 4763*e1fe3e4aSElliott Hughes ], 4764*e1fe3e4aSElliott Hughes ), 4765*e1fe3e4aSElliott Hughes ( 4766*e1fe3e4aSElliott Hughes "MorphFeature", 4767*e1fe3e4aSElliott Hughes [ 4768*e1fe3e4aSElliott Hughes ("uint16", "FeatureType", None, None, "The type of feature."), 4769*e1fe3e4aSElliott Hughes ( 4770*e1fe3e4aSElliott Hughes "uint16", 4771*e1fe3e4aSElliott Hughes "FeatureSetting", 4772*e1fe3e4aSElliott Hughes None, 4773*e1fe3e4aSElliott Hughes None, 4774*e1fe3e4aSElliott Hughes "The feature's setting (aka selector).", 4775*e1fe3e4aSElliott Hughes ), 4776*e1fe3e4aSElliott Hughes ( 4777*e1fe3e4aSElliott Hughes "Flags32", 4778*e1fe3e4aSElliott Hughes "EnableFlags", 4779*e1fe3e4aSElliott Hughes None, 4780*e1fe3e4aSElliott Hughes None, 4781*e1fe3e4aSElliott Hughes "Flags for the settings that this feature and setting enables.", 4782*e1fe3e4aSElliott Hughes ), 4783*e1fe3e4aSElliott Hughes ( 4784*e1fe3e4aSElliott Hughes "Flags32", 4785*e1fe3e4aSElliott Hughes "DisableFlags", 4786*e1fe3e4aSElliott Hughes None, 4787*e1fe3e4aSElliott Hughes None, 4788*e1fe3e4aSElliott Hughes "Complement of flags for the settings that this feature and setting disable.", 4789*e1fe3e4aSElliott Hughes ), 4790*e1fe3e4aSElliott Hughes ], 4791*e1fe3e4aSElliott Hughes ), 4792*e1fe3e4aSElliott Hughes # Apple TrueType Reference Manual, chapter “The ‘morx’ table”, 4793*e1fe3e4aSElliott Hughes # section “Metamorphosis Subtables”. 4794*e1fe3e4aSElliott Hughes # https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6morx.html 4795*e1fe3e4aSElliott Hughes ( 4796*e1fe3e4aSElliott Hughes "MorxSubtable", 4797*e1fe3e4aSElliott Hughes [ 4798*e1fe3e4aSElliott Hughes ( 4799*e1fe3e4aSElliott Hughes "uint32", 4800*e1fe3e4aSElliott Hughes "StructLength", 4801*e1fe3e4aSElliott Hughes None, 4802*e1fe3e4aSElliott Hughes None, 4803*e1fe3e4aSElliott Hughes "Total subtable length, including this header.", 4804*e1fe3e4aSElliott Hughes ), 4805*e1fe3e4aSElliott Hughes ( 4806*e1fe3e4aSElliott Hughes "uint8", 4807*e1fe3e4aSElliott Hughes "CoverageFlags", 4808*e1fe3e4aSElliott Hughes None, 4809*e1fe3e4aSElliott Hughes None, 4810*e1fe3e4aSElliott Hughes "Most significant byte of coverage flags.", 4811*e1fe3e4aSElliott Hughes ), 4812*e1fe3e4aSElliott Hughes ("uint16", "Reserved", None, None, "Unused."), 4813*e1fe3e4aSElliott Hughes ("uint8", "MorphType", None, None, "Subtable type."), 4814*e1fe3e4aSElliott Hughes ( 4815*e1fe3e4aSElliott Hughes "Flags32", 4816*e1fe3e4aSElliott Hughes "SubFeatureFlags", 4817*e1fe3e4aSElliott Hughes None, 4818*e1fe3e4aSElliott Hughes None, 4819*e1fe3e4aSElliott Hughes "The 32-bit mask identifying which subtable this is (the subtable being executed if the AND of this value and the processed defaultFlags is nonzero).", 4820*e1fe3e4aSElliott Hughes ), 4821*e1fe3e4aSElliott Hughes ("SubStruct", "SubStruct", None, None, "SubTable."), 4822*e1fe3e4aSElliott Hughes ], 4823*e1fe3e4aSElliott Hughes ), 4824*e1fe3e4aSElliott Hughes ( 4825*e1fe3e4aSElliott Hughes "StateHeader", 4826*e1fe3e4aSElliott Hughes [ 4827*e1fe3e4aSElliott Hughes ( 4828*e1fe3e4aSElliott Hughes "uint32", 4829*e1fe3e4aSElliott Hughes "ClassCount", 4830*e1fe3e4aSElliott Hughes None, 4831*e1fe3e4aSElliott Hughes None, 4832*e1fe3e4aSElliott Hughes "Number of classes, which is the number of 16-bit entry indices in a single line in the state array.", 4833*e1fe3e4aSElliott Hughes ), 4834*e1fe3e4aSElliott Hughes ( 4835*e1fe3e4aSElliott Hughes "uint32", 4836*e1fe3e4aSElliott Hughes "MorphClass", 4837*e1fe3e4aSElliott Hughes None, 4838*e1fe3e4aSElliott Hughes None, 4839*e1fe3e4aSElliott Hughes "Offset from the start of this state table header to the start of the class table.", 4840*e1fe3e4aSElliott Hughes ), 4841*e1fe3e4aSElliott Hughes ( 4842*e1fe3e4aSElliott Hughes "uint32", 4843*e1fe3e4aSElliott Hughes "StateArrayOffset", 4844*e1fe3e4aSElliott Hughes None, 4845*e1fe3e4aSElliott Hughes None, 4846*e1fe3e4aSElliott Hughes "Offset from the start of this state table header to the start of the state array.", 4847*e1fe3e4aSElliott Hughes ), 4848*e1fe3e4aSElliott Hughes ( 4849*e1fe3e4aSElliott Hughes "uint32", 4850*e1fe3e4aSElliott Hughes "EntryTableOffset", 4851*e1fe3e4aSElliott Hughes None, 4852*e1fe3e4aSElliott Hughes None, 4853*e1fe3e4aSElliott Hughes "Offset from the start of this state table header to the start of the entry table.", 4854*e1fe3e4aSElliott Hughes ), 4855*e1fe3e4aSElliott Hughes ], 4856*e1fe3e4aSElliott Hughes ), 4857*e1fe3e4aSElliott Hughes ( 4858*e1fe3e4aSElliott Hughes "RearrangementMorph", 4859*e1fe3e4aSElliott Hughes [ 4860*e1fe3e4aSElliott Hughes ( 4861*e1fe3e4aSElliott Hughes "STXHeader(RearrangementMorphAction)", 4862*e1fe3e4aSElliott Hughes "StateTable", 4863*e1fe3e4aSElliott Hughes None, 4864*e1fe3e4aSElliott Hughes None, 4865*e1fe3e4aSElliott Hughes "Finite-state transducer table for indic rearrangement.", 4866*e1fe3e4aSElliott Hughes ), 4867*e1fe3e4aSElliott Hughes ], 4868*e1fe3e4aSElliott Hughes ), 4869*e1fe3e4aSElliott Hughes ( 4870*e1fe3e4aSElliott Hughes "ContextualMorph", 4871*e1fe3e4aSElliott Hughes [ 4872*e1fe3e4aSElliott Hughes ( 4873*e1fe3e4aSElliott Hughes "STXHeader(ContextualMorphAction)", 4874*e1fe3e4aSElliott Hughes "StateTable", 4875*e1fe3e4aSElliott Hughes None, 4876*e1fe3e4aSElliott Hughes None, 4877*e1fe3e4aSElliott Hughes "Finite-state transducer for contextual glyph substitution.", 4878*e1fe3e4aSElliott Hughes ), 4879*e1fe3e4aSElliott Hughes ], 4880*e1fe3e4aSElliott Hughes ), 4881*e1fe3e4aSElliott Hughes ( 4882*e1fe3e4aSElliott Hughes "LigatureMorph", 4883*e1fe3e4aSElliott Hughes [ 4884*e1fe3e4aSElliott Hughes ( 4885*e1fe3e4aSElliott Hughes "STXHeader(LigatureMorphAction)", 4886*e1fe3e4aSElliott Hughes "StateTable", 4887*e1fe3e4aSElliott Hughes None, 4888*e1fe3e4aSElliott Hughes None, 4889*e1fe3e4aSElliott Hughes "Finite-state transducer for ligature substitution.", 4890*e1fe3e4aSElliott Hughes ), 4891*e1fe3e4aSElliott Hughes ], 4892*e1fe3e4aSElliott Hughes ), 4893*e1fe3e4aSElliott Hughes ( 4894*e1fe3e4aSElliott Hughes "NoncontextualMorph", 4895*e1fe3e4aSElliott Hughes [ 4896*e1fe3e4aSElliott Hughes ( 4897*e1fe3e4aSElliott Hughes "AATLookup(GlyphID)", 4898*e1fe3e4aSElliott Hughes "Substitution", 4899*e1fe3e4aSElliott Hughes None, 4900*e1fe3e4aSElliott Hughes None, 4901*e1fe3e4aSElliott Hughes "The noncontextual glyph substitution table.", 4902*e1fe3e4aSElliott Hughes ), 4903*e1fe3e4aSElliott Hughes ], 4904*e1fe3e4aSElliott Hughes ), 4905*e1fe3e4aSElliott Hughes ( 4906*e1fe3e4aSElliott Hughes "InsertionMorph", 4907*e1fe3e4aSElliott Hughes [ 4908*e1fe3e4aSElliott Hughes ( 4909*e1fe3e4aSElliott Hughes "STXHeader(InsertionMorphAction)", 4910*e1fe3e4aSElliott Hughes "StateTable", 4911*e1fe3e4aSElliott Hughes None, 4912*e1fe3e4aSElliott Hughes None, 4913*e1fe3e4aSElliott Hughes "Finite-state transducer for glyph insertion.", 4914*e1fe3e4aSElliott Hughes ), 4915*e1fe3e4aSElliott Hughes ], 4916*e1fe3e4aSElliott Hughes ), 4917*e1fe3e4aSElliott Hughes ( 4918*e1fe3e4aSElliott Hughes "MorphClass", 4919*e1fe3e4aSElliott Hughes [ 4920*e1fe3e4aSElliott Hughes ( 4921*e1fe3e4aSElliott Hughes "uint16", 4922*e1fe3e4aSElliott Hughes "FirstGlyph", 4923*e1fe3e4aSElliott Hughes None, 4924*e1fe3e4aSElliott Hughes None, 4925*e1fe3e4aSElliott Hughes "Glyph index of the first glyph in the class table.", 4926*e1fe3e4aSElliott Hughes ), 4927*e1fe3e4aSElliott Hughes # ('uint16', 'GlyphCount', None, None, 'Number of glyphs in class table.'), 4928*e1fe3e4aSElliott Hughes # ('uint8', 'GlyphClass', 'GlyphCount', 0, 'The class codes (indexed by glyph index minus firstGlyph). Class codes range from 0 to the value of stateSize minus 1.'), 4929*e1fe3e4aSElliott Hughes ], 4930*e1fe3e4aSElliott Hughes ), 4931*e1fe3e4aSElliott Hughes # If the 'morx' table version is 3 or greater, then the last subtable in the chain is followed by a subtableGlyphCoverageArray, as described below. 4932*e1fe3e4aSElliott Hughes # ('Offset', 'MarkGlyphSetsDef', None, 'round(Version*0x10000) >= 0x00010002', 'Offset to the table of mark set definitions-from beginning of GDEF header (may be NULL)'), 4933*e1fe3e4aSElliott Hughes # 4934*e1fe3e4aSElliott Hughes # prop 4935*e1fe3e4aSElliott Hughes # 4936*e1fe3e4aSElliott Hughes ( 4937*e1fe3e4aSElliott Hughes "prop", 4938*e1fe3e4aSElliott Hughes [ 4939*e1fe3e4aSElliott Hughes ( 4940*e1fe3e4aSElliott Hughes "Fixed", 4941*e1fe3e4aSElliott Hughes "Version", 4942*e1fe3e4aSElliott Hughes None, 4943*e1fe3e4aSElliott Hughes None, 4944*e1fe3e4aSElliott Hughes "Version number of the AAT glyphs property table. Version 1.0 is the initial table version. Version 2.0, which is recognized by macOS 8.5 and later, adds support for the “attaches on right” bit. Version 3.0, which gets recognized by macOS X and iOS, adds support for the additional directional properties defined in Unicode 3.0.", 4945*e1fe3e4aSElliott Hughes ), 4946*e1fe3e4aSElliott Hughes ("struct", "GlyphProperties", None, None, "Glyph properties."), 4947*e1fe3e4aSElliott Hughes ], 4948*e1fe3e4aSElliott Hughes ), 4949*e1fe3e4aSElliott Hughes ( 4950*e1fe3e4aSElliott Hughes "GlyphPropertiesFormat0", 4951*e1fe3e4aSElliott Hughes [ 4952*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format, = 0."), 4953*e1fe3e4aSElliott Hughes ( 4954*e1fe3e4aSElliott Hughes "uint16", 4955*e1fe3e4aSElliott Hughes "DefaultProperties", 4956*e1fe3e4aSElliott Hughes None, 4957*e1fe3e4aSElliott Hughes None, 4958*e1fe3e4aSElliott Hughes "Default properties applied to a glyph. Since there is no lookup table in prop format 0, the default properties get applied to every glyph in the font.", 4959*e1fe3e4aSElliott Hughes ), 4960*e1fe3e4aSElliott Hughes ], 4961*e1fe3e4aSElliott Hughes ), 4962*e1fe3e4aSElliott Hughes ( 4963*e1fe3e4aSElliott Hughes "GlyphPropertiesFormat1", 4964*e1fe3e4aSElliott Hughes [ 4965*e1fe3e4aSElliott Hughes ("uint16", "Format", None, None, "Format, = 1."), 4966*e1fe3e4aSElliott Hughes ( 4967*e1fe3e4aSElliott Hughes "uint16", 4968*e1fe3e4aSElliott Hughes "DefaultProperties", 4969*e1fe3e4aSElliott Hughes None, 4970*e1fe3e4aSElliott Hughes None, 4971*e1fe3e4aSElliott Hughes "Default properties applied to a glyph if that glyph is not present in the Properties lookup table.", 4972*e1fe3e4aSElliott Hughes ), 4973*e1fe3e4aSElliott Hughes ( 4974*e1fe3e4aSElliott Hughes "AATLookup(uint16)", 4975*e1fe3e4aSElliott Hughes "Properties", 4976*e1fe3e4aSElliott Hughes None, 4977*e1fe3e4aSElliott Hughes None, 4978*e1fe3e4aSElliott Hughes "Lookup data associating glyphs with their properties.", 4979*e1fe3e4aSElliott Hughes ), 4980*e1fe3e4aSElliott Hughes ], 4981*e1fe3e4aSElliott Hughes ), 4982*e1fe3e4aSElliott Hughes # 4983*e1fe3e4aSElliott Hughes # opbd 4984*e1fe3e4aSElliott Hughes # 4985*e1fe3e4aSElliott Hughes ( 4986*e1fe3e4aSElliott Hughes "opbd", 4987*e1fe3e4aSElliott Hughes [ 4988*e1fe3e4aSElliott Hughes ( 4989*e1fe3e4aSElliott Hughes "Version", 4990*e1fe3e4aSElliott Hughes "Version", 4991*e1fe3e4aSElliott Hughes None, 4992*e1fe3e4aSElliott Hughes None, 4993*e1fe3e4aSElliott Hughes "Version number of the optical bounds table (0x00010000 for the initial version).", 4994*e1fe3e4aSElliott Hughes ), 4995*e1fe3e4aSElliott Hughes ("struct", "OpticalBounds", None, None, "Optical bounds table."), 4996*e1fe3e4aSElliott Hughes ], 4997*e1fe3e4aSElliott Hughes ), 4998*e1fe3e4aSElliott Hughes ( 4999*e1fe3e4aSElliott Hughes "OpticalBoundsFormat0", 5000*e1fe3e4aSElliott Hughes [ 5001*e1fe3e4aSElliott Hughes ( 5002*e1fe3e4aSElliott Hughes "uint16", 5003*e1fe3e4aSElliott Hughes "Format", 5004*e1fe3e4aSElliott Hughes None, 5005*e1fe3e4aSElliott Hughes None, 5006*e1fe3e4aSElliott Hughes "Format of the optical bounds table, = 0.", 5007*e1fe3e4aSElliott Hughes ), 5008*e1fe3e4aSElliott Hughes ( 5009*e1fe3e4aSElliott Hughes "AATLookup(OpticalBoundsDeltas)", 5010*e1fe3e4aSElliott Hughes "OpticalBoundsDeltas", 5011*e1fe3e4aSElliott Hughes None, 5012*e1fe3e4aSElliott Hughes None, 5013*e1fe3e4aSElliott Hughes "Lookup table associating glyphs with their optical bounds, given as deltas in font units.", 5014*e1fe3e4aSElliott Hughes ), 5015*e1fe3e4aSElliott Hughes ], 5016*e1fe3e4aSElliott Hughes ), 5017*e1fe3e4aSElliott Hughes ( 5018*e1fe3e4aSElliott Hughes "OpticalBoundsFormat1", 5019*e1fe3e4aSElliott Hughes [ 5020*e1fe3e4aSElliott Hughes ( 5021*e1fe3e4aSElliott Hughes "uint16", 5022*e1fe3e4aSElliott Hughes "Format", 5023*e1fe3e4aSElliott Hughes None, 5024*e1fe3e4aSElliott Hughes None, 5025*e1fe3e4aSElliott Hughes "Format of the optical bounds table, = 1.", 5026*e1fe3e4aSElliott Hughes ), 5027*e1fe3e4aSElliott Hughes ( 5028*e1fe3e4aSElliott Hughes "AATLookup(OpticalBoundsPoints)", 5029*e1fe3e4aSElliott Hughes "OpticalBoundsPoints", 5030*e1fe3e4aSElliott Hughes None, 5031*e1fe3e4aSElliott Hughes None, 5032*e1fe3e4aSElliott Hughes "Lookup table associating glyphs with their optical bounds, given as references to control points.", 5033*e1fe3e4aSElliott Hughes ), 5034*e1fe3e4aSElliott Hughes ], 5035*e1fe3e4aSElliott Hughes ), 5036*e1fe3e4aSElliott Hughes ( 5037*e1fe3e4aSElliott Hughes "OpticalBoundsDeltas", 5038*e1fe3e4aSElliott Hughes [ 5039*e1fe3e4aSElliott Hughes ( 5040*e1fe3e4aSElliott Hughes "int16", 5041*e1fe3e4aSElliott Hughes "Left", 5042*e1fe3e4aSElliott Hughes None, 5043*e1fe3e4aSElliott Hughes None, 5044*e1fe3e4aSElliott Hughes "Delta value for the left-side optical edge.", 5045*e1fe3e4aSElliott Hughes ), 5046*e1fe3e4aSElliott Hughes ("int16", "Top", None, None, "Delta value for the top-side optical edge."), 5047*e1fe3e4aSElliott Hughes ( 5048*e1fe3e4aSElliott Hughes "int16", 5049*e1fe3e4aSElliott Hughes "Right", 5050*e1fe3e4aSElliott Hughes None, 5051*e1fe3e4aSElliott Hughes None, 5052*e1fe3e4aSElliott Hughes "Delta value for the right-side optical edge.", 5053*e1fe3e4aSElliott Hughes ), 5054*e1fe3e4aSElliott Hughes ( 5055*e1fe3e4aSElliott Hughes "int16", 5056*e1fe3e4aSElliott Hughes "Bottom", 5057*e1fe3e4aSElliott Hughes None, 5058*e1fe3e4aSElliott Hughes None, 5059*e1fe3e4aSElliott Hughes "Delta value for the bottom-side optical edge.", 5060*e1fe3e4aSElliott Hughes ), 5061*e1fe3e4aSElliott Hughes ], 5062*e1fe3e4aSElliott Hughes ), 5063*e1fe3e4aSElliott Hughes ( 5064*e1fe3e4aSElliott Hughes "OpticalBoundsPoints", 5065*e1fe3e4aSElliott Hughes [ 5066*e1fe3e4aSElliott Hughes ( 5067*e1fe3e4aSElliott Hughes "int16", 5068*e1fe3e4aSElliott Hughes "Left", 5069*e1fe3e4aSElliott Hughes None, 5070*e1fe3e4aSElliott Hughes None, 5071*e1fe3e4aSElliott Hughes "Control point index for the left-side optical edge, or -1 if this glyph has none.", 5072*e1fe3e4aSElliott Hughes ), 5073*e1fe3e4aSElliott Hughes ( 5074*e1fe3e4aSElliott Hughes "int16", 5075*e1fe3e4aSElliott Hughes "Top", 5076*e1fe3e4aSElliott Hughes None, 5077*e1fe3e4aSElliott Hughes None, 5078*e1fe3e4aSElliott Hughes "Control point index for the top-side optical edge, or -1 if this glyph has none.", 5079*e1fe3e4aSElliott Hughes ), 5080*e1fe3e4aSElliott Hughes ( 5081*e1fe3e4aSElliott Hughes "int16", 5082*e1fe3e4aSElliott Hughes "Right", 5083*e1fe3e4aSElliott Hughes None, 5084*e1fe3e4aSElliott Hughes None, 5085*e1fe3e4aSElliott Hughes "Control point index for the right-side optical edge, or -1 if this glyph has none.", 5086*e1fe3e4aSElliott Hughes ), 5087*e1fe3e4aSElliott Hughes ( 5088*e1fe3e4aSElliott Hughes "int16", 5089*e1fe3e4aSElliott Hughes "Bottom", 5090*e1fe3e4aSElliott Hughes None, 5091*e1fe3e4aSElliott Hughes None, 5092*e1fe3e4aSElliott Hughes "Control point index for the bottom-side optical edge, or -1 if this glyph has none.", 5093*e1fe3e4aSElliott Hughes ), 5094*e1fe3e4aSElliott Hughes ], 5095*e1fe3e4aSElliott Hughes ), 5096*e1fe3e4aSElliott Hughes # 5097*e1fe3e4aSElliott Hughes # TSIC 5098*e1fe3e4aSElliott Hughes # 5099*e1fe3e4aSElliott Hughes ( 5100*e1fe3e4aSElliott Hughes "TSIC", 5101*e1fe3e4aSElliott Hughes [ 5102*e1fe3e4aSElliott Hughes ( 5103*e1fe3e4aSElliott Hughes "Version", 5104*e1fe3e4aSElliott Hughes "Version", 5105*e1fe3e4aSElliott Hughes None, 5106*e1fe3e4aSElliott Hughes None, 5107*e1fe3e4aSElliott Hughes "Version of table initially set to 0x00010000.", 5108*e1fe3e4aSElliott Hughes ), 5109*e1fe3e4aSElliott Hughes ("uint16", "Flags", None, None, "TSIC flags - set to 0"), 5110*e1fe3e4aSElliott Hughes ("uint16", "AxisCount", None, None, "Axis count from fvar"), 5111*e1fe3e4aSElliott Hughes ("uint16", "RecordCount", None, None, "TSIC record count"), 5112*e1fe3e4aSElliott Hughes ("uint16", "Reserved", None, None, "Set to 0"), 5113*e1fe3e4aSElliott Hughes ("Tag", "AxisArray", "AxisCount", 0, "Array of axis tags in fvar order"), 5114*e1fe3e4aSElliott Hughes ( 5115*e1fe3e4aSElliott Hughes "LocationRecord", 5116*e1fe3e4aSElliott Hughes "RecordLocations", 5117*e1fe3e4aSElliott Hughes "RecordCount", 5118*e1fe3e4aSElliott Hughes 0, 5119*e1fe3e4aSElliott Hughes "Location in variation space of TSIC record", 5120*e1fe3e4aSElliott Hughes ), 5121*e1fe3e4aSElliott Hughes ("TSICRecord", "Record", "RecordCount", 0, "Array of TSIC records"), 5122*e1fe3e4aSElliott Hughes ], 5123*e1fe3e4aSElliott Hughes ), 5124*e1fe3e4aSElliott Hughes ( 5125*e1fe3e4aSElliott Hughes "LocationRecord", 5126*e1fe3e4aSElliott Hughes [ 5127*e1fe3e4aSElliott Hughes ("F2Dot14", "Axis", "AxisCount", 0, "Axis record"), 5128*e1fe3e4aSElliott Hughes ], 5129*e1fe3e4aSElliott Hughes ), 5130*e1fe3e4aSElliott Hughes ( 5131*e1fe3e4aSElliott Hughes "TSICRecord", 5132*e1fe3e4aSElliott Hughes [ 5133*e1fe3e4aSElliott Hughes ("uint16", "Flags", None, None, "Record flags - set to 0"), 5134*e1fe3e4aSElliott Hughes ("uint16", "NumCVTEntries", None, None, "Number of CVT number value pairs"), 5135*e1fe3e4aSElliott Hughes ("uint16", "NameLength", None, None, "Length of optional user record name"), 5136*e1fe3e4aSElliott Hughes ("uint16", "NameArray", "NameLength", 0, "Unicode 16 name"), 5137*e1fe3e4aSElliott Hughes ("uint16", "CVTArray", "NumCVTEntries", 0, "CVT number array"), 5138*e1fe3e4aSElliott Hughes ("int16", "CVTValueArray", "NumCVTEntries", 0, "CVT value"), 5139*e1fe3e4aSElliott Hughes ], 5140*e1fe3e4aSElliott Hughes ), 5141*e1fe3e4aSElliott Hughes # 5142*e1fe3e4aSElliott Hughes # COLR 5143*e1fe3e4aSElliott Hughes # 5144*e1fe3e4aSElliott Hughes ( 5145*e1fe3e4aSElliott Hughes "COLR", 5146*e1fe3e4aSElliott Hughes [ 5147*e1fe3e4aSElliott Hughes ("uint16", "Version", None, None, "Table version number (starts at 0)."), 5148*e1fe3e4aSElliott Hughes ( 5149*e1fe3e4aSElliott Hughes "uint16", 5150*e1fe3e4aSElliott Hughes "BaseGlyphRecordCount", 5151*e1fe3e4aSElliott Hughes None, 5152*e1fe3e4aSElliott Hughes None, 5153*e1fe3e4aSElliott Hughes "Number of Base Glyph Records.", 5154*e1fe3e4aSElliott Hughes ), 5155*e1fe3e4aSElliott Hughes ( 5156*e1fe3e4aSElliott Hughes "LOffset", 5157*e1fe3e4aSElliott Hughes "BaseGlyphRecordArray", 5158*e1fe3e4aSElliott Hughes None, 5159*e1fe3e4aSElliott Hughes None, 5160*e1fe3e4aSElliott Hughes "Offset (from beginning of COLR table) to Base Glyph records.", 5161*e1fe3e4aSElliott Hughes ), 5162*e1fe3e4aSElliott Hughes ( 5163*e1fe3e4aSElliott Hughes "LOffset", 5164*e1fe3e4aSElliott Hughes "LayerRecordArray", 5165*e1fe3e4aSElliott Hughes None, 5166*e1fe3e4aSElliott Hughes None, 5167*e1fe3e4aSElliott Hughes "Offset (from beginning of COLR table) to Layer Records.", 5168*e1fe3e4aSElliott Hughes ), 5169*e1fe3e4aSElliott Hughes ("uint16", "LayerRecordCount", None, None, "Number of Layer Records."), 5170*e1fe3e4aSElliott Hughes ( 5171*e1fe3e4aSElliott Hughes "LOffset", 5172*e1fe3e4aSElliott Hughes "BaseGlyphList", 5173*e1fe3e4aSElliott Hughes None, 5174*e1fe3e4aSElliott Hughes "Version >= 1", 5175*e1fe3e4aSElliott Hughes "Offset (from beginning of COLR table) to array of Version-1 Base Glyph records.", 5176*e1fe3e4aSElliott Hughes ), 5177*e1fe3e4aSElliott Hughes ( 5178*e1fe3e4aSElliott Hughes "LOffset", 5179*e1fe3e4aSElliott Hughes "LayerList", 5180*e1fe3e4aSElliott Hughes None, 5181*e1fe3e4aSElliott Hughes "Version >= 1", 5182*e1fe3e4aSElliott Hughes "Offset (from beginning of COLR table) to LayerList.", 5183*e1fe3e4aSElliott Hughes ), 5184*e1fe3e4aSElliott Hughes ( 5185*e1fe3e4aSElliott Hughes "LOffset", 5186*e1fe3e4aSElliott Hughes "ClipList", 5187*e1fe3e4aSElliott Hughes None, 5188*e1fe3e4aSElliott Hughes "Version >= 1", 5189*e1fe3e4aSElliott Hughes "Offset to ClipList table (may be NULL)", 5190*e1fe3e4aSElliott Hughes ), 5191*e1fe3e4aSElliott Hughes ( 5192*e1fe3e4aSElliott Hughes "LOffsetTo(DeltaSetIndexMap)", 5193*e1fe3e4aSElliott Hughes "VarIndexMap", 5194*e1fe3e4aSElliott Hughes None, 5195*e1fe3e4aSElliott Hughes "Version >= 1", 5196*e1fe3e4aSElliott Hughes "Offset to DeltaSetIndexMap table (may be NULL)", 5197*e1fe3e4aSElliott Hughes ), 5198*e1fe3e4aSElliott Hughes ( 5199*e1fe3e4aSElliott Hughes "LOffset", 5200*e1fe3e4aSElliott Hughes "VarStore", 5201*e1fe3e4aSElliott Hughes None, 5202*e1fe3e4aSElliott Hughes "Version >= 1", 5203*e1fe3e4aSElliott Hughes "Offset to variation store (may be NULL)", 5204*e1fe3e4aSElliott Hughes ), 5205*e1fe3e4aSElliott Hughes ], 5206*e1fe3e4aSElliott Hughes ), 5207*e1fe3e4aSElliott Hughes ( 5208*e1fe3e4aSElliott Hughes "BaseGlyphRecordArray", 5209*e1fe3e4aSElliott Hughes [ 5210*e1fe3e4aSElliott Hughes ( 5211*e1fe3e4aSElliott Hughes "BaseGlyphRecord", 5212*e1fe3e4aSElliott Hughes "BaseGlyphRecord", 5213*e1fe3e4aSElliott Hughes "BaseGlyphRecordCount", 5214*e1fe3e4aSElliott Hughes 0, 5215*e1fe3e4aSElliott Hughes "Base Glyph records.", 5216*e1fe3e4aSElliott Hughes ), 5217*e1fe3e4aSElliott Hughes ], 5218*e1fe3e4aSElliott Hughes ), 5219*e1fe3e4aSElliott Hughes ( 5220*e1fe3e4aSElliott Hughes "BaseGlyphRecord", 5221*e1fe3e4aSElliott Hughes [ 5222*e1fe3e4aSElliott Hughes ( 5223*e1fe3e4aSElliott Hughes "GlyphID", 5224*e1fe3e4aSElliott Hughes "BaseGlyph", 5225*e1fe3e4aSElliott Hughes None, 5226*e1fe3e4aSElliott Hughes None, 5227*e1fe3e4aSElliott Hughes "Glyph ID of reference glyph. This glyph is for reference only and is not rendered for color.", 5228*e1fe3e4aSElliott Hughes ), 5229*e1fe3e4aSElliott Hughes ( 5230*e1fe3e4aSElliott Hughes "uint16", 5231*e1fe3e4aSElliott Hughes "FirstLayerIndex", 5232*e1fe3e4aSElliott Hughes None, 5233*e1fe3e4aSElliott Hughes None, 5234*e1fe3e4aSElliott Hughes "Index (from beginning of the Layer Records) to the layer record. There will be numLayers consecutive entries for this base glyph.", 5235*e1fe3e4aSElliott Hughes ), 5236*e1fe3e4aSElliott Hughes ( 5237*e1fe3e4aSElliott Hughes "uint16", 5238*e1fe3e4aSElliott Hughes "NumLayers", 5239*e1fe3e4aSElliott Hughes None, 5240*e1fe3e4aSElliott Hughes None, 5241*e1fe3e4aSElliott Hughes "Number of color layers associated with this glyph.", 5242*e1fe3e4aSElliott Hughes ), 5243*e1fe3e4aSElliott Hughes ], 5244*e1fe3e4aSElliott Hughes ), 5245*e1fe3e4aSElliott Hughes ( 5246*e1fe3e4aSElliott Hughes "LayerRecordArray", 5247*e1fe3e4aSElliott Hughes [ 5248*e1fe3e4aSElliott Hughes ("LayerRecord", "LayerRecord", "LayerRecordCount", 0, "Layer records."), 5249*e1fe3e4aSElliott Hughes ], 5250*e1fe3e4aSElliott Hughes ), 5251*e1fe3e4aSElliott Hughes ( 5252*e1fe3e4aSElliott Hughes "LayerRecord", 5253*e1fe3e4aSElliott Hughes [ 5254*e1fe3e4aSElliott Hughes ( 5255*e1fe3e4aSElliott Hughes "GlyphID", 5256*e1fe3e4aSElliott Hughes "LayerGlyph", 5257*e1fe3e4aSElliott Hughes None, 5258*e1fe3e4aSElliott Hughes None, 5259*e1fe3e4aSElliott Hughes "Glyph ID of layer glyph (must be in z-order from bottom to top).", 5260*e1fe3e4aSElliott Hughes ), 5261*e1fe3e4aSElliott Hughes ( 5262*e1fe3e4aSElliott Hughes "uint16", 5263*e1fe3e4aSElliott Hughes "PaletteIndex", 5264*e1fe3e4aSElliott Hughes None, 5265*e1fe3e4aSElliott Hughes None, 5266*e1fe3e4aSElliott Hughes "Index value to use with a selected color palette.", 5267*e1fe3e4aSElliott Hughes ), 5268*e1fe3e4aSElliott Hughes ], 5269*e1fe3e4aSElliott Hughes ), 5270*e1fe3e4aSElliott Hughes ( 5271*e1fe3e4aSElliott Hughes "BaseGlyphList", 5272*e1fe3e4aSElliott Hughes [ 5273*e1fe3e4aSElliott Hughes ( 5274*e1fe3e4aSElliott Hughes "uint32", 5275*e1fe3e4aSElliott Hughes "BaseGlyphCount", 5276*e1fe3e4aSElliott Hughes None, 5277*e1fe3e4aSElliott Hughes None, 5278*e1fe3e4aSElliott Hughes "Number of Version-1 Base Glyph records", 5279*e1fe3e4aSElliott Hughes ), 5280*e1fe3e4aSElliott Hughes ( 5281*e1fe3e4aSElliott Hughes "struct", 5282*e1fe3e4aSElliott Hughes "BaseGlyphPaintRecord", 5283*e1fe3e4aSElliott Hughes "BaseGlyphCount", 5284*e1fe3e4aSElliott Hughes 0, 5285*e1fe3e4aSElliott Hughes "Array of Version-1 Base Glyph records", 5286*e1fe3e4aSElliott Hughes ), 5287*e1fe3e4aSElliott Hughes ], 5288*e1fe3e4aSElliott Hughes ), 5289*e1fe3e4aSElliott Hughes ( 5290*e1fe3e4aSElliott Hughes "BaseGlyphPaintRecord", 5291*e1fe3e4aSElliott Hughes [ 5292*e1fe3e4aSElliott Hughes ("GlyphID", "BaseGlyph", None, None, "Glyph ID of reference glyph."), 5293*e1fe3e4aSElliott Hughes ( 5294*e1fe3e4aSElliott Hughes "LOffset", 5295*e1fe3e4aSElliott Hughes "Paint", 5296*e1fe3e4aSElliott Hughes None, 5297*e1fe3e4aSElliott Hughes None, 5298*e1fe3e4aSElliott Hughes "Offset (from beginning of BaseGlyphPaintRecord) to Paint, typically a PaintColrLayers.", 5299*e1fe3e4aSElliott Hughes ), 5300*e1fe3e4aSElliott Hughes ], 5301*e1fe3e4aSElliott Hughes ), 5302*e1fe3e4aSElliott Hughes ( 5303*e1fe3e4aSElliott Hughes "LayerList", 5304*e1fe3e4aSElliott Hughes [ 5305*e1fe3e4aSElliott Hughes ("uint32", "LayerCount", None, None, "Number of Version-1 Layers"), 5306*e1fe3e4aSElliott Hughes ( 5307*e1fe3e4aSElliott Hughes "LOffset", 5308*e1fe3e4aSElliott Hughes "Paint", 5309*e1fe3e4aSElliott Hughes "LayerCount", 5310*e1fe3e4aSElliott Hughes 0, 5311*e1fe3e4aSElliott Hughes "Array of offsets to Paint tables, from the start of the LayerList table.", 5312*e1fe3e4aSElliott Hughes ), 5313*e1fe3e4aSElliott Hughes ], 5314*e1fe3e4aSElliott Hughes ), 5315*e1fe3e4aSElliott Hughes ( 5316*e1fe3e4aSElliott Hughes "ClipListFormat1", 5317*e1fe3e4aSElliott Hughes [ 5318*e1fe3e4aSElliott Hughes ( 5319*e1fe3e4aSElliott Hughes "uint8", 5320*e1fe3e4aSElliott Hughes "Format", 5321*e1fe3e4aSElliott Hughes None, 5322*e1fe3e4aSElliott Hughes None, 5323*e1fe3e4aSElliott Hughes "Format for ClipList with 16bit glyph IDs: 1", 5324*e1fe3e4aSElliott Hughes ), 5325*e1fe3e4aSElliott Hughes ("uint32", "ClipCount", None, None, "Number of Clip records."), 5326*e1fe3e4aSElliott Hughes ( 5327*e1fe3e4aSElliott Hughes "struct", 5328*e1fe3e4aSElliott Hughes "ClipRecord", 5329*e1fe3e4aSElliott Hughes "ClipCount", 5330*e1fe3e4aSElliott Hughes 0, 5331*e1fe3e4aSElliott Hughes "Array of Clip records sorted by glyph ID.", 5332*e1fe3e4aSElliott Hughes ), 5333*e1fe3e4aSElliott Hughes ], 5334*e1fe3e4aSElliott Hughes ), 5335*e1fe3e4aSElliott Hughes ( 5336*e1fe3e4aSElliott Hughes "ClipRecord", 5337*e1fe3e4aSElliott Hughes [ 5338*e1fe3e4aSElliott Hughes ("uint16", "StartGlyphID", None, None, "First glyph ID in the range."), 5339*e1fe3e4aSElliott Hughes ("uint16", "EndGlyphID", None, None, "Last glyph ID in the range."), 5340*e1fe3e4aSElliott Hughes ("Offset24", "ClipBox", None, None, "Offset to a ClipBox table."), 5341*e1fe3e4aSElliott Hughes ], 5342*e1fe3e4aSElliott Hughes ), 5343*e1fe3e4aSElliott Hughes ( 5344*e1fe3e4aSElliott Hughes "ClipBoxFormat1", 5345*e1fe3e4aSElliott Hughes [ 5346*e1fe3e4aSElliott Hughes ( 5347*e1fe3e4aSElliott Hughes "uint8", 5348*e1fe3e4aSElliott Hughes "Format", 5349*e1fe3e4aSElliott Hughes None, 5350*e1fe3e4aSElliott Hughes None, 5351*e1fe3e4aSElliott Hughes "Format for ClipBox without variation: set to 1.", 5352*e1fe3e4aSElliott Hughes ), 5353*e1fe3e4aSElliott Hughes ("int16", "xMin", None, None, "Minimum x of clip box."), 5354*e1fe3e4aSElliott Hughes ("int16", "yMin", None, None, "Minimum y of clip box."), 5355*e1fe3e4aSElliott Hughes ("int16", "xMax", None, None, "Maximum x of clip box."), 5356*e1fe3e4aSElliott Hughes ("int16", "yMax", None, None, "Maximum y of clip box."), 5357*e1fe3e4aSElliott Hughes ], 5358*e1fe3e4aSElliott Hughes ), 5359*e1fe3e4aSElliott Hughes ( 5360*e1fe3e4aSElliott Hughes "ClipBoxFormat2", 5361*e1fe3e4aSElliott Hughes [ 5362*e1fe3e4aSElliott Hughes ("uint8", "Format", None, None, "Format for variable ClipBox: set to 2."), 5363*e1fe3e4aSElliott Hughes ("int16", "xMin", None, None, "Minimum x of clip box. VarIndexBase + 0."), 5364*e1fe3e4aSElliott Hughes ("int16", "yMin", None, None, "Minimum y of clip box. VarIndexBase + 1."), 5365*e1fe3e4aSElliott Hughes ("int16", "xMax", None, None, "Maximum x of clip box. VarIndexBase + 2."), 5366*e1fe3e4aSElliott Hughes ("int16", "yMax", None, None, "Maximum y of clip box. VarIndexBase + 3."), 5367*e1fe3e4aSElliott Hughes ( 5368*e1fe3e4aSElliott Hughes "VarIndex", 5369*e1fe3e4aSElliott Hughes "VarIndexBase", 5370*e1fe3e4aSElliott Hughes None, 5371*e1fe3e4aSElliott Hughes None, 5372*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5373*e1fe3e4aSElliott Hughes ), 5374*e1fe3e4aSElliott Hughes ], 5375*e1fe3e4aSElliott Hughes ), 5376*e1fe3e4aSElliott Hughes # COLRv1 Affine2x3 uses the same column-major order to serialize a 2D 5377*e1fe3e4aSElliott Hughes # Affine Transformation as the one used by fontTools.misc.transform. 5378*e1fe3e4aSElliott Hughes # However, for historical reasons, the labels 'xy' and 'yx' are swapped. 5379*e1fe3e4aSElliott Hughes # Their fundamental meaning is the same though. 5380*e1fe3e4aSElliott Hughes # COLRv1 Affine2x3 follows the names found in FreeType and Cairo. 5381*e1fe3e4aSElliott Hughes # In all case, the second element in the 6-tuple correspond to the 5382*e1fe3e4aSElliott Hughes # y-part of the x basis vector, and the third to the x-part of the y 5383*e1fe3e4aSElliott Hughes # basis vector. 5384*e1fe3e4aSElliott Hughes # See https://github.com/googlefonts/colr-gradients-spec/pull/85 5385*e1fe3e4aSElliott Hughes ( 5386*e1fe3e4aSElliott Hughes "Affine2x3", 5387*e1fe3e4aSElliott Hughes [ 5388*e1fe3e4aSElliott Hughes ("Fixed", "xx", None, None, "x-part of x basis vector"), 5389*e1fe3e4aSElliott Hughes ("Fixed", "yx", None, None, "y-part of x basis vector"), 5390*e1fe3e4aSElliott Hughes ("Fixed", "xy", None, None, "x-part of y basis vector"), 5391*e1fe3e4aSElliott Hughes ("Fixed", "yy", None, None, "y-part of y basis vector"), 5392*e1fe3e4aSElliott Hughes ("Fixed", "dx", None, None, "Translation in x direction"), 5393*e1fe3e4aSElliott Hughes ("Fixed", "dy", None, None, "Translation in y direction"), 5394*e1fe3e4aSElliott Hughes ], 5395*e1fe3e4aSElliott Hughes ), 5396*e1fe3e4aSElliott Hughes ( 5397*e1fe3e4aSElliott Hughes "VarAffine2x3", 5398*e1fe3e4aSElliott Hughes [ 5399*e1fe3e4aSElliott Hughes ("Fixed", "xx", None, None, "x-part of x basis vector. VarIndexBase + 0."), 5400*e1fe3e4aSElliott Hughes ("Fixed", "yx", None, None, "y-part of x basis vector. VarIndexBase + 1."), 5401*e1fe3e4aSElliott Hughes ("Fixed", "xy", None, None, "x-part of y basis vector. VarIndexBase + 2."), 5402*e1fe3e4aSElliott Hughes ("Fixed", "yy", None, None, "y-part of y basis vector. VarIndexBase + 3."), 5403*e1fe3e4aSElliott Hughes ( 5404*e1fe3e4aSElliott Hughes "Fixed", 5405*e1fe3e4aSElliott Hughes "dx", 5406*e1fe3e4aSElliott Hughes None, 5407*e1fe3e4aSElliott Hughes None, 5408*e1fe3e4aSElliott Hughes "Translation in x direction. VarIndexBase + 4.", 5409*e1fe3e4aSElliott Hughes ), 5410*e1fe3e4aSElliott Hughes ( 5411*e1fe3e4aSElliott Hughes "Fixed", 5412*e1fe3e4aSElliott Hughes "dy", 5413*e1fe3e4aSElliott Hughes None, 5414*e1fe3e4aSElliott Hughes None, 5415*e1fe3e4aSElliott Hughes "Translation in y direction. VarIndexBase + 5.", 5416*e1fe3e4aSElliott Hughes ), 5417*e1fe3e4aSElliott Hughes ( 5418*e1fe3e4aSElliott Hughes "VarIndex", 5419*e1fe3e4aSElliott Hughes "VarIndexBase", 5420*e1fe3e4aSElliott Hughes None, 5421*e1fe3e4aSElliott Hughes None, 5422*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5423*e1fe3e4aSElliott Hughes ), 5424*e1fe3e4aSElliott Hughes ], 5425*e1fe3e4aSElliott Hughes ), 5426*e1fe3e4aSElliott Hughes ( 5427*e1fe3e4aSElliott Hughes "ColorStop", 5428*e1fe3e4aSElliott Hughes [ 5429*e1fe3e4aSElliott Hughes ("F2Dot14", "StopOffset", None, None, ""), 5430*e1fe3e4aSElliott Hughes ("uint16", "PaletteIndex", None, None, "Index for a CPAL palette entry."), 5431*e1fe3e4aSElliott Hughes ("F2Dot14", "Alpha", None, None, "Values outsided [0.,1.] reserved"), 5432*e1fe3e4aSElliott Hughes ], 5433*e1fe3e4aSElliott Hughes ), 5434*e1fe3e4aSElliott Hughes ( 5435*e1fe3e4aSElliott Hughes "VarColorStop", 5436*e1fe3e4aSElliott Hughes [ 5437*e1fe3e4aSElliott Hughes ("F2Dot14", "StopOffset", None, None, "VarIndexBase + 0."), 5438*e1fe3e4aSElliott Hughes ("uint16", "PaletteIndex", None, None, "Index for a CPAL palette entry."), 5439*e1fe3e4aSElliott Hughes ( 5440*e1fe3e4aSElliott Hughes "F2Dot14", 5441*e1fe3e4aSElliott Hughes "Alpha", 5442*e1fe3e4aSElliott Hughes None, 5443*e1fe3e4aSElliott Hughes None, 5444*e1fe3e4aSElliott Hughes "Values outsided [0.,1.] reserved. VarIndexBase + 1.", 5445*e1fe3e4aSElliott Hughes ), 5446*e1fe3e4aSElliott Hughes ( 5447*e1fe3e4aSElliott Hughes "VarIndex", 5448*e1fe3e4aSElliott Hughes "VarIndexBase", 5449*e1fe3e4aSElliott Hughes None, 5450*e1fe3e4aSElliott Hughes None, 5451*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5452*e1fe3e4aSElliott Hughes ), 5453*e1fe3e4aSElliott Hughes ], 5454*e1fe3e4aSElliott Hughes ), 5455*e1fe3e4aSElliott Hughes ( 5456*e1fe3e4aSElliott Hughes "ColorLine", 5457*e1fe3e4aSElliott Hughes [ 5458*e1fe3e4aSElliott Hughes ( 5459*e1fe3e4aSElliott Hughes "ExtendMode", 5460*e1fe3e4aSElliott Hughes "Extend", 5461*e1fe3e4aSElliott Hughes None, 5462*e1fe3e4aSElliott Hughes None, 5463*e1fe3e4aSElliott Hughes "Enum {PAD = 0, REPEAT = 1, REFLECT = 2}", 5464*e1fe3e4aSElliott Hughes ), 5465*e1fe3e4aSElliott Hughes ("uint16", "StopCount", None, None, "Number of Color stops."), 5466*e1fe3e4aSElliott Hughes ("ColorStop", "ColorStop", "StopCount", 0, "Array of Color stops."), 5467*e1fe3e4aSElliott Hughes ], 5468*e1fe3e4aSElliott Hughes ), 5469*e1fe3e4aSElliott Hughes ( 5470*e1fe3e4aSElliott Hughes "VarColorLine", 5471*e1fe3e4aSElliott Hughes [ 5472*e1fe3e4aSElliott Hughes ( 5473*e1fe3e4aSElliott Hughes "ExtendMode", 5474*e1fe3e4aSElliott Hughes "Extend", 5475*e1fe3e4aSElliott Hughes None, 5476*e1fe3e4aSElliott Hughes None, 5477*e1fe3e4aSElliott Hughes "Enum {PAD = 0, REPEAT = 1, REFLECT = 2}", 5478*e1fe3e4aSElliott Hughes ), 5479*e1fe3e4aSElliott Hughes ("uint16", "StopCount", None, None, "Number of Color stops."), 5480*e1fe3e4aSElliott Hughes ("VarColorStop", "ColorStop", "StopCount", 0, "Array of Color stops."), 5481*e1fe3e4aSElliott Hughes ], 5482*e1fe3e4aSElliott Hughes ), 5483*e1fe3e4aSElliott Hughes # PaintColrLayers 5484*e1fe3e4aSElliott Hughes ( 5485*e1fe3e4aSElliott Hughes "PaintFormat1", 5486*e1fe3e4aSElliott Hughes [ 5487*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 1"), 5488*e1fe3e4aSElliott Hughes ( 5489*e1fe3e4aSElliott Hughes "uint8", 5490*e1fe3e4aSElliott Hughes "NumLayers", 5491*e1fe3e4aSElliott Hughes None, 5492*e1fe3e4aSElliott Hughes None, 5493*e1fe3e4aSElliott Hughes "Number of offsets to Paint to read from LayerList.", 5494*e1fe3e4aSElliott Hughes ), 5495*e1fe3e4aSElliott Hughes ("uint32", "FirstLayerIndex", None, None, "Index into LayerList."), 5496*e1fe3e4aSElliott Hughes ], 5497*e1fe3e4aSElliott Hughes ), 5498*e1fe3e4aSElliott Hughes # PaintSolid 5499*e1fe3e4aSElliott Hughes ( 5500*e1fe3e4aSElliott Hughes "PaintFormat2", 5501*e1fe3e4aSElliott Hughes [ 5502*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 2"), 5503*e1fe3e4aSElliott Hughes ("uint16", "PaletteIndex", None, None, "Index for a CPAL palette entry."), 5504*e1fe3e4aSElliott Hughes ("F2Dot14", "Alpha", None, None, "Values outsided [0.,1.] reserved"), 5505*e1fe3e4aSElliott Hughes ], 5506*e1fe3e4aSElliott Hughes ), 5507*e1fe3e4aSElliott Hughes # PaintVarSolid 5508*e1fe3e4aSElliott Hughes ( 5509*e1fe3e4aSElliott Hughes "PaintFormat3", 5510*e1fe3e4aSElliott Hughes [ 5511*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 3"), 5512*e1fe3e4aSElliott Hughes ("uint16", "PaletteIndex", None, None, "Index for a CPAL palette entry."), 5513*e1fe3e4aSElliott Hughes ( 5514*e1fe3e4aSElliott Hughes "F2Dot14", 5515*e1fe3e4aSElliott Hughes "Alpha", 5516*e1fe3e4aSElliott Hughes None, 5517*e1fe3e4aSElliott Hughes None, 5518*e1fe3e4aSElliott Hughes "Values outsided [0.,1.] reserved. VarIndexBase + 0.", 5519*e1fe3e4aSElliott Hughes ), 5520*e1fe3e4aSElliott Hughes ( 5521*e1fe3e4aSElliott Hughes "VarIndex", 5522*e1fe3e4aSElliott Hughes "VarIndexBase", 5523*e1fe3e4aSElliott Hughes None, 5524*e1fe3e4aSElliott Hughes None, 5525*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5526*e1fe3e4aSElliott Hughes ), 5527*e1fe3e4aSElliott Hughes ], 5528*e1fe3e4aSElliott Hughes ), 5529*e1fe3e4aSElliott Hughes # PaintLinearGradient 5530*e1fe3e4aSElliott Hughes ( 5531*e1fe3e4aSElliott Hughes "PaintFormat4", 5532*e1fe3e4aSElliott Hughes [ 5533*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 4"), 5534*e1fe3e4aSElliott Hughes ( 5535*e1fe3e4aSElliott Hughes "Offset24", 5536*e1fe3e4aSElliott Hughes "ColorLine", 5537*e1fe3e4aSElliott Hughes None, 5538*e1fe3e4aSElliott Hughes None, 5539*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintLinearGradient table) to ColorLine subtable.", 5540*e1fe3e4aSElliott Hughes ), 5541*e1fe3e4aSElliott Hughes ("int16", "x0", None, None, ""), 5542*e1fe3e4aSElliott Hughes ("int16", "y0", None, None, ""), 5543*e1fe3e4aSElliott Hughes ("int16", "x1", None, None, ""), 5544*e1fe3e4aSElliott Hughes ("int16", "y1", None, None, ""), 5545*e1fe3e4aSElliott Hughes ("int16", "x2", None, None, ""), 5546*e1fe3e4aSElliott Hughes ("int16", "y2", None, None, ""), 5547*e1fe3e4aSElliott Hughes ], 5548*e1fe3e4aSElliott Hughes ), 5549*e1fe3e4aSElliott Hughes # PaintVarLinearGradient 5550*e1fe3e4aSElliott Hughes ( 5551*e1fe3e4aSElliott Hughes "PaintFormat5", 5552*e1fe3e4aSElliott Hughes [ 5553*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 5"), 5554*e1fe3e4aSElliott Hughes ( 5555*e1fe3e4aSElliott Hughes "LOffset24To(VarColorLine)", 5556*e1fe3e4aSElliott Hughes "ColorLine", 5557*e1fe3e4aSElliott Hughes None, 5558*e1fe3e4aSElliott Hughes None, 5559*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarLinearGradient table) to VarColorLine subtable.", 5560*e1fe3e4aSElliott Hughes ), 5561*e1fe3e4aSElliott Hughes ("int16", "x0", None, None, "VarIndexBase + 0."), 5562*e1fe3e4aSElliott Hughes ("int16", "y0", None, None, "VarIndexBase + 1."), 5563*e1fe3e4aSElliott Hughes ("int16", "x1", None, None, "VarIndexBase + 2."), 5564*e1fe3e4aSElliott Hughes ("int16", "y1", None, None, "VarIndexBase + 3."), 5565*e1fe3e4aSElliott Hughes ("int16", "x2", None, None, "VarIndexBase + 4."), 5566*e1fe3e4aSElliott Hughes ("int16", "y2", None, None, "VarIndexBase + 5."), 5567*e1fe3e4aSElliott Hughes ( 5568*e1fe3e4aSElliott Hughes "VarIndex", 5569*e1fe3e4aSElliott Hughes "VarIndexBase", 5570*e1fe3e4aSElliott Hughes None, 5571*e1fe3e4aSElliott Hughes None, 5572*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5573*e1fe3e4aSElliott Hughes ), 5574*e1fe3e4aSElliott Hughes ], 5575*e1fe3e4aSElliott Hughes ), 5576*e1fe3e4aSElliott Hughes # PaintRadialGradient 5577*e1fe3e4aSElliott Hughes ( 5578*e1fe3e4aSElliott Hughes "PaintFormat6", 5579*e1fe3e4aSElliott Hughes [ 5580*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 6"), 5581*e1fe3e4aSElliott Hughes ( 5582*e1fe3e4aSElliott Hughes "Offset24", 5583*e1fe3e4aSElliott Hughes "ColorLine", 5584*e1fe3e4aSElliott Hughes None, 5585*e1fe3e4aSElliott Hughes None, 5586*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintRadialGradient table) to ColorLine subtable.", 5587*e1fe3e4aSElliott Hughes ), 5588*e1fe3e4aSElliott Hughes ("int16", "x0", None, None, ""), 5589*e1fe3e4aSElliott Hughes ("int16", "y0", None, None, ""), 5590*e1fe3e4aSElliott Hughes ("uint16", "r0", None, None, ""), 5591*e1fe3e4aSElliott Hughes ("int16", "x1", None, None, ""), 5592*e1fe3e4aSElliott Hughes ("int16", "y1", None, None, ""), 5593*e1fe3e4aSElliott Hughes ("uint16", "r1", None, None, ""), 5594*e1fe3e4aSElliott Hughes ], 5595*e1fe3e4aSElliott Hughes ), 5596*e1fe3e4aSElliott Hughes # PaintVarRadialGradient 5597*e1fe3e4aSElliott Hughes ( 5598*e1fe3e4aSElliott Hughes "PaintFormat7", 5599*e1fe3e4aSElliott Hughes [ 5600*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 7"), 5601*e1fe3e4aSElliott Hughes ( 5602*e1fe3e4aSElliott Hughes "LOffset24To(VarColorLine)", 5603*e1fe3e4aSElliott Hughes "ColorLine", 5604*e1fe3e4aSElliott Hughes None, 5605*e1fe3e4aSElliott Hughes None, 5606*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarRadialGradient table) to VarColorLine subtable.", 5607*e1fe3e4aSElliott Hughes ), 5608*e1fe3e4aSElliott Hughes ("int16", "x0", None, None, "VarIndexBase + 0."), 5609*e1fe3e4aSElliott Hughes ("int16", "y0", None, None, "VarIndexBase + 1."), 5610*e1fe3e4aSElliott Hughes ("uint16", "r0", None, None, "VarIndexBase + 2."), 5611*e1fe3e4aSElliott Hughes ("int16", "x1", None, None, "VarIndexBase + 3."), 5612*e1fe3e4aSElliott Hughes ("int16", "y1", None, None, "VarIndexBase + 4."), 5613*e1fe3e4aSElliott Hughes ("uint16", "r1", None, None, "VarIndexBase + 5."), 5614*e1fe3e4aSElliott Hughes ( 5615*e1fe3e4aSElliott Hughes "VarIndex", 5616*e1fe3e4aSElliott Hughes "VarIndexBase", 5617*e1fe3e4aSElliott Hughes None, 5618*e1fe3e4aSElliott Hughes None, 5619*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5620*e1fe3e4aSElliott Hughes ), 5621*e1fe3e4aSElliott Hughes ], 5622*e1fe3e4aSElliott Hughes ), 5623*e1fe3e4aSElliott Hughes # PaintSweepGradient 5624*e1fe3e4aSElliott Hughes ( 5625*e1fe3e4aSElliott Hughes "PaintFormat8", 5626*e1fe3e4aSElliott Hughes [ 5627*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 8"), 5628*e1fe3e4aSElliott Hughes ( 5629*e1fe3e4aSElliott Hughes "Offset24", 5630*e1fe3e4aSElliott Hughes "ColorLine", 5631*e1fe3e4aSElliott Hughes None, 5632*e1fe3e4aSElliott Hughes None, 5633*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintSweepGradient table) to ColorLine subtable.", 5634*e1fe3e4aSElliott Hughes ), 5635*e1fe3e4aSElliott Hughes ("int16", "centerX", None, None, "Center x coordinate."), 5636*e1fe3e4aSElliott Hughes ("int16", "centerY", None, None, "Center y coordinate."), 5637*e1fe3e4aSElliott Hughes ( 5638*e1fe3e4aSElliott Hughes "BiasedAngle", 5639*e1fe3e4aSElliott Hughes "startAngle", 5640*e1fe3e4aSElliott Hughes None, 5641*e1fe3e4aSElliott Hughes None, 5642*e1fe3e4aSElliott Hughes "Start of the angular range of the gradient.", 5643*e1fe3e4aSElliott Hughes ), 5644*e1fe3e4aSElliott Hughes ( 5645*e1fe3e4aSElliott Hughes "BiasedAngle", 5646*e1fe3e4aSElliott Hughes "endAngle", 5647*e1fe3e4aSElliott Hughes None, 5648*e1fe3e4aSElliott Hughes None, 5649*e1fe3e4aSElliott Hughes "End of the angular range of the gradient.", 5650*e1fe3e4aSElliott Hughes ), 5651*e1fe3e4aSElliott Hughes ], 5652*e1fe3e4aSElliott Hughes ), 5653*e1fe3e4aSElliott Hughes # PaintVarSweepGradient 5654*e1fe3e4aSElliott Hughes ( 5655*e1fe3e4aSElliott Hughes "PaintFormat9", 5656*e1fe3e4aSElliott Hughes [ 5657*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 9"), 5658*e1fe3e4aSElliott Hughes ( 5659*e1fe3e4aSElliott Hughes "LOffset24To(VarColorLine)", 5660*e1fe3e4aSElliott Hughes "ColorLine", 5661*e1fe3e4aSElliott Hughes None, 5662*e1fe3e4aSElliott Hughes None, 5663*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarSweepGradient table) to VarColorLine subtable.", 5664*e1fe3e4aSElliott Hughes ), 5665*e1fe3e4aSElliott Hughes ("int16", "centerX", None, None, "Center x coordinate. VarIndexBase + 0."), 5666*e1fe3e4aSElliott Hughes ("int16", "centerY", None, None, "Center y coordinate. VarIndexBase + 1."), 5667*e1fe3e4aSElliott Hughes ( 5668*e1fe3e4aSElliott Hughes "BiasedAngle", 5669*e1fe3e4aSElliott Hughes "startAngle", 5670*e1fe3e4aSElliott Hughes None, 5671*e1fe3e4aSElliott Hughes None, 5672*e1fe3e4aSElliott Hughes "Start of the angular range of the gradient. VarIndexBase + 2.", 5673*e1fe3e4aSElliott Hughes ), 5674*e1fe3e4aSElliott Hughes ( 5675*e1fe3e4aSElliott Hughes "BiasedAngle", 5676*e1fe3e4aSElliott Hughes "endAngle", 5677*e1fe3e4aSElliott Hughes None, 5678*e1fe3e4aSElliott Hughes None, 5679*e1fe3e4aSElliott Hughes "End of the angular range of the gradient. VarIndexBase + 3.", 5680*e1fe3e4aSElliott Hughes ), 5681*e1fe3e4aSElliott Hughes ( 5682*e1fe3e4aSElliott Hughes "VarIndex", 5683*e1fe3e4aSElliott Hughes "VarIndexBase", 5684*e1fe3e4aSElliott Hughes None, 5685*e1fe3e4aSElliott Hughes None, 5686*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5687*e1fe3e4aSElliott Hughes ), 5688*e1fe3e4aSElliott Hughes ], 5689*e1fe3e4aSElliott Hughes ), 5690*e1fe3e4aSElliott Hughes # PaintGlyph 5691*e1fe3e4aSElliott Hughes ( 5692*e1fe3e4aSElliott Hughes "PaintFormat10", 5693*e1fe3e4aSElliott Hughes [ 5694*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 10"), 5695*e1fe3e4aSElliott Hughes ( 5696*e1fe3e4aSElliott Hughes "Offset24", 5697*e1fe3e4aSElliott Hughes "Paint", 5698*e1fe3e4aSElliott Hughes None, 5699*e1fe3e4aSElliott Hughes None, 5700*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintGlyph table) to Paint subtable.", 5701*e1fe3e4aSElliott Hughes ), 5702*e1fe3e4aSElliott Hughes ("GlyphID", "Glyph", None, None, "Glyph ID for the source outline."), 5703*e1fe3e4aSElliott Hughes ], 5704*e1fe3e4aSElliott Hughes ), 5705*e1fe3e4aSElliott Hughes # PaintColrGlyph 5706*e1fe3e4aSElliott Hughes ( 5707*e1fe3e4aSElliott Hughes "PaintFormat11", 5708*e1fe3e4aSElliott Hughes [ 5709*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 11"), 5710*e1fe3e4aSElliott Hughes ( 5711*e1fe3e4aSElliott Hughes "GlyphID", 5712*e1fe3e4aSElliott Hughes "Glyph", 5713*e1fe3e4aSElliott Hughes None, 5714*e1fe3e4aSElliott Hughes None, 5715*e1fe3e4aSElliott Hughes "Virtual glyph ID for a BaseGlyphList base glyph.", 5716*e1fe3e4aSElliott Hughes ), 5717*e1fe3e4aSElliott Hughes ], 5718*e1fe3e4aSElliott Hughes ), 5719*e1fe3e4aSElliott Hughes # PaintTransform 5720*e1fe3e4aSElliott Hughes ( 5721*e1fe3e4aSElliott Hughes "PaintFormat12", 5722*e1fe3e4aSElliott Hughes [ 5723*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 12"), 5724*e1fe3e4aSElliott Hughes ( 5725*e1fe3e4aSElliott Hughes "Offset24", 5726*e1fe3e4aSElliott Hughes "Paint", 5727*e1fe3e4aSElliott Hughes None, 5728*e1fe3e4aSElliott Hughes None, 5729*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintTransform table) to Paint subtable.", 5730*e1fe3e4aSElliott Hughes ), 5731*e1fe3e4aSElliott Hughes ( 5732*e1fe3e4aSElliott Hughes "LOffset24To(Affine2x3)", 5733*e1fe3e4aSElliott Hughes "Transform", 5734*e1fe3e4aSElliott Hughes None, 5735*e1fe3e4aSElliott Hughes None, 5736*e1fe3e4aSElliott Hughes "2x3 matrix for 2D affine transformations.", 5737*e1fe3e4aSElliott Hughes ), 5738*e1fe3e4aSElliott Hughes ], 5739*e1fe3e4aSElliott Hughes ), 5740*e1fe3e4aSElliott Hughes # PaintVarTransform 5741*e1fe3e4aSElliott Hughes ( 5742*e1fe3e4aSElliott Hughes "PaintFormat13", 5743*e1fe3e4aSElliott Hughes [ 5744*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 13"), 5745*e1fe3e4aSElliott Hughes ( 5746*e1fe3e4aSElliott Hughes "Offset24", 5747*e1fe3e4aSElliott Hughes "Paint", 5748*e1fe3e4aSElliott Hughes None, 5749*e1fe3e4aSElliott Hughes None, 5750*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarTransform table) to Paint subtable.", 5751*e1fe3e4aSElliott Hughes ), 5752*e1fe3e4aSElliott Hughes ( 5753*e1fe3e4aSElliott Hughes "LOffset24To(VarAffine2x3)", 5754*e1fe3e4aSElliott Hughes "Transform", 5755*e1fe3e4aSElliott Hughes None, 5756*e1fe3e4aSElliott Hughes None, 5757*e1fe3e4aSElliott Hughes "2x3 matrix for 2D affine transformations.", 5758*e1fe3e4aSElliott Hughes ), 5759*e1fe3e4aSElliott Hughes ], 5760*e1fe3e4aSElliott Hughes ), 5761*e1fe3e4aSElliott Hughes # PaintTranslate 5762*e1fe3e4aSElliott Hughes ( 5763*e1fe3e4aSElliott Hughes "PaintFormat14", 5764*e1fe3e4aSElliott Hughes [ 5765*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 14"), 5766*e1fe3e4aSElliott Hughes ( 5767*e1fe3e4aSElliott Hughes "Offset24", 5768*e1fe3e4aSElliott Hughes "Paint", 5769*e1fe3e4aSElliott Hughes None, 5770*e1fe3e4aSElliott Hughes None, 5771*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintTranslate table) to Paint subtable.", 5772*e1fe3e4aSElliott Hughes ), 5773*e1fe3e4aSElliott Hughes ("int16", "dx", None, None, "Translation in x direction."), 5774*e1fe3e4aSElliott Hughes ("int16", "dy", None, None, "Translation in y direction."), 5775*e1fe3e4aSElliott Hughes ], 5776*e1fe3e4aSElliott Hughes ), 5777*e1fe3e4aSElliott Hughes # PaintVarTranslate 5778*e1fe3e4aSElliott Hughes ( 5779*e1fe3e4aSElliott Hughes "PaintFormat15", 5780*e1fe3e4aSElliott Hughes [ 5781*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 15"), 5782*e1fe3e4aSElliott Hughes ( 5783*e1fe3e4aSElliott Hughes "Offset24", 5784*e1fe3e4aSElliott Hughes "Paint", 5785*e1fe3e4aSElliott Hughes None, 5786*e1fe3e4aSElliott Hughes None, 5787*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarTranslate table) to Paint subtable.", 5788*e1fe3e4aSElliott Hughes ), 5789*e1fe3e4aSElliott Hughes ( 5790*e1fe3e4aSElliott Hughes "int16", 5791*e1fe3e4aSElliott Hughes "dx", 5792*e1fe3e4aSElliott Hughes None, 5793*e1fe3e4aSElliott Hughes None, 5794*e1fe3e4aSElliott Hughes "Translation in x direction. VarIndexBase + 0.", 5795*e1fe3e4aSElliott Hughes ), 5796*e1fe3e4aSElliott Hughes ( 5797*e1fe3e4aSElliott Hughes "int16", 5798*e1fe3e4aSElliott Hughes "dy", 5799*e1fe3e4aSElliott Hughes None, 5800*e1fe3e4aSElliott Hughes None, 5801*e1fe3e4aSElliott Hughes "Translation in y direction. VarIndexBase + 1.", 5802*e1fe3e4aSElliott Hughes ), 5803*e1fe3e4aSElliott Hughes ( 5804*e1fe3e4aSElliott Hughes "VarIndex", 5805*e1fe3e4aSElliott Hughes "VarIndexBase", 5806*e1fe3e4aSElliott Hughes None, 5807*e1fe3e4aSElliott Hughes None, 5808*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5809*e1fe3e4aSElliott Hughes ), 5810*e1fe3e4aSElliott Hughes ], 5811*e1fe3e4aSElliott Hughes ), 5812*e1fe3e4aSElliott Hughes # PaintScale 5813*e1fe3e4aSElliott Hughes ( 5814*e1fe3e4aSElliott Hughes "PaintFormat16", 5815*e1fe3e4aSElliott Hughes [ 5816*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 16"), 5817*e1fe3e4aSElliott Hughes ( 5818*e1fe3e4aSElliott Hughes "Offset24", 5819*e1fe3e4aSElliott Hughes "Paint", 5820*e1fe3e4aSElliott Hughes None, 5821*e1fe3e4aSElliott Hughes None, 5822*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintScale table) to Paint subtable.", 5823*e1fe3e4aSElliott Hughes ), 5824*e1fe3e4aSElliott Hughes ("F2Dot14", "scaleX", None, None, ""), 5825*e1fe3e4aSElliott Hughes ("F2Dot14", "scaleY", None, None, ""), 5826*e1fe3e4aSElliott Hughes ], 5827*e1fe3e4aSElliott Hughes ), 5828*e1fe3e4aSElliott Hughes # PaintVarScale 5829*e1fe3e4aSElliott Hughes ( 5830*e1fe3e4aSElliott Hughes "PaintFormat17", 5831*e1fe3e4aSElliott Hughes [ 5832*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 17"), 5833*e1fe3e4aSElliott Hughes ( 5834*e1fe3e4aSElliott Hughes "Offset24", 5835*e1fe3e4aSElliott Hughes "Paint", 5836*e1fe3e4aSElliott Hughes None, 5837*e1fe3e4aSElliott Hughes None, 5838*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarScale table) to Paint subtable.", 5839*e1fe3e4aSElliott Hughes ), 5840*e1fe3e4aSElliott Hughes ("F2Dot14", "scaleX", None, None, "VarIndexBase + 0."), 5841*e1fe3e4aSElliott Hughes ("F2Dot14", "scaleY", None, None, "VarIndexBase + 1."), 5842*e1fe3e4aSElliott Hughes ( 5843*e1fe3e4aSElliott Hughes "VarIndex", 5844*e1fe3e4aSElliott Hughes "VarIndexBase", 5845*e1fe3e4aSElliott Hughes None, 5846*e1fe3e4aSElliott Hughes None, 5847*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5848*e1fe3e4aSElliott Hughes ), 5849*e1fe3e4aSElliott Hughes ], 5850*e1fe3e4aSElliott Hughes ), 5851*e1fe3e4aSElliott Hughes # PaintScaleAroundCenter 5852*e1fe3e4aSElliott Hughes ( 5853*e1fe3e4aSElliott Hughes "PaintFormat18", 5854*e1fe3e4aSElliott Hughes [ 5855*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 18"), 5856*e1fe3e4aSElliott Hughes ( 5857*e1fe3e4aSElliott Hughes "Offset24", 5858*e1fe3e4aSElliott Hughes "Paint", 5859*e1fe3e4aSElliott Hughes None, 5860*e1fe3e4aSElliott Hughes None, 5861*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintScaleAroundCenter table) to Paint subtable.", 5862*e1fe3e4aSElliott Hughes ), 5863*e1fe3e4aSElliott Hughes ("F2Dot14", "scaleX", None, None, ""), 5864*e1fe3e4aSElliott Hughes ("F2Dot14", "scaleY", None, None, ""), 5865*e1fe3e4aSElliott Hughes ("int16", "centerX", None, None, ""), 5866*e1fe3e4aSElliott Hughes ("int16", "centerY", None, None, ""), 5867*e1fe3e4aSElliott Hughes ], 5868*e1fe3e4aSElliott Hughes ), 5869*e1fe3e4aSElliott Hughes # PaintVarScaleAroundCenter 5870*e1fe3e4aSElliott Hughes ( 5871*e1fe3e4aSElliott Hughes "PaintFormat19", 5872*e1fe3e4aSElliott Hughes [ 5873*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 19"), 5874*e1fe3e4aSElliott Hughes ( 5875*e1fe3e4aSElliott Hughes "Offset24", 5876*e1fe3e4aSElliott Hughes "Paint", 5877*e1fe3e4aSElliott Hughes None, 5878*e1fe3e4aSElliott Hughes None, 5879*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarScaleAroundCenter table) to Paint subtable.", 5880*e1fe3e4aSElliott Hughes ), 5881*e1fe3e4aSElliott Hughes ("F2Dot14", "scaleX", None, None, "VarIndexBase + 0."), 5882*e1fe3e4aSElliott Hughes ("F2Dot14", "scaleY", None, None, "VarIndexBase + 1."), 5883*e1fe3e4aSElliott Hughes ("int16", "centerX", None, None, "VarIndexBase + 2."), 5884*e1fe3e4aSElliott Hughes ("int16", "centerY", None, None, "VarIndexBase + 3."), 5885*e1fe3e4aSElliott Hughes ( 5886*e1fe3e4aSElliott Hughes "VarIndex", 5887*e1fe3e4aSElliott Hughes "VarIndexBase", 5888*e1fe3e4aSElliott Hughes None, 5889*e1fe3e4aSElliott Hughes None, 5890*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5891*e1fe3e4aSElliott Hughes ), 5892*e1fe3e4aSElliott Hughes ], 5893*e1fe3e4aSElliott Hughes ), 5894*e1fe3e4aSElliott Hughes # PaintScaleUniform 5895*e1fe3e4aSElliott Hughes ( 5896*e1fe3e4aSElliott Hughes "PaintFormat20", 5897*e1fe3e4aSElliott Hughes [ 5898*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 20"), 5899*e1fe3e4aSElliott Hughes ( 5900*e1fe3e4aSElliott Hughes "Offset24", 5901*e1fe3e4aSElliott Hughes "Paint", 5902*e1fe3e4aSElliott Hughes None, 5903*e1fe3e4aSElliott Hughes None, 5904*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintScaleUniform table) to Paint subtable.", 5905*e1fe3e4aSElliott Hughes ), 5906*e1fe3e4aSElliott Hughes ("F2Dot14", "scale", None, None, ""), 5907*e1fe3e4aSElliott Hughes ], 5908*e1fe3e4aSElliott Hughes ), 5909*e1fe3e4aSElliott Hughes # PaintVarScaleUniform 5910*e1fe3e4aSElliott Hughes ( 5911*e1fe3e4aSElliott Hughes "PaintFormat21", 5912*e1fe3e4aSElliott Hughes [ 5913*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 21"), 5914*e1fe3e4aSElliott Hughes ( 5915*e1fe3e4aSElliott Hughes "Offset24", 5916*e1fe3e4aSElliott Hughes "Paint", 5917*e1fe3e4aSElliott Hughes None, 5918*e1fe3e4aSElliott Hughes None, 5919*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarScaleUniform table) to Paint subtable.", 5920*e1fe3e4aSElliott Hughes ), 5921*e1fe3e4aSElliott Hughes ("F2Dot14", "scale", None, None, "VarIndexBase + 0."), 5922*e1fe3e4aSElliott Hughes ( 5923*e1fe3e4aSElliott Hughes "VarIndex", 5924*e1fe3e4aSElliott Hughes "VarIndexBase", 5925*e1fe3e4aSElliott Hughes None, 5926*e1fe3e4aSElliott Hughes None, 5927*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5928*e1fe3e4aSElliott Hughes ), 5929*e1fe3e4aSElliott Hughes ], 5930*e1fe3e4aSElliott Hughes ), 5931*e1fe3e4aSElliott Hughes # PaintScaleUniformAroundCenter 5932*e1fe3e4aSElliott Hughes ( 5933*e1fe3e4aSElliott Hughes "PaintFormat22", 5934*e1fe3e4aSElliott Hughes [ 5935*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 22"), 5936*e1fe3e4aSElliott Hughes ( 5937*e1fe3e4aSElliott Hughes "Offset24", 5938*e1fe3e4aSElliott Hughes "Paint", 5939*e1fe3e4aSElliott Hughes None, 5940*e1fe3e4aSElliott Hughes None, 5941*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintScaleUniformAroundCenter table) to Paint subtable.", 5942*e1fe3e4aSElliott Hughes ), 5943*e1fe3e4aSElliott Hughes ("F2Dot14", "scale", None, None, ""), 5944*e1fe3e4aSElliott Hughes ("int16", "centerX", None, None, ""), 5945*e1fe3e4aSElliott Hughes ("int16", "centerY", None, None, ""), 5946*e1fe3e4aSElliott Hughes ], 5947*e1fe3e4aSElliott Hughes ), 5948*e1fe3e4aSElliott Hughes # PaintVarScaleUniformAroundCenter 5949*e1fe3e4aSElliott Hughes ( 5950*e1fe3e4aSElliott Hughes "PaintFormat23", 5951*e1fe3e4aSElliott Hughes [ 5952*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 23"), 5953*e1fe3e4aSElliott Hughes ( 5954*e1fe3e4aSElliott Hughes "Offset24", 5955*e1fe3e4aSElliott Hughes "Paint", 5956*e1fe3e4aSElliott Hughes None, 5957*e1fe3e4aSElliott Hughes None, 5958*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarScaleUniformAroundCenter table) to Paint subtable.", 5959*e1fe3e4aSElliott Hughes ), 5960*e1fe3e4aSElliott Hughes ("F2Dot14", "scale", None, None, "VarIndexBase + 0"), 5961*e1fe3e4aSElliott Hughes ("int16", "centerX", None, None, "VarIndexBase + 1"), 5962*e1fe3e4aSElliott Hughes ("int16", "centerY", None, None, "VarIndexBase + 2"), 5963*e1fe3e4aSElliott Hughes ( 5964*e1fe3e4aSElliott Hughes "VarIndex", 5965*e1fe3e4aSElliott Hughes "VarIndexBase", 5966*e1fe3e4aSElliott Hughes None, 5967*e1fe3e4aSElliott Hughes None, 5968*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 5969*e1fe3e4aSElliott Hughes ), 5970*e1fe3e4aSElliott Hughes ], 5971*e1fe3e4aSElliott Hughes ), 5972*e1fe3e4aSElliott Hughes # PaintRotate 5973*e1fe3e4aSElliott Hughes ( 5974*e1fe3e4aSElliott Hughes "PaintFormat24", 5975*e1fe3e4aSElliott Hughes [ 5976*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 24"), 5977*e1fe3e4aSElliott Hughes ( 5978*e1fe3e4aSElliott Hughes "Offset24", 5979*e1fe3e4aSElliott Hughes "Paint", 5980*e1fe3e4aSElliott Hughes None, 5981*e1fe3e4aSElliott Hughes None, 5982*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintRotate table) to Paint subtable.", 5983*e1fe3e4aSElliott Hughes ), 5984*e1fe3e4aSElliott Hughes ("Angle", "angle", None, None, ""), 5985*e1fe3e4aSElliott Hughes ], 5986*e1fe3e4aSElliott Hughes ), 5987*e1fe3e4aSElliott Hughes # PaintVarRotate 5988*e1fe3e4aSElliott Hughes ( 5989*e1fe3e4aSElliott Hughes "PaintFormat25", 5990*e1fe3e4aSElliott Hughes [ 5991*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 25"), 5992*e1fe3e4aSElliott Hughes ( 5993*e1fe3e4aSElliott Hughes "Offset24", 5994*e1fe3e4aSElliott Hughes "Paint", 5995*e1fe3e4aSElliott Hughes None, 5996*e1fe3e4aSElliott Hughes None, 5997*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarRotate table) to Paint subtable.", 5998*e1fe3e4aSElliott Hughes ), 5999*e1fe3e4aSElliott Hughes ("Angle", "angle", None, None, "VarIndexBase + 0."), 6000*e1fe3e4aSElliott Hughes ( 6001*e1fe3e4aSElliott Hughes "VarIndex", 6002*e1fe3e4aSElliott Hughes "VarIndexBase", 6003*e1fe3e4aSElliott Hughes None, 6004*e1fe3e4aSElliott Hughes None, 6005*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 6006*e1fe3e4aSElliott Hughes ), 6007*e1fe3e4aSElliott Hughes ], 6008*e1fe3e4aSElliott Hughes ), 6009*e1fe3e4aSElliott Hughes # PaintRotateAroundCenter 6010*e1fe3e4aSElliott Hughes ( 6011*e1fe3e4aSElliott Hughes "PaintFormat26", 6012*e1fe3e4aSElliott Hughes [ 6013*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 26"), 6014*e1fe3e4aSElliott Hughes ( 6015*e1fe3e4aSElliott Hughes "Offset24", 6016*e1fe3e4aSElliott Hughes "Paint", 6017*e1fe3e4aSElliott Hughes None, 6018*e1fe3e4aSElliott Hughes None, 6019*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintRotateAroundCenter table) to Paint subtable.", 6020*e1fe3e4aSElliott Hughes ), 6021*e1fe3e4aSElliott Hughes ("Angle", "angle", None, None, ""), 6022*e1fe3e4aSElliott Hughes ("int16", "centerX", None, None, ""), 6023*e1fe3e4aSElliott Hughes ("int16", "centerY", None, None, ""), 6024*e1fe3e4aSElliott Hughes ], 6025*e1fe3e4aSElliott Hughes ), 6026*e1fe3e4aSElliott Hughes # PaintVarRotateAroundCenter 6027*e1fe3e4aSElliott Hughes ( 6028*e1fe3e4aSElliott Hughes "PaintFormat27", 6029*e1fe3e4aSElliott Hughes [ 6030*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 27"), 6031*e1fe3e4aSElliott Hughes ( 6032*e1fe3e4aSElliott Hughes "Offset24", 6033*e1fe3e4aSElliott Hughes "Paint", 6034*e1fe3e4aSElliott Hughes None, 6035*e1fe3e4aSElliott Hughes None, 6036*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarRotateAroundCenter table) to Paint subtable.", 6037*e1fe3e4aSElliott Hughes ), 6038*e1fe3e4aSElliott Hughes ("Angle", "angle", None, None, "VarIndexBase + 0."), 6039*e1fe3e4aSElliott Hughes ("int16", "centerX", None, None, "VarIndexBase + 1."), 6040*e1fe3e4aSElliott Hughes ("int16", "centerY", None, None, "VarIndexBase + 2."), 6041*e1fe3e4aSElliott Hughes ( 6042*e1fe3e4aSElliott Hughes "VarIndex", 6043*e1fe3e4aSElliott Hughes "VarIndexBase", 6044*e1fe3e4aSElliott Hughes None, 6045*e1fe3e4aSElliott Hughes None, 6046*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 6047*e1fe3e4aSElliott Hughes ), 6048*e1fe3e4aSElliott Hughes ], 6049*e1fe3e4aSElliott Hughes ), 6050*e1fe3e4aSElliott Hughes # PaintSkew 6051*e1fe3e4aSElliott Hughes ( 6052*e1fe3e4aSElliott Hughes "PaintFormat28", 6053*e1fe3e4aSElliott Hughes [ 6054*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 28"), 6055*e1fe3e4aSElliott Hughes ( 6056*e1fe3e4aSElliott Hughes "Offset24", 6057*e1fe3e4aSElliott Hughes "Paint", 6058*e1fe3e4aSElliott Hughes None, 6059*e1fe3e4aSElliott Hughes None, 6060*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintSkew table) to Paint subtable.", 6061*e1fe3e4aSElliott Hughes ), 6062*e1fe3e4aSElliott Hughes ("Angle", "xSkewAngle", None, None, ""), 6063*e1fe3e4aSElliott Hughes ("Angle", "ySkewAngle", None, None, ""), 6064*e1fe3e4aSElliott Hughes ], 6065*e1fe3e4aSElliott Hughes ), 6066*e1fe3e4aSElliott Hughes # PaintVarSkew 6067*e1fe3e4aSElliott Hughes ( 6068*e1fe3e4aSElliott Hughes "PaintFormat29", 6069*e1fe3e4aSElliott Hughes [ 6070*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 29"), 6071*e1fe3e4aSElliott Hughes ( 6072*e1fe3e4aSElliott Hughes "Offset24", 6073*e1fe3e4aSElliott Hughes "Paint", 6074*e1fe3e4aSElliott Hughes None, 6075*e1fe3e4aSElliott Hughes None, 6076*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarSkew table) to Paint subtable.", 6077*e1fe3e4aSElliott Hughes ), 6078*e1fe3e4aSElliott Hughes ("Angle", "xSkewAngle", None, None, "VarIndexBase + 0."), 6079*e1fe3e4aSElliott Hughes ("Angle", "ySkewAngle", None, None, "VarIndexBase + 1."), 6080*e1fe3e4aSElliott Hughes ( 6081*e1fe3e4aSElliott Hughes "VarIndex", 6082*e1fe3e4aSElliott Hughes "VarIndexBase", 6083*e1fe3e4aSElliott Hughes None, 6084*e1fe3e4aSElliott Hughes None, 6085*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 6086*e1fe3e4aSElliott Hughes ), 6087*e1fe3e4aSElliott Hughes ], 6088*e1fe3e4aSElliott Hughes ), 6089*e1fe3e4aSElliott Hughes # PaintSkewAroundCenter 6090*e1fe3e4aSElliott Hughes ( 6091*e1fe3e4aSElliott Hughes "PaintFormat30", 6092*e1fe3e4aSElliott Hughes [ 6093*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 30"), 6094*e1fe3e4aSElliott Hughes ( 6095*e1fe3e4aSElliott Hughes "Offset24", 6096*e1fe3e4aSElliott Hughes "Paint", 6097*e1fe3e4aSElliott Hughes None, 6098*e1fe3e4aSElliott Hughes None, 6099*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintSkewAroundCenter table) to Paint subtable.", 6100*e1fe3e4aSElliott Hughes ), 6101*e1fe3e4aSElliott Hughes ("Angle", "xSkewAngle", None, None, ""), 6102*e1fe3e4aSElliott Hughes ("Angle", "ySkewAngle", None, None, ""), 6103*e1fe3e4aSElliott Hughes ("int16", "centerX", None, None, ""), 6104*e1fe3e4aSElliott Hughes ("int16", "centerY", None, None, ""), 6105*e1fe3e4aSElliott Hughes ], 6106*e1fe3e4aSElliott Hughes ), 6107*e1fe3e4aSElliott Hughes # PaintVarSkewAroundCenter 6108*e1fe3e4aSElliott Hughes ( 6109*e1fe3e4aSElliott Hughes "PaintFormat31", 6110*e1fe3e4aSElliott Hughes [ 6111*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 31"), 6112*e1fe3e4aSElliott Hughes ( 6113*e1fe3e4aSElliott Hughes "Offset24", 6114*e1fe3e4aSElliott Hughes "Paint", 6115*e1fe3e4aSElliott Hughes None, 6116*e1fe3e4aSElliott Hughes None, 6117*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintVarSkewAroundCenter table) to Paint subtable.", 6118*e1fe3e4aSElliott Hughes ), 6119*e1fe3e4aSElliott Hughes ("Angle", "xSkewAngle", None, None, "VarIndexBase + 0."), 6120*e1fe3e4aSElliott Hughes ("Angle", "ySkewAngle", None, None, "VarIndexBase + 1."), 6121*e1fe3e4aSElliott Hughes ("int16", "centerX", None, None, "VarIndexBase + 2."), 6122*e1fe3e4aSElliott Hughes ("int16", "centerY", None, None, "VarIndexBase + 3."), 6123*e1fe3e4aSElliott Hughes ( 6124*e1fe3e4aSElliott Hughes "VarIndex", 6125*e1fe3e4aSElliott Hughes "VarIndexBase", 6126*e1fe3e4aSElliott Hughes None, 6127*e1fe3e4aSElliott Hughes None, 6128*e1fe3e4aSElliott Hughes "Base index into DeltaSetIndexMap.", 6129*e1fe3e4aSElliott Hughes ), 6130*e1fe3e4aSElliott Hughes ], 6131*e1fe3e4aSElliott Hughes ), 6132*e1fe3e4aSElliott Hughes # PaintComposite 6133*e1fe3e4aSElliott Hughes ( 6134*e1fe3e4aSElliott Hughes "PaintFormat32", 6135*e1fe3e4aSElliott Hughes [ 6136*e1fe3e4aSElliott Hughes ("uint8", "PaintFormat", None, None, "Format identifier-format = 32"), 6137*e1fe3e4aSElliott Hughes ( 6138*e1fe3e4aSElliott Hughes "LOffset24To(Paint)", 6139*e1fe3e4aSElliott Hughes "SourcePaint", 6140*e1fe3e4aSElliott Hughes None, 6141*e1fe3e4aSElliott Hughes None, 6142*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintComposite table) to source Paint subtable.", 6143*e1fe3e4aSElliott Hughes ), 6144*e1fe3e4aSElliott Hughes ( 6145*e1fe3e4aSElliott Hughes "CompositeMode", 6146*e1fe3e4aSElliott Hughes "CompositeMode", 6147*e1fe3e4aSElliott Hughes None, 6148*e1fe3e4aSElliott Hughes None, 6149*e1fe3e4aSElliott Hughes "A CompositeMode enumeration value.", 6150*e1fe3e4aSElliott Hughes ), 6151*e1fe3e4aSElliott Hughes ( 6152*e1fe3e4aSElliott Hughes "LOffset24To(Paint)", 6153*e1fe3e4aSElliott Hughes "BackdropPaint", 6154*e1fe3e4aSElliott Hughes None, 6155*e1fe3e4aSElliott Hughes None, 6156*e1fe3e4aSElliott Hughes "Offset (from beginning of PaintComposite table) to backdrop Paint subtable.", 6157*e1fe3e4aSElliott Hughes ), 6158*e1fe3e4aSElliott Hughes ], 6159*e1fe3e4aSElliott Hughes ), 6160*e1fe3e4aSElliott Hughes # 6161*e1fe3e4aSElliott Hughes # avar 6162*e1fe3e4aSElliott Hughes # 6163*e1fe3e4aSElliott Hughes ( 6164*e1fe3e4aSElliott Hughes "AxisValueMap", 6165*e1fe3e4aSElliott Hughes [ 6166*e1fe3e4aSElliott Hughes ( 6167*e1fe3e4aSElliott Hughes "F2Dot14", 6168*e1fe3e4aSElliott Hughes "FromCoordinate", 6169*e1fe3e4aSElliott Hughes None, 6170*e1fe3e4aSElliott Hughes None, 6171*e1fe3e4aSElliott Hughes "A normalized coordinate value obtained using default normalization", 6172*e1fe3e4aSElliott Hughes ), 6173*e1fe3e4aSElliott Hughes ( 6174*e1fe3e4aSElliott Hughes "F2Dot14", 6175*e1fe3e4aSElliott Hughes "ToCoordinate", 6176*e1fe3e4aSElliott Hughes None, 6177*e1fe3e4aSElliott Hughes None, 6178*e1fe3e4aSElliott Hughes "The modified, normalized coordinate value", 6179*e1fe3e4aSElliott Hughes ), 6180*e1fe3e4aSElliott Hughes ], 6181*e1fe3e4aSElliott Hughes ), 6182*e1fe3e4aSElliott Hughes ( 6183*e1fe3e4aSElliott Hughes "AxisSegmentMap", 6184*e1fe3e4aSElliott Hughes [ 6185*e1fe3e4aSElliott Hughes ( 6186*e1fe3e4aSElliott Hughes "uint16", 6187*e1fe3e4aSElliott Hughes "PositionMapCount", 6188*e1fe3e4aSElliott Hughes None, 6189*e1fe3e4aSElliott Hughes None, 6190*e1fe3e4aSElliott Hughes "The number of correspondence pairs for this axis", 6191*e1fe3e4aSElliott Hughes ), 6192*e1fe3e4aSElliott Hughes ( 6193*e1fe3e4aSElliott Hughes "AxisValueMap", 6194*e1fe3e4aSElliott Hughes "AxisValueMap", 6195*e1fe3e4aSElliott Hughes "PositionMapCount", 6196*e1fe3e4aSElliott Hughes 0, 6197*e1fe3e4aSElliott Hughes "The array of axis value map records for this axis", 6198*e1fe3e4aSElliott Hughes ), 6199*e1fe3e4aSElliott Hughes ], 6200*e1fe3e4aSElliott Hughes ), 6201*e1fe3e4aSElliott Hughes ( 6202*e1fe3e4aSElliott Hughes "avar", 6203*e1fe3e4aSElliott Hughes [ 6204*e1fe3e4aSElliott Hughes ( 6205*e1fe3e4aSElliott Hughes "Version", 6206*e1fe3e4aSElliott Hughes "Version", 6207*e1fe3e4aSElliott Hughes None, 6208*e1fe3e4aSElliott Hughes None, 6209*e1fe3e4aSElliott Hughes "Version of the avar table- 0x00010000 or 0x00020000", 6210*e1fe3e4aSElliott Hughes ), 6211*e1fe3e4aSElliott Hughes ("uint16", "Reserved", None, None, "Permanently reserved; set to zero"), 6212*e1fe3e4aSElliott Hughes ( 6213*e1fe3e4aSElliott Hughes "uint16", 6214*e1fe3e4aSElliott Hughes "AxisCount", 6215*e1fe3e4aSElliott Hughes None, 6216*e1fe3e4aSElliott Hughes None, 6217*e1fe3e4aSElliott Hughes 'The number of variation axes for this font. This must be the same number as axisCount in the "fvar" table', 6218*e1fe3e4aSElliott Hughes ), 6219*e1fe3e4aSElliott Hughes ( 6220*e1fe3e4aSElliott Hughes "AxisSegmentMap", 6221*e1fe3e4aSElliott Hughes "AxisSegmentMap", 6222*e1fe3e4aSElliott Hughes "AxisCount", 6223*e1fe3e4aSElliott Hughes 0, 6224*e1fe3e4aSElliott Hughes 'The segment maps array — one segment map for each axis, in the order of axes specified in the "fvar" table', 6225*e1fe3e4aSElliott Hughes ), 6226*e1fe3e4aSElliott Hughes ( 6227*e1fe3e4aSElliott Hughes "LOffsetTo(DeltaSetIndexMap)", 6228*e1fe3e4aSElliott Hughes "VarIdxMap", 6229*e1fe3e4aSElliott Hughes None, 6230*e1fe3e4aSElliott Hughes "Version >= 0x00020000", 6231*e1fe3e4aSElliott Hughes "", 6232*e1fe3e4aSElliott Hughes ), 6233*e1fe3e4aSElliott Hughes ("LOffset", "VarStore", None, "Version >= 0x00020000", ""), 6234*e1fe3e4aSElliott Hughes ], 6235*e1fe3e4aSElliott Hughes ), 6236*e1fe3e4aSElliott Hughes] 6237