Font Validator Report - Jonova-BoldItalic.ttf

Show Info Pass Warning Error
Run DateTime: Monday, 13 January 2025 21:16
Machine Name: fv-az1436-523
Font file: fonts/ttf/Jonova-BoldItalic.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:53


Index: 0, Jonova Bold Italic, Version 2.103 beta, 01/13/2025


Table Tag Table Offset Table Length Table Checksum
GDEF 0x00040bac 0x0000021c 0xb841aacf
GPOS 0x00040dc8 0x00001622 0x5a5dfaf7
GSUB 0x000423ec 0x00000ea4 0xa8fe392d
OS/2 0x000001a8 0x00000060 0xf1d9343e
cmap 0x0000135c 0x00000c4a 0x70ad2ffc
cvt 0x00002214 0x0000002a 0x046e09cc
fpgm 0x00001fa8 0x00000173 0x066d9c37
gasp 0x00040ba4 0x00000008 0x00000010
glyf 0x00003398 0x0003a2c2 0x31a433b7
head 0x0000012c 0x00000036 0x126c576f
hhea 0x00000164 0x00000024 0x0d340e04
hmtx 0x00000208 0x00001152 0x08868fd2
loca 0x00002240 0x00001158 0x05f1fdef
maxp 0x00000188 0x00000020 0x071615ad
meta 0x00043290 0x0000003a 0x739582ff
name 0x0003d65c 0x000009b4 0x026f13f5
post 0x0003e010 0x00002b94 0x3e3557d8
prep 0x0000211c 0x000000f6 0xbff37954

General Font Information
Error code Message Details
P0011 The numTables field is non-zero 18
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
P0021 Tables are in optimal order


GDEF

Error code Message Details
P4006 The version numbers 0x00010000 or 0x0001002 are okay 0x00010002
P4002 All header offsets point within the table
P4003 The Coverage offset is nonzero and points within the GDEF table LigCaretList
P4005 The offsets in the CaretValue array are valid LigCaretList, LigGlyph[0]
P4005 The offsets in the CaretValue array are valid LigCaretList, LigGlyph[1]
P4005 The offsets in the CaretValue array are valid LigCaretList, LigGlyph[2]
P4005 The offsets in the CaretValue array are valid LigCaretList, LigGlyph[3]
P4005 The offsets in the CaretValue array are valid LigCaretList, LigGlyph[4]
P4004 The offsets in the LigGlyph array are valid LigCaretList
I4000 The MarkSetCount of the GDEF table MarkGlyphSetsDef: MarkSetCount=1
P4007 The MarkGlyphSetsDefTable of the GDEF table is okay MarkGlyphSetsDef


GPOS

