[1] Staatliches-Regular.ttf:fire: FAIL: Checking with Microsoft Font Validator.
* [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037)
* :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 274
* :information_source: **INFO** Microsoft Font Validator returned an error code. Output follows :
fonts/Staatliches-Regular.ttf (file 1 of 1)
Table Test: DSIG
Table Test: GDEF
Table Test: GPOS
Table Test: GSUB
Table Test: OS/2
Table Test: cmap
Table Test: cvt
Table Test: fpgm
Table Test: gasp
Table Test: glyf
Progress: Validating glyph with index 0 (out of 424 glyphs)
Progress: Validating glyph with index 100 (out of 424 glyphs)
Progress: Validating glyph with index 200 (out of 424 glyphs)
Progress: Validating glyph with index 300 (out of 424 glyphs)
Progress: Validating glyph with index 400 (out of 424 glyphs)
Table Test: head
Table Test: hhea
Table Test: hmtx
Table Test: loca
Table Test: maxp
Table Test: name
Table Test: post
Table Test: prep
Complete: fonts/Staatliches-Regular.ttf.report.xml
Reports are ready!
* :information_source: **INFO** MS-FonVal: The file begins with an Offset Table (file contains a single font)
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Latin Extended-B', 13 characters are present
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Spacing Modifier Letters', 8 characters are present
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Combining Diacritical Marks', 15 characters are present
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Greek', 2 characters are present
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Latin Extended Additional', 8 characters are present
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'General Punctuation', 16 characters are present
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Superscripts and Subscripts', 1 characters are present
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Currency Symbols', 1 characters are present
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Letterlike Symbols', 1 characters are present
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 9 characters are present in the ranges: Mathematical Operators, Supplemental Mathematical Operators, Mathematical Symbols A, Mathematical Symbols B
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Geometric Shapes', 1 characters are present
* :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Alphabetic Presentation Forms', 2 characters are present
* :information_source: **INFO** MS-FonVal: Validation for the fpgm table is not directly implemented, but rasterization testing will validate any executed hinting instructions
* :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 274 Test: ValidateSimpContMisor
* :information_source: **INFO** MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 4
* :information_source: **INFO** MS-FonVal: No string for Typographic Family name (Name ID 16)
* :information_source: **INFO** MS-FonVal: No string for Typographic Subfamily name (Name ID 17)
* :information_source: **INFO** MS-FonVal: Validation for the prep table is not directly implemented, but rasterization testing will validate any executed hinting instructions
* :information_source: **INFO** MS-FonVal: Rasterization not selected for validation
* :information_source: **INFO** MS-FonVal: Total time validating file DETAILS: 0:00:06
* :bread: **PASS** MS-FonVal: The numTables field is non-zero DETAILS: 18
* :bread: **PASS** MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid
* :bread: **PASS** MS-FonVal: The directory entry tags are in ascending order
* :bread: **PASS** MS-FonVal: The directory entry tag names are valid
* :bread: **PASS** MS-FonVal: The directory entry table offsets are all multiples of 4
* :bread: **PASS** MS-FonVal: All required tables are present
* :bread: **PASS** MS-FonVal: No unnecessary tables are present
* :bread: **PASS** MS-FonVal: All signature blocks were in format 1
* :bread: **PASS** MS-FonVal: All signature blocks' reserved values were 0
* :bread: **PASS** MS-FonVal: The digital signature of the file verified correctly
* :bread: **PASS** MS-FonVal: The version numbers 0x00010000 or 0x0001002 are okay DETAILS: 0x00010000
* :bread: **PASS** MS-FonVal: All header offsets point within the table
* :bread: **PASS** MS-FonVal: The version number is 0x00010000
* :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable, DefaultLangSysTable
* :bread: **PASS** MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable
* :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, DefaultLangSysTable
* :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[0], LangSysTable
* :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[1], LangSysTable
* :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[2], LangSysTable
* :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[3], LangSysTable
* :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[4], LangSysTable
* :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[5], LangSysTable
* :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[6], LangSysTable
* :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[7], LangSysTable
* :bread: **PASS** MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable
* :bread: **PASS** MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[0](kern), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[1](kern), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[2](kern), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[3](kern), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[4](kern), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[5](kern), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[6](kern), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[7](kern), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[8](kern), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[9](kern), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[10](mark), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[11](mark), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[12](mark), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[13](mark), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[14](mark), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[15](mark), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[16](mark), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[17](mark), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[18](mark), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[19](mark), FeatureTable
* :bread: **PASS** MS-FonVal: The FeatureList table is valid DETAILS: FeatureList
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[1]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[2]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[3]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[4]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[5]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[6]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[7]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[8]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[9]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[10]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[11]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[12]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[13]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[14]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[15]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[16]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[17]
* :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1)
* :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[1](PairPos, fmt 2)
* :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[2](PairPos, fmt 2)
* :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[3](PairPos, fmt 2)
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[0]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[1]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[2]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[3]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[4]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[5]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[6]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[7]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[8]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[9]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[10]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[11]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[12]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[13]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[14]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[15]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[16]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[17]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[18]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[19]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[20]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[21]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[22]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[23]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[24]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[25]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[26]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[27]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[28]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[29]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[30]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[31]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[32]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[33]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[34]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[35]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[36]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[37]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[38]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[39]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[40]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[41]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[42]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[43]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[44]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[45]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[46]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[47]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[48]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[49]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[50]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[51]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[52]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[53]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[54]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[55]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[56]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[57]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[58]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[59]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[60]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[61]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[62]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[63]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[64]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[65]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[66]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[67]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[68]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[69]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[70]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[71]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[72]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[73]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[74]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[75]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[76]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[77]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[78]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[79]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[80]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[81]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[82]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[83]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[84]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[85]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[86]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[87]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[88]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[89]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[90]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[91]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[92]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[93]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[94]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[95]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[96]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[97]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[98]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[99]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[100]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[101]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[102]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[103]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[104]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[105]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[106]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[107]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[108]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[109]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[110]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[111]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[112]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[113]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[114]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[115]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[116]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[117]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[118]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[119]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[120]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[121]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[122]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[123]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[124]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[125]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[126]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[127]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[128]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[129]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[130]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[131]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[132]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[133]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[134]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[135]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[136]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[137]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[138]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[139]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[140]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[141]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[142]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[143]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[144]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[145]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[146]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[147]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[148]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[149]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[150]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[151]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[152]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[153]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[154]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[155]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[156]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[157]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[158]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[159]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[160]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[161]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[162]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[163]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[164]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[165]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[166]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[167]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[168]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[169]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[170]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[171]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[172]
* :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[173]
* :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1)
* :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[1](PairPos, fmt 2)
* :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[2](PairPos, fmt 2)
* :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[3](PairPos, fmt 2)
* :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[4](PairPos, fmt 2)
* :bread: **PASS** MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[2], SubTable[0](MarkBasePos), BaseArray
* :bread: **PASS** MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[0](MarkBasePos)
* :bread: **PASS** MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[3], SubTable[0](MarkBasePos), BaseArray
* :bread: **PASS** MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[3], SubTable[0](MarkBasePos)
* :bread: **PASS** MS-FonVal: The LookupList table is valid DETAILS: LookupList
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[0](aalt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[1](aalt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[2](aalt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[3](aalt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[4](aalt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[5](aalt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[6](aalt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[7](aalt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[8](aalt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[9](aalt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[10](case), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[11](case), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[12](case), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[13](case), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[14](case), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[15](case), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[16](case), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[17](case), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[18](case), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[19](case), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[20](ccmp), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[21](ccmp), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[22](ccmp), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[23](ccmp), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[24](ccmp), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[25](ccmp), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[26](ccmp), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[27](ccmp), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[28](ccmp), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[29](ccmp), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[30](frac), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[31](frac), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[32](frac), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[33](frac), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[34](frac), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[35](frac), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[36](frac), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[37](frac), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[38](frac), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[39](frac), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[40](liga), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[41](liga), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[42](liga), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[43](liga), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[44](liga), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[45](liga), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[46](liga), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[47](liga), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[48](liga), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[49](liga), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[50](locl), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[51](locl), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[52](locl), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[53](locl), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[54](locl), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[55](locl), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[56](locl), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[57](locl), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[58](ordn), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[59](ordn), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[60](ordn), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[61](ordn), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[62](ordn), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[63](ordn), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[64](ordn), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[65](ordn), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[66](ordn), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[67](ordn), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[68](salt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[69](salt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[70](salt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[71](salt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[72](salt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[73](salt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[74](salt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[75](salt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[76](salt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[77](salt), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[78](sups), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[79](sups), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[80](sups), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[81](sups), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[82](sups), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[83](sups), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[84](sups), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[85](sups), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[86](sups), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[87](sups), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[88](zero), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[89](zero), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[90](zero), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[91](zero), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[92](zero), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[93](zero), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[94](zero), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[95](zero), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[96](zero), FeatureTable
* :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[97](zero), FeatureTable
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[0], SubTable[0](SingleSubst, fmt 2)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[1], SubTable[1](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[1], SubTable[2](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[1], SubTable[3](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[2], SubTable[0](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[2], SubTable[1](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[3], SubTable[0](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[3], SubTable[1](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[4], SubTable[0](SingleSubst, fmt 2)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[5], SubTable[0](SingleSubst, fmt 2)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[6], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[7], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[8], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[9], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[10], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[11], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[12], SubTable[0](LigatureSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[13], SubTable[0](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[13], SubTable[1](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[14], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[15], SubTable[0](LigatureSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[16], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[17], SubTable[0](LigatureSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[18], SubTable[0](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[18], SubTable[1](ChainContextSubst, fmt 3)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[19], SubTable[0](SingleSubst, fmt 2)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[20], SubTable[0](SingleSubst, fmt 2)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[21], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[22], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[23], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[24], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[25], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[26], SubTable[0](LigatureSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[27], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[28], SubTable[0](SingleSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[29], SubTable[0](LigatureSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[30], SubTable[0](SingleSubst, fmt 2)
* :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[31], SubTable[0](LigatureSubst, fmt 1)
* :bread: **PASS** MS-FonVal: The table length matches the expected length for this version
* :bread: **PASS** MS-FonVal: The xAvgCharWidth field equals the calculated value
* :bread: **PASS** MS-FonVal: The usWeightClass is a valid value DETAILS: 400
* :bread: **PASS** MS-FonVal: The width class is a valid value DETAILS: 5
* :bread: **PASS** MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding
* :bread: **PASS** MS-FonVal: All subscript and superscript values appear valid
* :bread: **PASS** MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid
* :bread: **PASS** MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range
* :bread: **PASS** MS-FonVal: All panose values are in a valid range
* :bread: **PASS** MS-FonVal: The Unicode Range fields' bits are all allowable values
* :bread: **PASS** MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x000d, last = 0xfb02
* :bread: **PASS** MS-FonVal: The sTypoAscender and sTypoDescender fields are reasonable values DETAILS: sTypoAscender = 800, sTypoDescender = -200
* :bread: **PASS** MS-FonVal: The CodePage Range fields' bits are all allowable values
* :bread: **PASS** MS-FonVal: The sxHeight field is nonzero DETAILS: 500
* :bread: **PASS** MS-FonVal: The sCapHeight field is nonzero DETAILS: 696
* :bread: **PASS** MS-FonVal: The usDefaultChar field is zero
* :bread: **PASS** MS-FonVal: The usBreakChar is mapped to a glyf
* :bread: **PASS** MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3
* :bread: **PASS** MS-FonVal: The table version number is 0
* :bread: **PASS** MS-FonVal: Each subtable offset is within the table
* :bread: **PASS** MS-FonVal: Each subtable length is within the table
* :bread: **PASS** MS-FonVal: The subtables are in the correct order
* :bread: **PASS** MS-FonVal: There are no duplicate subtables
* :bread: **PASS** MS-FonVal: No overlapping subtables were found
* :bread: **PASS** MS-FonVal: Each subtable's format number is valid
* :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: PlatID = 0, EncID = 3, Fmt = 4
* :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: PlatID = 3, EncID = 1, Fmt = 4
* :bread: **PASS** MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1
* :bread: **PASS** MS-FonVal: No characters are mapped in the Unicode Private Use area
* :bread: **PASS** MS-FonVal: All non mac subtables have a language field of zero
* :bread: **PASS** MS-FonVal: The length of the cvt table is an even number of bytes
* :bread: **PASS** MS-FonVal: The version number is valid DETAILS: version = 1
* :bread: **PASS** MS-FonVal: All of the rangeGaspBehavior fields contain valid flags
* :bread: **PASS** MS-FonVal: The gaspRange array is in sorted order
* :bread: **PASS** MS-FonVal: The gaspRange array has a 0xFFFF sentinel
* :bread: **PASS** MS-FonVal: No adjacent ranges have identical flags
* :bread: **PASS** MS-FonVal: Correct format of loca (0 or 1)
* :bread: **PASS** MS-FonVal: Table length is 54 bytes
* :bread: **PASS** MS-FonVal: The table version number is 0x00010000
* :bread: **PASS** MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.000
* :bread: **PASS** MS-FonVal: Font checksum is correct DETAILS: 0x0e386eb6
* :bread: **PASS** MS-FonVal: The magic number is 0x5f0f3cf5
* :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present
* :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present
* :bread: **PASS** MS-FonVal: Reserved bit 14 of the flags field is clear
* :bread: **PASS** MS-FonVal: Reserved bit 15 of the flags field is clear
* :bread: **PASS** MS-FonVal: The created time is not zero DETAILS: created = 3609758639 (Monday, May 21, 2018 2:43 PM)
* :bread: **PASS** MS-FonVal: The modified time is not zero DETAILS: modified = 3622341659 (Sunday, October 14, 2018 6:00 AM)
* :bread: **PASS** MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -196
* :bread: **PASS** MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -306
* :bread: **PASS** MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 986
* :bread: **PASS** MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1006
* :bread: **PASS** MS-FonVal: The macStyle bold bit matches the name table's font subfamily string
* :bread: **PASS** MS-FonVal: The macStyle italic bit matches the name table's font subfamily string
* :bread: **PASS** MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit
* :bread: **PASS** MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit
* :bread: **PASS** MS-FonVal: The macStyle italic bit matches the post table italic angle
* :bread: **PASS** MS-FonVal: The lowestRecPPEM value is in a reasonable range
* :bread: **PASS** MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2
* :bread: **PASS** MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0
* :bread: **PASS** MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0
* :bread: **PASS** MS-FonVal: The glyphDataFormat value is 0
* :bread: **PASS** MS-FonVal: The Ascender value is greater than zero
* :bread: **PASS** MS-FonVal: The Descender is less than zero
* :bread: **PASS** MS-FonVal: Ascender is less than or equal to head.yMax
* :bread: **PASS** MS-FonVal: Descender is greater than or equal to head.yMin
* :bread: **PASS** MS-FonVal: LineGap is greater than or equal to 0
* :bread: **PASS** MS-FonVal: Ascender is same value as OS/2.usWinAscent
* :bread: **PASS** MS-FonVal: Descender value is the same as OS/2.usWinDescent
* :bread: **PASS** MS-FonVal: The LineGap is greater to or equal the minimum recommended value
* :bread: **PASS** MS-FonVal: The advanceWidthMax field equals the calculated value
* :bread: **PASS** MS-FonVal: The minLeftSideBearing field equals the calculated value
* :bread: **PASS** MS-FonVal: The minRightSideBearing field equals the calculated value
* :bread: **PASS** MS-FonVal: The xMaxExtent field equals the calculated value
* :bread: **PASS** MS-FonVal: The reserved fields are all set to zero
* :bread: **PASS** MS-FonVal: The metricDataFormat field is set to zero
* :bread: **PASS** MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table
* :bread: **PASS** MS-FonVal: The caretSlope angle matches the post.italicAngle
* :bread: **PASS** MS-FonVal: The size of the table matches the calculated size
* :bread: **PASS** MS-FonVal: The horizontal metrics are all within an allowable range of values
* :bread: **PASS** MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1)
* :bread: **PASS** MS-FonVal: The entries are sorted in ascending order
* :bread: **PASS** MS-FonVal: All entries point within range of the glyf table
* :bread: **PASS** MS-FonVal: Loca references a glyf entry which length is not a multiple of 4
* :bread: **PASS** MS-FonVal: All glyphs in the glyf table are referenced by the loca table
* :bread: **PASS** MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present
* :bread: **PASS** MS-FonVal: Table version is 1.0 and the table is 32 bytes long
* :bread: **PASS** MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 424
* :bread: **PASS** MS-FonVal: The format selector field is 0
* :bread: **PASS** MS-FonVal: No strings extended past the end of the table
* :bread: **PASS** MS-FonVal: The NameRecords array is in sorted order
* :bread: **PASS** MS-FonVal: No name records are using reserved Name IDs
* :bread: **PASS** MS-FonVal: The table contains strings for both Mac and Microsoft platforms
* :bread: **PASS** MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.000; ttfautohint (v1.8)"
* :bread: **PASS** MS-FonVal: All strings had valid Platform Specific Encoding IDs
* :bread: **PASS** MS-FonVal: All Microsoft unicode strings had valid Language IDs
* :bread: **PASS** MS-FonVal: The length of every unicode string is an even # of bytes
* :bread: **PASS** MS-FonVal: The PostScript strings are correctly formatted
* :bread: **PASS** MS-FonVal: The subfamily string is consistent with the style of the font
* :bread: **PASS** MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14)
* :bread: **PASS** MS-FonVal: No inconsistencies were found for Copyright strings
* :bread: **PASS** MS-FonVal: No inconsistencies were found for Trademark strings
* :bread: **PASS** MS-FonVal: No inconsistencies were found for Description strings
* :bread: **PASS** MS-FonVal: The table length is valid
* :bread: **PASS** MS-FonVal: The version number is valid
* :bread: **PASS** MS-FonVal: The italicAngle value is reasonable and consistent with other tables
* :bread: **PASS** MS-FonVal: The underlinePosition value is not less than hhea.Descender
* :bread: **PASS** MS-FonVal: The underlineThickness value is reasonable
* :bread: **PASS** MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables
* :bread: **PASS** MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs
* :bread: **PASS** MS-FonVal: The glyphNameIndex array contains valid indexes
* :bread: **PASS** MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names
* :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: kern
* :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: hdmx
* :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: VDMX
* :warning: **WARN** MS-FonVal: Tables are not in optimal order DETAILS: table 'OS/2' precedes table 'head'
* :warning: **WARN** MS-FonVal: The version number is valid, but less than 5 DETAILS: 4
* :warning: **WARN** MS-FonVal: There are undefined bits set in fsSelection field DETAILS: Bit(s) 7
* :warning: **WARN** MS-FonVal: A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage DETAILS: bit #0, Latin 1 (missing chars: U00A4 U00B5)
* :warning: **WARN** MS-FonVal: A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage DETAILS: bit #1, Latin 2 (missing chars: U00A4 U00B5)
* :warning: **WARN** MS-FonVal: A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage DETAILS: bit #4, Turkish (missing chars: U00A4 U00B5)
* :warning: **WARN** MS-FonVal: A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage DETAILS: bit #7, Baltic (missing chars: U00A4 U00B5)
* :warning: **WARN** MS-FonVal: A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage DETAILS: bit #29, Mac character set (missing chars: U00B5 U2202 U2211 U222B U2126 U2206)
* :warning: **WARN** MS-FonVal: The table does not contain any Apple subtables
* :warning: **WARN** MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 4
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 5
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 7
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 8
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 9
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 10
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 11
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 12
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 13
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 14
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 15
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 16
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 18
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 19
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 29
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 33
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 34
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 35
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 44
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 49
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 50
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 53
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 54
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 55
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 58
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 63
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 64
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 65
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 71
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 75
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 86
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 88
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 89
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 94
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 97
* :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 100
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 102
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 104
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 108
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 114
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 117
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 122
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 123
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 124
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 125
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 126
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 127
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 128
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 129
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 130
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 131
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 132
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 133
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 136
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 138
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 139
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 140
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 141
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 142
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 143
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 144
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 145
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 146
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 147
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 149
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 150
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 160
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 164
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 165
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 166
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 175
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 180
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 181
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 184
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 185
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 186
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 189
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 195
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 196
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 197
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 200
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 203
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 207
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 217
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 219
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 220
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 225
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 228
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 232
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 234
* :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 236
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 239
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 245
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 248
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 252
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 253
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 254
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 255
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 256
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 257
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 258
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 259
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 260
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 261
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 262
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 263
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 266
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 270
* :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 287
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 289
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 290
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 291
* :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 292
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 308
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 309
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 327
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 328
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 329
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 330
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 331
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 332
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 337
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 339
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 340
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 343
* :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 343
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 346
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 347
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 348
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 349
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 350
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 352
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 358
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 361
* :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 367
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 378
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 379
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 380
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 381
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 382
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 383
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 384
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 385
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 386
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 387
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 388
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 389
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 396
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 404
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 405
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 406
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 408
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 411
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 412
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 418
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 419
* :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 421
* :warning: **WARN** MS-FonVal: The unitsPerEm value is not a power of two DETAILS: 1000
* :warning: **WARN** MS-FonVal: maxSizeOfInstructions computation not via either approved method DETAILS: glyf maxSizeOfInstructions=266, prep size=189, fpgm size=3605, whereas maxp maxSizeOfInstruction is 3605
Fontbakery report
[1] Staatliches-Regular.ttf
:fire: FAIL: Checking with Microsoft Font Validator.
* [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 274 * :information_source: **INFO** Microsoft Font Validator returned an error code. Output follows : fonts/Staatliches-Regular.ttf (file 1 of 1) Table Test: DSIG Table Test: GDEF Table Test: GPOS Table Test: GSUB Table Test: OS/2 Table Test: cmap Table Test: cvt Table Test: fpgm Table Test: gasp Table Test: glyf Progress: Validating glyph with index 0 (out of 424 glyphs) Progress: Validating glyph with index 100 (out of 424 glyphs) Progress: Validating glyph with index 200 (out of 424 glyphs) Progress: Validating glyph with index 300 (out of 424 glyphs) Progress: Validating glyph with index 400 (out of 424 glyphs) Table Test: head Table Test: hhea Table Test: hmtx Table Test: loca Table Test: maxp Table Test: name Table Test: post Table Test: prep Complete: fonts/Staatliches-Regular.ttf.report.xml Reports are ready! * :information_source: **INFO** MS-FonVal: The file begins with an Offset Table (file contains a single font) * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Latin Extended-B', 13 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Spacing Modifier Letters', 8 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Combining Diacritical Marks', 15 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Greek', 2 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Latin Extended Additional', 8 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'General Punctuation', 16 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Superscripts and Subscripts', 1 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Currency Symbols', 1 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Letterlike Symbols', 1 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 9 characters are present in the ranges: Mathematical Operators, Supplemental Mathematical Operators, Mathematical Symbols A, Mathematical Symbols B * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Geometric Shapes', 1 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Alphabetic Presentation Forms', 2 characters are present * :information_source: **INFO** MS-FonVal: Validation for the fpgm table is not directly implemented, but rasterization testing will validate any executed hinting instructions * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 274 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 4 * :information_source: **INFO** MS-FonVal: No string for Typographic Family name (Name ID 16) * :information_source: **INFO** MS-FonVal: No string for Typographic Subfamily name (Name ID 17) * :information_source: **INFO** MS-FonVal: Validation for the prep table is not directly implemented, but rasterization testing will validate any executed hinting instructions * :information_source: **INFO** MS-FonVal: Rasterization not selected for validation * :information_source: **INFO** MS-FonVal: Total time validating file DETAILS: 0:00:06 * :bread: **PASS** MS-FonVal: The numTables field is non-zero DETAILS: 18 * :bread: **PASS** MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid * :bread: **PASS** MS-FonVal: The directory entry tags are in ascending order * :bread: **PASS** MS-FonVal: The directory entry tag names are valid * :bread: **PASS** MS-FonVal: The directory entry table offsets are all multiples of 4 * :bread: **PASS** MS-FonVal: All required tables are present * :bread: **PASS** MS-FonVal: No unnecessary tables are present * :bread: **PASS** MS-FonVal: All signature blocks were in format 1 * :bread: **PASS** MS-FonVal: All signature blocks' reserved values were 0 * :bread: **PASS** MS-FonVal: The digital signature of the file verified correctly * :bread: **PASS** MS-FonVal: The version numbers 0x00010000 or 0x0001002 are okay DETAILS: 0x00010000 * :bread: **PASS** MS-FonVal: All header offsets point within the table * :bread: **PASS** MS-FonVal: The version number is 0x00010000 * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable, DefaultLangSysTable * :bread: **PASS** MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, DefaultLangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[0], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[1], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[2], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[3], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[4], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[5], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[6], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[7], LangSysTable * :bread: **PASS** MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable * :bread: **PASS** MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[0](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[1](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[2](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[3](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[4](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[5](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[6](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[7](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[8](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[9](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[10](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[11](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[12](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[13](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[14](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[15](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[16](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[17](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[18](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[19](mark), FeatureTable * :bread: **PASS** MS-FonVal: The FeatureList table is valid DETAILS: FeatureList * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[1] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[2] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[3] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[4] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[5] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[6] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[7] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[8] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[9] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[10] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[11] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[12] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[13] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[14] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[15] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[16] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[17] * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[1](PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[2](PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[3](PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[0] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[1] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[2] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[3] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[4] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[5] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[6] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[7] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[8] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[9] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[10] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[11] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[12] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[13] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[14] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[15] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[16] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[17] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[18] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[19] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[20] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[21] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[22] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[23] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[24] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[25] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[26] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[27] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[28] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[29] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[30] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[31] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[32] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[33] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[34] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[35] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[36] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[37] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[38] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[39] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[40] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[41] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[42] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[43] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[44] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[45] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[46] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[47] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[48] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[49] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[50] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[51] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[52] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[53] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[54] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[55] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[56] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[57] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[58] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[59] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[60] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[61] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[62] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[63] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[64] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[65] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[66] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[67] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[68] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[69] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[70] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[71] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[72] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[73] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[74] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[75] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[76] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[77] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[78] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[79] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[80] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[81] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[82] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[83] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[84] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[85] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[86] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[87] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[88] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[89] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[90] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[91] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[92] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[93] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[94] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[95] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[96] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[97] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[98] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[99] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[100] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[101] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[102] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[103] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[104] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[105] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[106] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[107] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[108] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[109] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[110] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[111] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[112] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[113] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[114] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[115] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[116] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[117] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[118] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[119] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[120] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[121] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[122] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[123] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[124] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[125] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[126] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[127] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[128] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[129] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[130] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[131] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[132] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[133] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[134] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[135] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[136] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[137] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[138] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[139] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[140] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[141] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[142] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[143] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[144] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[145] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[146] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[147] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[148] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[149] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[150] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[151] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[152] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[153] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[154] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[155] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[156] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[157] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[158] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[159] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[160] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[161] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[162] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[163] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[164] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[165] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[166] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[167] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[168] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[169] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[170] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[171] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[172] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[173] * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](PairPos, fmt 1) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[1](PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[2](PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[3](PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[4](PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[2], SubTable[0](MarkBasePos), BaseArray * :bread: **PASS** MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[0](MarkBasePos) * :bread: **PASS** MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[3], SubTable[0](MarkBasePos), BaseArray * :bread: **PASS** MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[3], SubTable[0](MarkBasePos) * :bread: **PASS** MS-FonVal: The LookupList table is valid DETAILS: LookupList * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[0](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[1](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[2](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[3](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[4](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[5](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[6](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[7](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[8](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[9](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[10](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[11](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[12](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[13](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[14](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[15](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[16](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[17](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[18](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[19](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[20](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[21](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[22](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[23](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[24](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[25](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[26](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[27](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[28](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[29](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[30](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[31](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[32](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[33](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[34](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[35](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[36](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[37](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[38](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[39](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[40](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[41](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[42](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[43](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[44](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[45](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[46](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[47](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[48](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[49](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[50](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[51](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[52](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[53](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[54](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[55](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[56](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[57](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[58](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[59](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[60](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[61](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[62](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[63](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[64](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[65](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[66](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[67](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[68](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[69](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[70](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[71](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[72](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[73](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[74](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[75](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[76](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[77](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[78](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[79](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[80](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[81](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[82](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[83](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[84](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[85](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[86](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[87](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[88](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[89](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[90](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[91](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[92](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[93](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[94](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[95](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[96](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[97](zero), FeatureTable * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[0], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[1], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[1], SubTable[2](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[1], SubTable[3](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[2], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[2], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[3], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[3], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[4], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[5], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[6], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[7], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[8], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[9], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[10], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[11], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[12], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[13], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[13], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[14], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[15], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[16], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[17], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[18], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[18], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[19], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[20], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[21], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[22], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[23], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[24], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[25], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[26], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[27], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[28], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[29], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[30], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[31], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The table length matches the expected length for this version * :bread: **PASS** MS-FonVal: The xAvgCharWidth field equals the calculated value * :bread: **PASS** MS-FonVal: The usWeightClass is a valid value DETAILS: 400 * :bread: **PASS** MS-FonVal: The width class is a valid value DETAILS: 5 * :bread: **PASS** MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding * :bread: **PASS** MS-FonVal: All subscript and superscript values appear valid * :bread: **PASS** MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid * :bread: **PASS** MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range * :bread: **PASS** MS-FonVal: All panose values are in a valid range * :bread: **PASS** MS-FonVal: The Unicode Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x000d, last = 0xfb02 * :bread: **PASS** MS-FonVal: The sTypoAscender and sTypoDescender fields are reasonable values DETAILS: sTypoAscender = 800, sTypoDescender = -200 * :bread: **PASS** MS-FonVal: The CodePage Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The sxHeight field is nonzero DETAILS: 500 * :bread: **PASS** MS-FonVal: The sCapHeight field is nonzero DETAILS: 696 * :bread: **PASS** MS-FonVal: The usDefaultChar field is zero * :bread: **PASS** MS-FonVal: The usBreakChar is mapped to a glyf * :bread: **PASS** MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3 * :bread: **PASS** MS-FonVal: The table version number is 0 * :bread: **PASS** MS-FonVal: Each subtable offset is within the table * :bread: **PASS** MS-FonVal: Each subtable length is within the table * :bread: **PASS** MS-FonVal: The subtables are in the correct order * :bread: **PASS** MS-FonVal: There are no duplicate subtables * :bread: **PASS** MS-FonVal: No overlapping subtables were found * :bread: **PASS** MS-FonVal: Each subtable's format number is valid * :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: PlatID = 0, EncID = 3, Fmt = 4 * :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: PlatID = 3, EncID = 1, Fmt = 4 * :bread: **PASS** MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1 * :bread: **PASS** MS-FonVal: No characters are mapped in the Unicode Private Use area * :bread: **PASS** MS-FonVal: All non mac subtables have a language field of zero * :bread: **PASS** MS-FonVal: The length of the cvt table is an even number of bytes * :bread: **PASS** MS-FonVal: The version number is valid DETAILS: version = 1 * :bread: **PASS** MS-FonVal: All of the rangeGaspBehavior fields contain valid flags * :bread: **PASS** MS-FonVal: The gaspRange array is in sorted order * :bread: **PASS** MS-FonVal: The gaspRange array has a 0xFFFF sentinel * :bread: **PASS** MS-FonVal: No adjacent ranges have identical flags * :bread: **PASS** MS-FonVal: Correct format of loca (0 or 1) * :bread: **PASS** MS-FonVal: Table length is 54 bytes * :bread: **PASS** MS-FonVal: The table version number is 0x00010000 * :bread: **PASS** MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.000 * :bread: **PASS** MS-FonVal: Font checksum is correct DETAILS: 0x0e386eb6 * :bread: **PASS** MS-FonVal: The magic number is 0x5f0f3cf5 * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present * :bread: **PASS** MS-FonVal: Reserved bit 14 of the flags field is clear * :bread: **PASS** MS-FonVal: Reserved bit 15 of the flags field is clear * :bread: **PASS** MS-FonVal: The created time is not zero DETAILS: created = 3609758639 (Monday, May 21, 2018 2:43 PM) * :bread: **PASS** MS-FonVal: The modified time is not zero DETAILS: modified = 3622341659 (Sunday, October 14, 2018 6:00 AM) * :bread: **PASS** MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -196 * :bread: **PASS** MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -306 * :bread: **PASS** MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 986 * :bread: **PASS** MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1006 * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the post table italic angle * :bread: **PASS** MS-FonVal: The lowestRecPPEM value is in a reasonable range * :bread: **PASS** MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2 * :bread: **PASS** MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0 * :bread: **PASS** MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0 * :bread: **PASS** MS-FonVal: The glyphDataFormat value is 0 * :bread: **PASS** MS-FonVal: The Ascender value is greater than zero * :bread: **PASS** MS-FonVal: The Descender is less than zero * :bread: **PASS** MS-FonVal: Ascender is less than or equal to head.yMax * :bread: **PASS** MS-FonVal: Descender is greater than or equal to head.yMin * :bread: **PASS** MS-FonVal: LineGap is greater than or equal to 0 * :bread: **PASS** MS-FonVal: Ascender is same value as OS/2.usWinAscent * :bread: **PASS** MS-FonVal: Descender value is the same as OS/2.usWinDescent * :bread: **PASS** MS-FonVal: The LineGap is greater to or equal the minimum recommended value * :bread: **PASS** MS-FonVal: The advanceWidthMax field equals the calculated value * :bread: **PASS** MS-FonVal: The minLeftSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The minRightSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The xMaxExtent field equals the calculated value * :bread: **PASS** MS-FonVal: The reserved fields are all set to zero * :bread: **PASS** MS-FonVal: The metricDataFormat field is set to zero * :bread: **PASS** MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table * :bread: **PASS** MS-FonVal: The caretSlope angle matches the post.italicAngle * :bread: **PASS** MS-FonVal: The size of the table matches the calculated size * :bread: **PASS** MS-FonVal: The horizontal metrics are all within an allowable range of values * :bread: **PASS** MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1) * :bread: **PASS** MS-FonVal: The entries are sorted in ascending order * :bread: **PASS** MS-FonVal: All entries point within range of the glyf table * :bread: **PASS** MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 * :bread: **PASS** MS-FonVal: All glyphs in the glyf table are referenced by the loca table * :bread: **PASS** MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present * :bread: **PASS** MS-FonVal: Table version is 1.0 and the table is 32 bytes long * :bread: **PASS** MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 424 * :bread: **PASS** MS-FonVal: The format selector field is 0 * :bread: **PASS** MS-FonVal: No strings extended past the end of the table * :bread: **PASS** MS-FonVal: The NameRecords array is in sorted order * :bread: **PASS** MS-FonVal: No name records are using reserved Name IDs * :bread: **PASS** MS-FonVal: The table contains strings for both Mac and Microsoft platforms * :bread: **PASS** MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.000; ttfautohint (v1.8)" * :bread: **PASS** MS-FonVal: All strings had valid Platform Specific Encoding IDs * :bread: **PASS** MS-FonVal: All Microsoft unicode strings had valid Language IDs * :bread: **PASS** MS-FonVal: The length of every unicode string is an even # of bytes * :bread: **PASS** MS-FonVal: The PostScript strings are correctly formatted * :bread: **PASS** MS-FonVal: The subfamily string is consistent with the style of the font * :bread: **PASS** MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14) * :bread: **PASS** MS-FonVal: No inconsistencies were found for Copyright strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Trademark strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Description strings * :bread: **PASS** MS-FonVal: The table length is valid * :bread: **PASS** MS-FonVal: The version number is valid * :bread: **PASS** MS-FonVal: The italicAngle value is reasonable and consistent with other tables * :bread: **PASS** MS-FonVal: The underlinePosition value is not less than hhea.Descender * :bread: **PASS** MS-FonVal: The underlineThickness value is reasonable * :bread: **PASS** MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables * :bread: **PASS** MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs * :bread: **PASS** MS-FonVal: The glyphNameIndex array contains valid indexes * :bread: **PASS** MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names * :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: kern * :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: hdmx * :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: VDMX * :warning: **WARN** MS-FonVal: Tables are not in optimal order DETAILS: table 'OS/2' precedes table 'head' * :warning: **WARN** MS-FonVal: The version number is valid, but less than 5 DETAILS: 4 * :warning: **WARN** MS-FonVal: There are undefined bits set in fsSelection field DETAILS: Bit(s) 7 * :warning: **WARN** MS-FonVal: A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage DETAILS: bit #0, Latin 1 (missing chars: U00A4 U00B5) * :warning: **WARN** MS-FonVal: A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage DETAILS: bit #1, Latin 2 (missing chars: U00A4 U00B5) * :warning: **WARN** MS-FonVal: A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage DETAILS: bit #4, Turkish (missing chars: U00A4 U00B5) * :warning: **WARN** MS-FonVal: A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage DETAILS: bit #7, Baltic (missing chars: U00A4 U00B5) * :warning: **WARN** MS-FonVal: A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage DETAILS: bit #29, Mac character set (missing chars: U00B5 U2202 U2211 U222B U2126 U2206) * :warning: **WARN** MS-FonVal: The table does not contain any Apple subtables * :warning: **WARN** MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 4 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 5 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 7 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 8 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 9 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 10 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 11 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 12 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 13 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 14 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 15 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 16 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 18 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 19 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 29 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 33 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 34 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 35 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 44 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 49 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 50 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 53 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 54 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 55 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 58 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 63 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 64 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 65 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 71 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 75 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 86 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 88 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 89 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 94 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 97 * :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 100 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 102 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 104 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 108 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 114 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 117 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 122 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 123 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 124 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 125 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 126 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 127 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 128 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 129 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 130 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 131 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 132 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 133 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 136 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 138 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 139 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 140 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 141 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 142 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 143 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 144 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 145 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 146 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 147 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 149 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 150 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 160 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 164 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 165 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 166 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 175 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 180 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 181 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 184 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 185 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 186 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 189 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 195 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 196 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 197 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 200 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 203 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 207 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 217 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 219 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 220 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 225 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 228 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 232 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 234 * :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 236 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 239 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 245 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 248 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 252 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 253 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 254 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 255 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 256 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 257 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 258 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 259 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 260 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 261 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 262 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 263 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 266 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 270 * :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 287 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 289 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 290 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 291 * :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 292 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 308 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 309 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 327 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 328 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 329 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 330 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 331 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 332 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 337 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 339 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 340 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 343 * :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 343 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 346 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 347 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 348 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 349 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 350 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 352 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 358 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 361 * :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 367 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 378 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 379 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 380 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 381 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 382 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 383 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 384 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 385 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 386 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 387 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 388 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 389 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 396 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 404 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 405 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 406 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 408 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 411 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 412 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 418 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 419 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 421 * :warning: **WARN** MS-FonVal: The unitsPerEm value is not a power of two DETAILS: 1000 * :warning: **WARN** MS-FonVal: maxSizeOfInstructions computation not via either approved method DETAILS: glyf maxSizeOfInstructions=266, prep size=189, fpgm size=3605, whereas maxp maxSizeOfInstruction is 3605Summary