Font Validator Report - OpenSans-Regular.ttf

Show Info Pass Warning Error
Run DateTime: Thursday, December 26, 2019 2:05 PM
Machine Name: ARCH-X1-7
Font file: /home/famoser/Repos/pdf-generator/tests/Integration/Font/Backend/OpenSans-Regular.ttf

Error code Message Details
I0004 The file begins with an Offset Table (file contains a single font)
I0005 Total time validating file 0:00:05


Index: 0, Open Sans Regular, Version 1.10, 4/30/2017


Table Tag Table Offset Table Length Table Checksum
GDEF 0x0001757c 0x0000002e 0x0b7c0cd4
GPOS 0x000175ac 0x00000010 0x0019000c
GSUB 0x000175bc 0x000002ee 0xe3b329b8
OS/2 0x00014740 0x00000060 0xa1369ec9
cmap 0x000147a0 0x00000388 0xaebbf5fb
cvt 0x000153e8 0x000000a2 0x0f4d18a4
fpgm 0x00014b28 0x000007b4 0x7e61b611
gasp 0x0001756c 0x00000010 0x00150023
glyf 0x0000011c 0x00012fb4 0x7438994b
head 0x00013848 0x00000036 0x02ba6370
hhea 0x0001471c 0x00000024 0x0dcc0973
hmtx 0x00013880 0x00000e9a 0xe8353cdd
loca 0x000130f0 0x00000756 0x2914dcf1
maxp 0x000130d0 0x00000020 0x0543020a
name 0x0001548c 0x000001da 0x263a41d6
post 0x00015668 0x00001f03 0x7fb8096f
prep 0x000152dc 0x00000109 0x43b796a4

General Font Information
Error code Message Details
P0011 The numTables field is non-zero 17
P0010 The searchRange, entrySelector, and rangeShift fields are all valid
P0032 The directory entry tags are in ascending order
P0031 The directory entry tag names are valid
P0030 The directory entry table offsets are all multiples of 4
P0020 All required tables are present
W0022 Recommended table is missing kern
W0022 Recommended table is missing hdmx
W0022 Recommended table is missing VDMX
W0022 Recommended table is missing DSIG
P0022 No unnecessary tables are present
W0020 Tables are not in optimal order table 'maxp' precedes table 'head'


GDEF

Error code Message Details
P4006 The version numbers 0x00010000 or 0x0001002 are okay 0x00010000
P4002 All header offsets point within the table


GPOS

Error code Message Details
P4132 The version number is 0x00010000
P4115 All header offsets point within the table
P5800 The ScriptList Table is valid ScriptList
P5300 The FeatureList table is valid FeatureList
P5600 The LookupList table is valid LookupList


GSUB

Error code Message Details
P4208 The version number is 0x00010000
P4204 All header offsets point within the table
P5500 The LangSysTable is valid ScriptList, ScriptRecord[0](latn), ScriptTable, DefaultLangSysTable
P5500 The LangSysTable is valid ScriptList, ScriptRecord[0](latn), ScriptTable, LangSysRecord[0], LangSysTable
P5500 The LangSysTable is valid ScriptList, ScriptRecord[0](latn), ScriptTable, LangSysRecord[1], LangSysTable
P5900 The Script Table is valid ScriptList, ScriptRecord[0](latn), ScriptTable
P5800 The ScriptList Table is valid ScriptList
P5400 The Feature table is valid FeatureList, FeatureRecord[0](liga), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[1](liga), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[2](liga), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[3](lnum), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[4](lnum), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[5](lnum), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[6](locl), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[7](locl), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[8](onum), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[9](onum), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[10](onum), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[11](pnum), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[12](pnum), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[13](pnum), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[14](salt), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[15](salt), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[16](salt), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[17](ss01), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[18](ss01), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[19](ss01), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[20](ss02), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[21](ss02), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[22](ss02), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[23](ss03), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[24](ss03), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[25](ss03), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[26](tnum), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[27](tnum), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[28](tnum), FeatureTable
P5300 The FeatureList table is valid FeatureList
P4207 The SingleSubst subtable is valid LookupList, Lookup[0], SubTable[0](SingleSubst, fmt 2)
P4207 The SingleSubst subtable is valid LookupList, Lookup[1], SubTable[0](SingleSubst, fmt 2)
P4207 The SingleSubst subtable is valid LookupList, Lookup[2], SubTable[0](SingleSubst, fmt 1)
P4207 The SingleSubst subtable is valid LookupList, Lookup[3], SubTable[0](SingleSubst, fmt 2)
P4207 The SingleSubst subtable is valid LookupList, Lookup[4], SubTable[0](SingleSubst, fmt 1)
P4207 The SingleSubst subtable is valid LookupList, Lookup[5], SubTable[0](SingleSubst, fmt 1)
P4207 The SingleSubst subtable is valid LookupList, Lookup[6], SubTable[0](SingleSubst, fmt 1)
P4207 The SingleSubst subtable is valid LookupList, Lookup[7], SubTable[0](SingleSubst, fmt 2)
P4207 The SingleSubst subtable is valid LookupList, Lookup[8], SubTable[0](SingleSubst, fmt 2)
P4205 The LigatureSubst subtable is valid LookupList, Lookup[9], SubTable[0](LigatureSubst, fmt 1)
P5600 The LookupList table is valid LookupList