Error code Message Details
P4132 The version number is 0x00010000
P4115 All header offsets point within the table
P5500 The LangSysTable is valid ScriptList, ScriptRecord[0](DFLT), ScriptTable, DefaultLangSysTable
P5900 The Script Table is valid ScriptList, ScriptRecord[0](DFLT), ScriptTable
P5500 The LangSysTable is valid ScriptList, ScriptRecord[1](cyrl), ScriptTable, DefaultLangSysTable
P5900 The Script Table is valid ScriptList, ScriptRecord[1](cyrl), ScriptTable
P5500 The LangSysTable is valid ScriptList, ScriptRecord[2](grek), ScriptTable, DefaultLangSysTable
P5900 The Script Table is valid ScriptList, ScriptRecord[2](grek), ScriptTable
P5500 The LangSysTable is valid ScriptList, ScriptRecord[3](latn), ScriptTable, DefaultLangSysTable
P5900 The Script Table is valid ScriptList, ScriptRecord[3](latn), ScriptTable
P5800 The ScriptList Table is valid ScriptList
P5400 The Feature table is valid FeatureList, FeatureRecord[0](kern), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[1](mark), FeatureTable
P5300 The FeatureList table is valid FeatureList
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[1]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[2]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[3]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[4]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[5]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[6]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[7]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[8]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[9]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[10]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[11]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[12]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[13]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[14]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[15]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[16]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[17]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[18]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[19]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[20]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[21]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[22]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[23]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[24]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[25]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[26]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[27]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[28]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[29]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[30]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[31]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[32]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[33]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[34]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[35]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[36]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[37]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[38]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[39]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[40]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[41]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[42]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[43]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[44]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[45]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[46]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[47]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[48]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[49]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[50]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[51]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[52]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[53]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[54]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[55]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[56]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[57]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[58]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[59]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[60]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[61]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[62]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[63]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[64]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[65]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[66]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[67]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[68]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[69]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[70]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[71]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[72]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[73]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[74]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[75]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[76]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[77]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[78]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[79]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[80]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[81]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[82]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[83]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[84]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[85]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[86]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[87]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[88]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[89]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[90]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[91]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[92]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[93]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[94]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[95]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[96]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[97]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[98]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[99]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[100]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[101]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[102]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[103]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[104]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[105]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[106]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[107]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[108]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[109]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[110]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[111]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[112]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[113]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[114]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[115]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[116]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[117]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[118]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[119]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[120]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[121]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[122]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[123]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[124]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[125]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[126]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[127]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[128]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[129]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[130]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[131]
P4125 The PairSet table is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[132]
P4124 The PairPos subtable is valid LookupList, Lookup[0], SubTable[0](PairPos, fmt 1)
P4124 The PairPos subtable is valid LookupList, Lookup[0], SubTable[1](PairPos, fmt 2)
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[0]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[1]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[2]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[3]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[4]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[5]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[6]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[7]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[8]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[9]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[10]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[11]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[12]
P4125 The PairSet table is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1), PairSet[13]
P4124 The PairPos subtable is valid LookupList, Lookup[1], SubTable[0](PairPos, fmt 1)
P4101 The BaseArray table is valid LookupList, Lookup[2], SubTable[0](MarkBasePos), BaseArray
P4121 The MarkBasePos subtable is valid LookupList, Lookup[2], SubTable[0](MarkBasePos)
P4101 The BaseArray table is valid LookupList, Lookup[3], SubTable[0](MarkBasePos), BaseArray
P4121 The MarkBasePos subtable is valid LookupList, Lookup[3], SubTable[0](MarkBasePos)
P4101 The BaseArray table is valid LookupList, Lookup[4], SubTable[0](MarkBasePos), BaseArray
P4121 The MarkBasePos subtable is valid LookupList, Lookup[4], SubTable[0](MarkBasePos)
P4101 The BaseArray table is valid LookupList, Lookup[5], SubTable[0](MarkBasePos), BaseArray
P4121 The MarkBasePos subtable is valid LookupList, Lookup[5], SubTable[0](MarkBasePos)
P4101 The BaseArray table is valid LookupList, Lookup[6], SubTable[0](MarkBasePos), BaseArray
P4121 The MarkBasePos subtable is valid LookupList, Lookup[6], SubTable[0](MarkBasePos)
P4101 The BaseArray table is valid LookupList, Lookup[7], SubTable[0](MarkBasePos), BaseArray
P4121 The MarkBasePos subtable is valid LookupList, Lookup[7], SubTable[0](MarkBasePos)
P4101 The BaseArray table is valid LookupList, Lookup[8], SubTable[0](MarkBasePos), BaseArray
P4121 The MarkBasePos subtable is valid LookupList, Lookup[8], SubTable[0](MarkBasePos)
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](DFLT), ScriptTable, DefaultLangSysTable
P5900 The Script Table is valid ScriptList, ScriptRecord[0](DFLT), ScriptTable
P5500 The LangSysTable is valid ScriptList, ScriptRecord[1](cyrl), ScriptTable, DefaultLangSysTable
P5900 The Script Table is valid ScriptList, ScriptRecord[1](cyrl), ScriptTable
P5500 The LangSysTable is valid ScriptList, ScriptRecord[2](grek), ScriptTable, DefaultLangSysTable
P5900 The Script Table is valid ScriptList, ScriptRecord[2](grek), ScriptTable
P5500 The LangSysTable is valid ScriptList, ScriptRecord[3](latn), ScriptTable, DefaultLangSysTable
P5900 The Script Table is valid ScriptList, ScriptRecord[3](latn), ScriptTable
P5800 The ScriptList Table is valid ScriptList
P5400 The Feature table is valid FeatureList, FeatureRecord[0](ccmp), FeatureTable
P5400 The Feature table is valid FeatureList, FeatureRecord[1](liga), FeatureTable
P5300 The FeatureList table is valid FeatureList
P4205 The LigatureSubst subtable is valid LookupList, Lookup[0], SubTable[0](LigatureSubst, fmt 1)
P4205 The LigatureSubst subtable is valid LookupList, Lookup[1], SubTable[0](LigatureSubst, fmt 1)
P4201 The ChainContextSubst subtable is valid LookupList, Lookup[2], SubTable[0](ChainContextSubst, fmt 3)
P4201 The ChainContextSubst subtable is valid LookupList, Lookup[2], SubTable[1](ChainContextSubst, fmt 3)
P4201 The ChainContextSubst subtable is valid LookupList, Lookup[2], SubTable[2](ChainContextSubst, fmt 3)
P4201 The ChainContextSubst subtable is valid LookupList, Lookup[2], SubTable[3](ChainContextSubst, fmt 3)
P4201 The ChainContextSubst subtable is valid LookupList, Lookup[2], SubTable[4](ChainContextSubst, fmt 3)
P4201 The ChainContextSubst subtable is valid LookupList, Lookup[2], SubTable[5](ChainContextSubst, fmt 3)
P4201 The ChainContextSubst subtable is valid LookupList, Lookup[2], SubTable[6](ChainContextSubst, fmt 3)
P4201 The ChainContextSubst subtable is valid LookupList, Lookup[2], SubTable[7](ChainContextSubst, fmt 3)
P4205 The LigatureSubst subtable is valid LookupList, Lookup[3], SubTable[0](LigatureSubst, fmt 1)
P4207 The SingleSubst subtable is valid LookupList, Lookup[4], SubTable[0](SingleSubst, fmt 2)
P4205 The LigatureSubst subtable is valid LookupList, Lookup[5], 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 4
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 700
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
E2101 There are undefined bits set in fsSelection field Bit(s) 7
P2100 The usFirstCharIndex and usLastCharIndex fields are valid first = 0x0020, last = 0xfb02
W2117 The value of sTypoAscender minus sTypoDescender is greater than unitsPerEm sTypoAscender = 2012, sTypoDescender = -574
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #0, Latin 1 (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #1, Latin 2 (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #2, Cyrillic (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #3, Greek (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #4, Turkish (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #7, Baltic (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #8, Vietnamese (missing chars: U00AD U01A0 U01AF U01A1 U01B0 U20AB)
W2100 A CodePage bit is clear in ulCodePageRange, but the font contains all of the printable characters from that codepage bit #29, Mac character set
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #48, IBM Greek (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #50, MS-DOS Nordic (missing chars: U20A7)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #54, MS-DOS Icelandic (missing chars: U20A7)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #55, MS-DOS Portuguese (missing chars: U20A7)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #56, IBM Turkish (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #57, IBM Cyrillic (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #58, Latin 2 (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #59, MS-DOS Baltic (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #62, WE/Latin 1 (missing chars: U00AD)
W2101 A CodePage bit is set in ulCodePageRange, but the font is missing some of the printable characters from that codepage bit #63, US (missing chars: U20A7)
P2101 The CodePage Range fields' bits are all allowable values
P2110 The sxHeight field is nonzero 1004
P2105 The sCapHeight field is nonzero 1464
P2116 The usDefaultChar field is zero
P2114 The usBreakChar is mapped to a glyf
P2124 The usMaxContext field matches the calculated value 4


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 = 0, EncID = 3, Fmt = 4
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
W0307 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)
E1111 Intersecting contours Glyph index 20
I1111 Unable to perform test due to previously detected errors Glyph index 20 Test: ValidateSimpContMisor
E1111 Intersecting contours Glyph index 31
I1111 Unable to perform test due to previously detected errors Glyph index 31 Test: ValidateSimpContMisor
W1110 Intersecting components of composite glyph Glyph index 375
W1112 Not all extremes are marked with the on-curve control points Glyph index 447
W1112 Not all extremes are marked with the on-curve control points Glyph index 942
W1112 Not all extremes are marked with the on-curve control points Glyph index 946
W1112 Not all extremes are marked with the on-curve control points Glyph index 955
E1111 Intersecting contours Glyph index 969
I1111 Unable to perform test due to previously detected errors Glyph index 969 Test: ValidateSimpContMisor
W1111 Duplicated knots Glyph index 978
W1111 Duplicated knots Glyph index 979
E1111 Intersecting contours Glyph index 979
I1111 Unable to perform test due to previously detected errors Glyph index 979 Test: ValidateSimpContMisor
W1111 Duplicated knots Glyph index 980
W1111 Duplicated knots Glyph index 982
W1111 Duplicated knots Glyph index 984
W1111 Duplicated knots Glyph index 986
E1110 Misoriented contour Glyph index 986