OS/2

Error code Message Details
W2106 The version number is valid, but less than 5 3
P2112 The table length matches the expected length for this version
P2120 The xAvgCharWidth field equals the calculated value
P2122 The usWeightClass is consistent with the PANOSE weight value
P2118 The usWeightClass is a valid value 400
P2119 The width class is a valid value 5
P2103 The fsType field is valid 0x0000, Installable Embedding
P2109 All subscript and superscript values appear valid
P2108 The yStrikeoutSize and yStrikeoutPosition appear valid
P2107 The sFamilyClass Class ID and Subclass ID values are in a valid range
P2104 All panose values are in a valid range
P2113 The Unicode Range fields' bits are all allowable values
P2102 The fsSelection field appears to be valid
P2100 The usFirstCharIndex and usLastCharIndex fields are valid first = 0x0020, last = 0xfffd
W2117 The value of sTypoAscender minus sTypoDescender is greater than unitsPerEm sTypoAscender = 1567, sTypoDescender = -492
P2101 The CodePage Range fields' bits are all allowable values
P2110 The sxHeight field is nonzero 1096
P2105 The sCapHeight field is nonzero 1462
P2116 The usDefaultChar field is zero
P2114 The usBreakChar is mapped to a glyf
P2124 The usMaxContext field matches the calculated value 3


cmap

Error code Message Details
P0312 The table version number is 0
P0307 Each subtable offset is within the table
P0306 Each subtable length is within the table
P0309 The subtables are in the correct order
P0302 There are no duplicate subtables
P0308 No overlapping subtables were found
P0310 Each subtable's format number is valid
P0305 The subtable internal format appears valid PlatID = 3, EncID = 1, Fmt = 4
W0302 The table does not contain any Apple subtables
W0301 Apple logo mapping test not performed, cmap 1,0 not present
P0304 Character code U+20AC, the euro character, is mapped for cmap 3,1
P0311 No characters are mapped in the Unicode Private Use area
P0314 All non mac subtables have a language field of zero


cvt

Error code Message Details
P0400 The length of the cvt table is an even number of bytes


fpgm

Error code Message Details
I0900 Validation for the fpgm table is not directly implemented, but rasterization testing will validate any executed hinting instructions


gasp

Error code Message Details
P1003 The version number is valid version = 1
P1000 All of the rangeGaspBehavior fields contain valid flags
P1002 The gaspRange array is in sorted order
P1001 The gaspRange array has a 0xFFFF sentinel
P1004 No adjacent ranges have identical flags


glyf

Error code Message Details
P1700 Correct format of loca (0 or 1)
W1110 Intersecting components of composite glyph Glyph index 135
W1110 Intersecting components of composite glyph Glyph index 137
W1110 Intersecting components of composite glyph Glyph index 169
W1110 Intersecting components of composite glyph Glyph index 198
W1110 Intersecting components of composite glyph Glyph index 199
W1110 Intersecting components of composite glyph Glyph index 218
W1110 Intersecting components of composite glyph Glyph index 219
W1110 Intersecting components of composite glyph Glyph index 240
W1110 Intersecting components of composite glyph Glyph index 241
W1110 Intersecting components of composite glyph Glyph index 288
W1110 Intersecting components of composite glyph Glyph index 289
W1110 Intersecting components of composite glyph Glyph index 308
W1110 Intersecting components of composite glyph Glyph index 309
W1112 Not all extremes are marked with the on-curve control points Glyph index 437
W1110 Intersecting components of composite glyph Glyph index 673
W1110 Intersecting components of composite glyph Glyph index 674
W1110 Intersecting components of composite glyph Glyph index 691
W1110 Intersecting components of composite glyph Glyph index 692
W1110 Intersecting components of composite glyph Glyph index 771
W1110 Intersecting components of composite glyph Glyph index 772
W1110 Intersecting components of composite glyph Glyph index 773
W1110 Intersecting components of composite glyph Glyph index 774
W1110 Intersecting components of composite glyph Glyph index 795
W1110 Intersecting components of composite glyph Glyph index 796
W1110 Intersecting components of composite glyph Glyph index 911
W1110 Intersecting components of composite glyph Glyph index 912
W1110 Intersecting components of composite glyph Glyph index 926


head

Error code Message Details
P1323 Table length is 54 bytes
P1324 The table version number is 0x00010000
W1314 fontRevision is not consistent with the font's version string revision: 1.101, version: 1.10
P1307 Font checksum is correct 0x89ee3ddf
P1321 The magic number is 0x5f0f3cf5
P1303 Non-linear scaling flag (bit 4) is clear, and hdmx table is not present
P1304 Non-linear scaling flag (bit 4) is clear, and LTSH table is not present
P1301 Reserved bit 14 of the flags field is clear
P1302 Reserved bit 15 of the flags field is clear
P1325 The unitsPerEm value is a power of two in the range 64..16384 2048
P1300 The created time is not zero created = 3375706507 (Monday, December 20, 2010 4:15 PM)
P1322 The modified time is not zero modified = 3576417493 (Sunday, April 30, 2017 5:18 PM)
P1327 The xMin value matches the minimum glyph xMin xMin = -1126
P1329 The yMin value matches the minimum glyph yMin yMin = -555
P1326 The xMax value matches the maximum glyph xMax xMax = 2466
P1328 The yMax value matches the maximum glyph yMax yMax = 2146
P1316 The macStyle bold bit matches the name table's font subfamily string
P1320 The macStyle italic bit matches the name table's font subfamily string
P1314 The macStyle bold bit matches the OS/2 fsSelection bit
P1318 The macStyle italic bit matches the OS/2 fsSelection bit
P1319 The macStyle italic bit matches the post table italic angle
P1313 The lowestRecPPEM value is in a reasonable range
P1308 The fontDirectionHint is in the range -2..2 2
P1312 The indexToLocFormat value is 0 or 1 0
P1311 The indexToLocFormat value matches the loca table 0
P1309 The glyphDataFormat value is 0


hhea

Error code Message Details
P1406 The table version number is 0x00010000
P1409 The Ascender value is greater than zero
P1411 The Descender is less than zero
I1401 Ascender should be less than or equal to head.yMax Ascender = 2189, head.yMax = 2146
I1402 Descender should be greater than or equal to head.yMin Descender = -600, head.yMin = -555
P1413 LineGap is greater than or equal to 0
P1415 Ascender is same value as OS/2.usWinAscent
P1416 Descender value is the same as OS/2.usWinDescent
P1414 The LineGap is greater to or equal the minimum recommended value
P1400 The advanceWidthMax field equals the calculated value
P1402 The minLeftSideBearing field equals the calculated value
P1403 The minRightSideBearing field equals the calculated value
P1407 The xMaxExtent field equals the calculated value
P1405 The reserved fields are all set to zero
P1401 The metricDataFormat field is set to zero
P1404 The numberOfHMetrics value is consistent with the length of the hmtx table
P1408 The caretSlope angle matches the post.italicAngle


hmtx

Error code Message Details
P1501 The size of the table matches the calculated size
P1500 The horizontal metrics are all within an allowable range of values


loca