head

Error code Message Details
P1323 Table length is 54 bytes
P1324 The table version number is 0x00010000
P1330 fontRevision is consistent with the font's version string 2.103
P1307 Font checksum is correct 0xb86546af
P1321 The magic number is 0x5f0f3cf5
W1302 Non-linear scaling flag (bit 4) is set, but hdmx table is not present
W1303 Non-linear scaling flag (bit 4) is set, but 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 = 3416375365 (Wednesday, 04 April 2012 09:09)
P1322 The modified time is not zero modified = 3819647277 (Monday, 13 January 2025 21:07)
P1327 The xMin value matches the minimum glyph xMin xMin = -1174
P1329 The yMin value matches the minimum glyph yMin yMin = -566
P1326 The xMax value matches the maximum glyph xMax xMax = 2178
P1328 The yMax value matches the maximum glyph yMax yMax = 2262
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 1
P1311 The indexToLocFormat value matches the loca table 1
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
P1410 Ascender is less than or equal to head.yMax
I1402 Descender should be greater than or equal to head.yMin Descender = -574, head.yMin = -566
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 = 570
I1700 Loca references a zero-length entry in the glyf table Number of glyphs that are empty = 2
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 = 1109
I1900 maxSizeOfInstructions via method #1 maxSizeOfInstructions=688, computed from the glyf table
P1900 The points, contours, and component values match the calculated values


meta

Error code Message Details
I0040 Not an OpenType table, contents not validated


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 2.103 beta"
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
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.