Error code Message Details
P1700 Correct format of loca (0 or 1)
P1704 The number of entries is equal to (maxp.numGlyphs + 1)
P1705 The entries are sorted in ascending order
P1706 All entries point within range of the glyf table
W1701 Loca references a glyf entry which length is not a multiple of 4 Number of glyphs with the warning = 418
I1700 Loca references a zero-length entry in the glyf table Number of glyphs that are empty = 17
P1703 All glyphs in the glyf table are referenced by the loca table


maxp

Error code Message Details
P1905 Table version is 1.0 and a glyf table is present and no CFF table is present
P1902 Table version is 1.0 and the table is 32 bytes long
P1903 The numGlyphs value equals the number of entries in the loca array plus one numGlyphs = 938
I1900 maxSizeOfInstructions via method #1 maxSizeOfInstructions=248, computed from the glyf table
P1900 The points, contours, and component values match the calculated values


name

Error code Message Details
P2001 The format selector field is 0
P2007 No strings extended past the end of the table
P2003 The NameRecords array is in sorted order
P2006 No name records are using reserved Name IDs
E2003 The table doesn't contain strings for Mac platform
P2009 The version string is in the correct format platID = 3, encID = 1, langID = 1033, "Version 1.10"
P2004 All strings had valid Platform Specific Encoding IDs
P2002 All Microsoft unicode strings had valid Language IDs
P2008 The length of every unicode string is an even # of bytes
E2008 The PostScript string is not present for both required platforms Mac Postscript string is missing, but MS Postscript string is present
P2010 The subfamily string is consistent with the style of the font
P2015 No name record specified Unicode Variation Sequences cmap subtable PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14)
I2002 No string for Typographic Family name (Name ID 16)
I2004 No string for Typographic Subfamily name (Name ID 17)
P2012 No inconsistencies were found for Copyright strings
P2014 No inconsistencies were found for Trademark strings
P2013 No inconsistencies were found for Description strings


post

Error code Message Details
P2304 The table length is valid
P2308 The version number is valid
P2302 The italicAngle value is reasonable and consistent with other tables
P2305 The underlinePosition value is not less than hhea.Descender
P2306 The underlineThickness value is reasonable
P2301 The isFixedPitch field is consistent with other table(s) matches the hmtx and OS/2 tables
P2307 The numberOfGlyphs field equals maxp.numGlyphs
P2300 The glyphNameIndex array contains valid indexes
I2301 The post name does not match the name in the Adobe Glyph List glyph = 113, char = U+00AF, name = overscore
I2301 The post name does not match the name in the Adobe Glyph List glyph = 204, char = U+010A, name = Cdot
I2301 The post name does not match the name in the Adobe Glyph List glyph = 205, char = U+010B, name = cdot
I2301 The post name does not match the name in the Adobe Glyph List glyph = 226, char = U+0120, name = Gdot
I2301 The post name does not match the name in the Adobe Glyph List glyph = 227, char = U+0121, name = gdot
I2301 The post name does not match the name in the Adobe Glyph List glyph = 538, char = U+20A4, name = afii08941
I2300 The post name isn't in uniXXXX or uXXXXX format and there is no Adobe Glyph List entry glyph = 567, char = U+0237, name = dotlessj
I2301 The post name does not match the name in the Adobe Glyph List glyph = 614, char = U+0309, name = hook
I2301 The post name does not match the name in the Adobe Glyph List glyph = 615, char = U+0323, name = dotbelow
I2301 The post name does not match the name in the Adobe Glyph List glyph = 911, char = U+0162, name = Tcedilla
I2301 The post name does not match the name in the Adobe Glyph List glyph = 912, char = U+0163, name = tcedilla
P2303 The names in the post table are consistent with the Adobe Glyph List names


prep

Error code Message Details
I2400 Validation for the prep table is not directly implemented, but rasterization testing will validate any executed hinting instructions


Rasterization Test, BW

Error code Message Details
P6000 No problems were found during rasterization testing


Rasterization Test, Grayscale

Error code Message Details
P6000 No problems were found during rasterization testing


Rasterization Test, ClearType

Error code Message Details
P6000 No problems were found during rasterization testing


Note: The Font Validator's helpfile contains detailed information about each error message. The latest OpenType specification is available at the Microsoft Typography website.