Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correct FontBakery errors #2

Open
thundernixon opened this issue Oct 29, 2018 · 6 comments
Open

Correct FontBakery errors #2

thundernixon opened this issue Oct 29, 2018 · 6 comments

Comments

@thundernixon
Copy link
Owner

Fontbakery report

[22] Family checks
πŸ”₯ FAIL: Check font has a license.
  • com.google.fonts/check/028
  • πŸ”₯ FAIL No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: none]
🍞 PASS: Checking all files are in the same directory.
🍞 PASS: Fonts have equal unicode encodings?
🍞 PASS: Make sure all font files have the same version value.
🍞 PASS: Fonts have consistent PANOSE proportion?
🍞 PASS: Fonts have consistent PANOSE family type?
🍞 PASS: Fonts have consistent underline thickness?
πŸ’€ SKIP: Does DESCRIPTION file contain broken links?
πŸ’€ SKIP: Is this a proper HTML snippet?
πŸ’€ SKIP: DESCRIPTION.en_us.html must have more than 200 bytes.
πŸ’€ SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes.
πŸ’€ SKIP: Font designer field in METADATA.pb must not be 'unknown'.
πŸ’€ SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API?
πŸ’€ SKIP: METADATA.pb: check if fonts field only has unique "full_name" values.
πŸ’€ SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs.
πŸ’€ SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
πŸ’€ SKIP: METADATA.pb should contain at least "menu" and "latin" subsets.
πŸ’€ SKIP: METADATA.pb subsets should be alphabetically ordered.
πŸ’€ SKIP: METADATA.pb: Copyright notice is the same in all fonts?
πŸ’€ SKIP: Check that METADATA.pb family values are all the same.
πŸ’€ SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style.
πŸ’€ SKIP: METADATA.pb: Regular should be 400.

[111] LibreCaslonText2048-VF.ttf
πŸ”₯ FAIL: Font has ttfautohint params?
πŸ”₯ FAIL: Is 'gasp' table set to optimize rendering?
πŸ”₯ FAIL: Checking OS/2 usWinAscent & usWinDescent.
  • com.google.fonts/check/040
  • πŸ”₯ FAIL OS/2.usWinAscent value should be equal or greater than 1708, but got 1707 instead [code: ascent]
πŸ”₯ FAIL: Checking OS/2 Metrics match hhea Metrics.
πŸ”₯ FAIL: Font enables smart dropout control in "prep" table instructions?
  • com.google.fonts/check/072
  • πŸ”₯ FAIL 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script.
πŸ”₯ FAIL: Checking with Microsoft Font Validator.
  • com.google.fonts/check/037
  • πŸ”₯ FAIL MS-FonVal: The version number is neither 0x00010000 nor 0x0001002 DETAILS: 0x00010003 * πŸ”₯ FAIL MS-FonVal: The device table's DeltaFormat value is invalid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0], PairValueRecord[0], Value1, XAdvDeviceTable, DeltaFormat = 32768
  • πŸ”₯ FAIL MS-FonVal: Intersecting contours DETAILS: Glyph index 1
  • πŸ”₯ FAIL MS-FonVal: The PostScript string is not present for both required platforms DETAILS: Mac Postscript string is missing, but MS Postscript string is present
  • ℹ️ INFO Microsoft Font Validator returned an error code. Output follows :

dist/LibreCaslonText2048-VF-2018-10-29-13_24/LibreCaslonText2048-VF.ttf (file 1 of 1)
Table Test: GDEF
Table Test: GPOS
Table Test: GSUB
Table Test: OS/2
Table Test: cmap
Table Test: glyf
Progress: Validating glyph with index 0 (out of 537 glyphs)
Progress: Validating glyph with index 100 (out of 537 glyphs)
Progress: Validating glyph with index 200 (out of 537 glyphs)
Progress: Validating glyph with index 300 (out of 537 glyphs)
Progress: Validating glyph with index 400 (out of 537 glyphs)
Progress: Validating glyph with index 500 (out of 537 glyphs)
Table Test: head
Table Test: hhea
Table Test: hmtx
Table Test: loca
Table Test: maxp
Table Test: name
Table Test: post
Complete: dist/LibreCaslonText2048-VF-2018-10-29-13_24/LibreCaslonText2048-VF.ttf.report.xml
Reports are ready!

  • ℹ️ INFO MS-FonVal: The file begins with an Offset Table (file contains a single font)
  • ℹ️ INFO MS-FonVal: Not an OpenType table, contents not validated
  • ℹ️ INFO MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1 Test: ValidateSimpContMisor * ℹ️ INFO MS-FonVal: Not an OpenType table, contents not validated DETAILS: This table type is defined in the Apple TrueType spec.
  • ℹ️ INFO MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 4
  • ℹ️ INFO MS-FonVal: maxSizeOfInstructions via method Drawings to correctΒ #1 DETAILS: maxSizeOfInstructions=0, computed from the glyf table
  • ℹ️ INFO MS-FonVal: No string for Typographic Family name (Name ID 16)
  • ℹ️ INFO MS-FonVal: No string for Typographic Subfamily name (Name ID 17)
  • ℹ️ INFO MS-FonVal: The post name isn't in uniXXXX or uXXXXX format and there is no Adobe Glyph List entry DETAILS: glyph = 16, char = U+000D, name = CR
  • ℹ️ INFO MS-FonVal: The post name isn't in uniXXXX or uXXXXX format and there is no Adobe Glyph List entry DETAILS: glyph = 76, char = U+0000, name = NULL
  • ℹ️ INFO MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS: glyph = 157, char = U+02BC, name = apostrophe
  • ℹ️ INFO MS-FonVal: The post name has an unexpected value DETAILS: glyph = 196, char = U+F6C3, name = uni0326
  • ℹ️ INFO MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS: glyph = 248, char = U+FB00, name = f_f
  • ℹ️ INFO MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS: glyph = 251, char = U+FB03, name = f_f_i
  • ℹ️ INFO MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS: glyph = 254, char = U+FB04, name = f_f_l
  • ℹ️ INFO MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS: glyph = 257, char = U+FB01, name = f_i
  • ℹ️ INFO MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS: glyph = 260, char = U+FB02, name = f_l
  • ℹ️ INFO MS-FonVal: The post name has an unexpected value DETAILS: glyph = 330, char = U+00B5, name = uni03BC
  • ℹ️ INFO MS-FonVal: The post name isn't in uniXXXX or uXXXXX format and there is no Adobe Glyph List entry DETAILS: glyph = 415, char = U+FB06, name = s_t
  • ℹ️ INFO MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS: glyph = 504, char = U+03BC, name = uni03BC.1
  • ℹ️ INFO MS-FonVal: Rasterization not selected for validation
  • ℹ️ INFO MS-FonVal: Total time validating file DETAILS: 0:00:22
  • 🍞 PASS MS-FonVal: The numTables field is non-zero DETAILS: 17
  • 🍞 PASS MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid
  • 🍞 PASS MS-FonVal: The directory entry tags are in ascending order
  • 🍞 PASS MS-FonVal: The directory entry tag names are valid
  • 🍞 PASS MS-FonVal: The directory entry table offsets are all multiples of 4
  • 🍞 PASS MS-FonVal: All required tables are present
  • 🍞 PASS MS-FonVal: No unnecessary tables are present
  • 🍞 PASS MS-FonVal: Tables are in optimal order
  • 🍞 PASS MS-FonVal: All header offsets point within the table
  • 🍞 PASS MS-FonVal: The version number is 0x00010000
  • 🍞 PASS MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord0, ScriptTable, DefaultLangSysTable
  • 🍞 PASS MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord0, ScriptTable
  • 🍞 PASS MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord0, FeatureTable
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord1, FeatureTable
  • 🍞 PASS MS-FonVal: The FeatureList table is valid DETAILS: FeatureList
  • 🍞 PASS MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0] * 🍞 PASS MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1)
  • 🍞 PASS MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[1](PairPos, fmt 2)
  • 🍞 PASS MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[1], SubTable0, BaseArray
  • 🍞 PASS MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[1], SubTable0
  • 🍞 PASS MS-FonVal: The LookupList table is valid DETAILS: LookupList
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord0, FeatureTable
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord1, FeatureTable
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord2, FeatureTable
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord3, FeatureTable
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord4, FeatureTable
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord5, FeatureTable
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord6, FeatureTable
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord7, FeatureTable
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord8, FeatureTable
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord9, FeatureTable
  • 🍞 PASS MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[0], SubTable[0](LigatureSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](LigatureSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[2], SubTable[0](LigatureSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[3], SubTable[0](SingleSubst, fmt 2)
  • 🍞 PASS MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[4], SubTable[0](ChainContextSubst, fmt 3)
  • 🍞 PASS MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[4], SubTable[1](ChainContextSubst, fmt 3)
  • 🍞 PASS MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[5], SubTable[0](SingleSubst, fmt 2)
  • 🍞 PASS MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[6], SubTable[0](SingleSubst, fmt 2)
  • 🍞 PASS MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[7], SubTable[0](SingleSubst, fmt 2)
  • 🍞 PASS MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[8], SubTable[0](SingleSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[9], SubTable[0](SingleSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[10], SubTable[0](SingleSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The table length matches the expected length for this version
  • 🍞 PASS MS-FonVal: The usWeightClass is consistent with the PANOSE weight value
  • 🍞 PASS MS-FonVal: The usWeightClass is a valid value DETAILS: 400
  • 🍞 PASS MS-FonVal: The width class is a valid value DETAILS: 5
  • 🍞 PASS MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding
  • 🍞 PASS MS-FonVal: All subscript and superscript values appear valid
  • 🍞 PASS MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid
  • 🍞 PASS MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range
  • 🍞 PASS MS-FonVal: All panose values are in a valid range
  • 🍞 PASS MS-FonVal: The Unicode Range fields' bits are all allowable values
  • 🍞 PASS MS-FonVal: The fsSelection field appears to be valid
  • 🍞 PASS MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x0000, last = 0xfb06
  • 🍞 PASS MS-FonVal: The sTypoAscender and sTypoDescender fields are reasonable values DETAILS: sTypoAscender = 1443, sTypoDescender = -440
  • 🍞 PASS MS-FonVal: The CodePage Range fields' bits are all allowable values
  • 🍞 PASS MS-FonVal: The sxHeight field is nonzero DETAILS: 933
  • 🍞 PASS MS-FonVal: The sCapHeight field is nonzero DETAILS: 1355
  • 🍞 PASS MS-FonVal: The usDefaultChar field is zero
  • 🍞 PASS MS-FonVal: The usBreakChar is mapped to a glyf
  • 🍞 PASS MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3
  • 🍞 PASS MS-FonVal: The table version number is 0
  • 🍞 PASS MS-FonVal: Each subtable offset is within the table
  • 🍞 PASS MS-FonVal: Each subtable length is within the table
  • 🍞 PASS MS-FonVal: The subtables are in the correct order
  • 🍞 PASS MS-FonVal: There are no duplicate subtables
  • 🍞 PASS MS-FonVal: No overlapping subtables were found
  • 🍞 PASS MS-FonVal: Each subtable's format number is valid
  • 🍞 PASS MS-FonVal: The subtable internal format appears valid DETAILS: PlatID = 0, EncID = 3, Fmt = 4
  • 🍞 PASS MS-FonVal: The subtable internal format appears valid DETAILS: PlatID = 3, EncID = 1, Fmt = 4
  • 🍞 PASS MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1
  • 🍞 PASS MS-FonVal: All non mac subtables have a language field of zero
  • 🍞 PASS MS-FonVal: Correct format of loca (0 or 1)
  • 🍞 PASS MS-FonVal: Table length is 54 bytes
  • 🍞 PASS MS-FonVal: The table version number is 0x00010000
  • 🍞 PASS MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.002
  • 🍞 PASS MS-FonVal: Font checksum is correct DETAILS: 0x4334484d
  • 🍞 PASS MS-FonVal: The magic number is 0x5f0f3cf5
  • 🍞 PASS MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present
  • 🍞 PASS MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present
  • 🍞 PASS MS-FonVal: Reserved bit 14 of the flags field is clear
  • 🍞 PASS MS-FonVal: Reserved bit 15 of the flags field is clear
  • 🍞 PASS MS-FonVal: The unitsPerEm value is a power of two in the range 64..16384 DETAILS: 2048
  • 🍞 PASS MS-FonVal: The created time is not zero DETAILS: created = 3446022420 (Wednesday, March 13, 2013 12:27 PM)
  • 🍞 PASS MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -280
  • 🍞 PASS MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -458
  • 🍞 PASS MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 2538
  • 🍞 PASS MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1708
  • 🍞 PASS MS-FonVal: The macStyle bold bit matches the name table's font subfamily string
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the name table's font subfamily string
  • 🍞 PASS MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the post table italic angle
  • 🍞 PASS MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2
  • 🍞 PASS MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0
  • 🍞 PASS MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0
  • 🍞 PASS MS-FonVal: The glyphDataFormat value is 0
  • 🍞 PASS MS-FonVal: The Ascender value is greater than zero
  • 🍞 PASS MS-FonVal: The Descender is less than zero
  • 🍞 PASS MS-FonVal: Ascender is less than or equal to head.yMax
  • 🍞 PASS MS-FonVal: Descender is greater than or equal to head.yMin
  • 🍞 PASS MS-FonVal: LineGap is greater than or equal to 0
  • 🍞 PASS MS-FonVal: Ascender is same value as OS/2.usWinAscent
  • 🍞 PASS MS-FonVal: Descender value is the same as OS/2.usWinDescent
  • 🍞 PASS MS-FonVal: The LineGap is greater to or equal the minimum recommended value
  • 🍞 PASS MS-FonVal: The advanceWidthMax field equals the calculated value
  • 🍞 PASS MS-FonVal: The minLeftSideBearing field equals the calculated value
  • 🍞 PASS MS-FonVal: The minRightSideBearing field equals the calculated value
  • 🍞 PASS MS-FonVal: The xMaxExtent field equals the calculated value
  • 🍞 PASS MS-FonVal: The reserved fields are all set to zero
  • 🍞 PASS MS-FonVal: The metricDataFormat field is set to zero
  • 🍞 PASS MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table
  • 🍞 PASS MS-FonVal: The caretSlope angle matches the post.italicAngle
  • 🍞 PASS MS-FonVal: The size of the table matches the calculated size
  • 🍞 PASS MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1)
  • 🍞 PASS MS-FonVal: The entries are sorted in ascending order
  • 🍞 PASS MS-FonVal: All entries point within range of the glyf table
  • 🍞 PASS MS-FonVal: All glyphs in the glyf table are referenced by the loca table
  • 🍞 PASS MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present
  • 🍞 PASS MS-FonVal: Table version is 1.0 and the table is 32 bytes long
  • 🍞 PASS MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 537
  • 🍞 PASS MS-FonVal: The points, contours, and component values match the calculated values
  • 🍞 PASS MS-FonVal: The format selector field is 0
  • 🍞 PASS MS-FonVal: No strings extended past the end of the table
  • 🍞 PASS MS-FonVal: The NameRecords array is in sorted order
  • 🍞 PASS MS-FonVal: No name records are using reserved Name IDs
  • 🍞 PASS MS-FonVal: The table contains strings for both Mac and Microsoft platforms
  • 🍞 PASS MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.002"
  • 🍞 PASS MS-FonVal: All strings had valid Platform Specific Encoding IDs
  • 🍞 PASS MS-FonVal: All Microsoft unicode strings had valid Language IDs
  • 🍞 PASS MS-FonVal: The length of every unicode string is an even # of bytes
  • 🍞 PASS MS-FonVal: The subfamily string is consistent with the style of the font
  • 🍞 PASS MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14)
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Copyright strings
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Trademark strings
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Description strings
  • 🍞 PASS MS-FonVal: The table length is valid
  • 🍞 PASS MS-FonVal: The version number is valid
  • 🍞 PASS MS-FonVal: The italicAngle value is reasonable and consistent with other tables
  • 🍞 PASS MS-FonVal: The underlinePosition value is not less than hhea.Descender
  • 🍞 PASS MS-FonVal: The underlineThickness value is reasonable
  • 🍞 PASS MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables
  • 🍞 PASS MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs
  • 🍞 PASS MS-FonVal: The glyphNameIndex array contains valid indexes
  • 🍞 PASS MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names
  • ⚠️ WARN MS-FonVal: Recommended table is missing DETAILS: gasp
  • ⚠️ WARN MS-FonVal: Recommended table is missing DETAILS: kern
  • ⚠️ WARN MS-FonVal: Recommended table is missing DETAILS: hdmx
  • ⚠️ WARN MS-FonVal: Recommended table is missing DETAILS: VDMX
  • ⚠️ WARN MS-FonVal: Recommended table is missing DETAILS: DSIG
  • ⚠️ WARN MS-FonVal: The version number is valid, but less than 5 DETAILS: 4
  • ⚠️ WARN MS-FonVal: The xAvgCharWidth field does not equal the calculated value DETAILS: actual = 1030, calc = 1029
  • ⚠️ WARN MS-FonVal: The table does not contain any Apple subtables
  • ⚠️ WARN MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present
  • ⚠️ WARN MS-FonVal: Characters are mapped in the Unicode Private Use area
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 10
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 19
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 37
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 62
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 92
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 94
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 123
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 148
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 149
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 156
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 159
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 160
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 161
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 162
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 163
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 169
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 170
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 171
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 172
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 173
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 174
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 181
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 184
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 198
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 200
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 201
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 205
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 206
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 239
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 285
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 286
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 289
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 290
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 291
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 292
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 297
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 298
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 309
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 317
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 355
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 371
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 375
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 380
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 381
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 394
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 395
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 412
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 413
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 444
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 445
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 450
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 460
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: Glyph index 461
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 484
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 485
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 486
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 487
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 507
  • ⚠️ WARN MS-FonVal: The modified time is an unlikely value DETAILS: modified = 3623675719 (Monday, October 29, 2018 4:35 PM)
  • ⚠️ WARN MS-FonVal: The lowestRecPPEM value may be unreasonably small DETAILS: lowestRecPPEM = 6
  • ⚠️ WARN MS-FonVal: The leftSideBearing is greater than the advance width (unlikely value) DETAILS: glyph# 196
  • ⚠️ WARN MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 DETAILS: Number of glyphs with the warning = 155
πŸ”₯ FAIL: Does the font have a DSIG table?
  • com.google.fonts/check/045
  • πŸ”₯ FAIL This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly.
⚠️ WARN: Checking OS/2 achVendID.
⚠️ WARN: Is font em size (ideally) equal to 1000?
⚠️ WARN: Check if each glyph has the recommended amount of contours.
  • com.google.fonts/check/153
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

Glyph name: dollar Contours detected: 2 Expected: 1 or 3
Glyph name: numbersign Contours detected: 4 Expected: 2
Glyph name: plus Contours detected: 2 Expected: 1
Glyph name: E Contours detected: 2 Expected: 1
Glyph name: F Contours detected: 2 Expected: 1
Glyph name: H Contours detected: 3 Expected: 1
Glyph name: e Contours detected: 1 Expected: 2
Glyph name: f Contours detected: 2 Expected: 1
Glyph name: h Contours detected: 2 Expected: 1
Glyph name: k Contours detected: 3 Expected: 1 or 2
Glyph name: m Contours detected: 3 Expected: 1
Glyph name: n Contours detected: 2 Expected: 1
Glyph name: r Contours detected: 2 Expected: 1
Glyph name: w Contours detected: 2 Expected: 1
Glyph name: Euro Contours detected: 3 Expected: 1 or 2
Glyph name: logicalnot Contours detected: 2 Expected: 1
Glyph name: plusminus Contours detected: 3 Expected: 1 or 2
Glyph name: Egrave Contours detected: 3 Expected: 2
Glyph name: Eacute Contours detected: 3 Expected: 2
Glyph name: Ecircumflex Contours detected: 3 Expected: 2
Glyph name: Edieresis Contours detected: 4 Expected: 3
Glyph name: multiply Contours detected: 2 Expected: 1
Glyph name: germandbls Contours detected: 2 Expected: 1
Glyph name: egrave Contours detected: 2 Expected: 3
Glyph name: eacute Contours detected: 2 Expected: 3
Glyph name: ecircumflex Contours detected: 2 Expected: 3
Glyph name: edieresis Contours detected: 3 Expected: 4
Glyph name: eth Contours detected: 3 Expected: 2
Glyph name: ntilde Contours detected: 3 Expected: 2
Glyph name: ugrave Contours detected: 3 Expected: 2
Glyph name: uacute Contours detected: 3 Expected: 2
Glyph name: ucircumflex Contours detected: 3 Expected: 2
Glyph name: udieresis Contours detected: 4 Expected: 3
Glyph name: aogonek Contours detected: 3 Expected: 2
Glyph name: dcroat Contours detected: 3 Expected: 2
Glyph name: Emacron Contours detected: 3 Expected: 2
Glyph name: emacron Contours detected: 2 Expected: 3
Glyph name: Ebreve Contours detected: 3 Expected: 2
Glyph name: ebreve Contours detected: 2 Expected: 3
Glyph name: Edotaccent Contours detected: 3 Expected: 2
Glyph name: edotaccent Contours detected: 2 Expected: 3
Glyph name: Eogonek Contours detected: 3 Expected: 1 or 2
Glyph name: Ecaron Contours detected: 3 Expected: 2
Glyph name: ecaron Contours detected: 2 Expected: 3
Glyph name: Hcircumflex Contours detected: 4 Expected: 2
Glyph name: hcircumflex Contours detected: 3 Expected: 2
Glyph name: hbar Contours detected: 3 Expected: 1
Glyph name: uni0137 Contours detected: 4 Expected: 2 or 3
Glyph name: kgreenlandic Contours detected: 3 Expected: 1 or 2
Glyph name: Lslash Contours detected: 2 Expected: 1
Glyph name: lslash Contours detected: 2 Expected: 1
Glyph name: nacute Contours detected: 3 Expected: 2
Glyph name: uni0146 Contours detected: 3 Expected: 2
Glyph name: ncaron Contours detected: 3 Expected: 2
Glyph name: napostrophe Contours detected: 3 Expected: 2
Glyph name: Eng Contours detected: 4 Expected: 1
Glyph name: eng Contours detected: 3 Expected: 1
Glyph name: OE Contours detected: 3 Expected: 2
Glyph name: racute Contours detected: 3 Expected: 2
Glyph name: rcaron Contours detected: 3 Expected: 2
Glyph name: uni0157 Contours detected: 3 Expected: 2
Glyph name: Tbar Contours detected: 2 Expected: 1
Glyph name: tbar Contours detected: 2 Expected: 1
Glyph name: umacron Contours detected: 3 Expected: 2
Glyph name: ubreve Contours detected: 3 Expected: 2
Glyph name: uring Contours detected: 4 Expected: 3
Glyph name: uhungarumlaut Contours detected: 4 Expected: 3
Glyph name: Uogonek Contours detected: 2 Expected: 1
Glyph name: uogonek Contours detected: 3 Expected: 1
Glyph name: wcircumflex Contours detected: 3 Expected: 2
Glyph name: uni018F Contours detected: 1 Expected: 2
Glyph name: uni01CC Contours detected: 4 Expected: 3
Glyph name: uni01EA Contours detected: 3 Expected: 2
Glyph name: uni01EB Contours detected: 3 Expected: 2
Glyph name: u Contours detected: 2 Expected: 1
Glyph name: uni0259 Contours detected: 1 Expected: 2
Glyph name: x Contours detected: 3 Expected: 1
Glyph name: yen Contours detected: 4 Expected: 1 or 2
Glyph name: uni1E24 Contours detected: 4 Expected: 2
Glyph name: uni1E25 Contours detected: 3 Expected: 2
Glyph name: uni1E45 Contours detected: 3 Expected: 2
Glyph name: uni1E5B Contours detected: 3 Expected: 2
Glyph name: wgrave Contours detected: 3 Expected: 2
Glyph name: wacute Contours detected: 3 Expected: 2
Glyph name: wdieresis Contours detected: 4 Expected: 3
Glyph name: uni1EB8 Contours detected: 3 Expected: 2
Glyph name: uni1EB9 Contours detected: 2 Expected: 3
Glyph name: uni1EBC Contours detected: 3 Expected: 2
Glyph name: uni1EBD Contours detected: 2 Expected: 3
Glyph name: uni1EE5 Contours detected: 3 Expected: 2
Glyph name: utilde Contours detected: 3 Expected: 2

⚠️ WARN: Combined length of family and style must not exceed 20 characters.
  • com.google.fonts/check/163
  • ⚠️ WARN The combined length of family and style exceeds 20 chars in the following 'WINDOWS' entries: FONT_FAMILY_NAME = 'Libre Caslon Text 2048' / SUBFAMILY_NAME = 'Regular'
⚠️ WARN: Is there kerning info for non-ligated sequences?
  • com.google.fonts/check/065

  • ⚠️ WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • f + f
    • f + b
    • b + f
    • f + h
    • h + f
    • f + i
    • i + f
    • f + j
    • j + f
    • f + k
    • k + f
    • f + l
    • l + f
    • f + t
    • t + b
    • h + i
    • i + j
    • j + k
    • k + l
    • l + t

    [code: lacks-kern-info]

⚠️ WARN: Are there caret positions declared for every ligature?
  • com.google.fonts/check/064
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
πŸ’€ SKIP: Checking OS/2 usWeightClass.
πŸ’€ SKIP: Check copyright namerecords match license file.
πŸ’€ SKIP: Checks METADATA.pb font.name field matches family name declared on the name table.
πŸ’€ SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name value matches fullname declared on the name table?
πŸ’€ SKIP: METADATA.pb font.name value should be same as the family name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
πŸ’€ SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values?
πŸ’€ SKIP: METADATA.pb font.name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.full_name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.filename field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.post_script_name field contains font name in right format?
πŸ’€ SKIP: Copyright notice on METADATA.pb matches canonical pattern?
πŸ’€ SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'.
πŸ’€ SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars.
πŸ’€ SKIP: METADATA.pb: Filename is set canonically?
πŸ’€ SKIP: METADATA.pb font.style "italic" matches font internals?
πŸ’€ SKIP: METADATA.pb font.style "normal" matches font internals?
πŸ’€ SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
πŸ’€ SKIP: METADATA.pb: Check if fontname is not camel cased.
πŸ’€ SKIP: METADATA.pb: Check font name is the same as family name.
πŸ’€ SKIP: METADATA.pb: Check that font weight has a canonical value.
πŸ’€ SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb.
πŸ’€ SKIP: METADATA.pb weight matches postScriptName.
πŸ’€ SKIP: METADATA.pb: Font styles are named canonically?
πŸ’€ SKIP: Version number has increased since previous release on Google Fonts?
πŸ’€ SKIP: Glyphs are similiar to Google Fonts version?
πŸ’€ SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts?
πŸ’€ SKIP: Checking OS/2 fsSelection value.
πŸ’€ SKIP: Checking post.italicAngle value.
πŸ’€ SKIP: Checking head.macStyle value.
πŸ’€ SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
πŸ’€ SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
πŸ’€ SKIP: Font has all mandatory 'name' table entries ?
πŸ’€ SKIP: Check name table: FONT_FAMILY_NAME entries.
πŸ’€ SKIP: Check name table: FONT_SUBFAMILY_NAME entries.
πŸ’€ SKIP: Check name table: FULL_FONT_NAME entries.
πŸ’€ SKIP: Check name table: POSTSCRIPT_NAME entries.
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
πŸ’€ SKIP: FontForge validation outputs error messages?
πŸ’€ SKIP: FontForge checks.
πŸ’€ SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
πŸ’€ SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
ℹ️ INFO: Show hinting filesize impact.
dist/LibreCaslonText2048-VF-2018-10-29-13_24/LibreCaslonText2048-VF.ttf
Dehinted Size 124.8kb
Hinted Size 124.3kb
Increase -492 bytes
Change -0.0 %
ℹ️ INFO: Font has old ttfautohint applied?
  • com.google.fonts/check/056
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.002']
ℹ️ INFO: EPAR table present in font?
ℹ️ INFO: Check for font-v versioning
  • com.google.fonts/check/166
  • ℹ️ INFO Version string is: "Version 1.002"
    The version string must ideally include a git commit hash and either a 'dev' or a 'release' suffix such as in the example below:
    "Version 1.3; git-0d08353-release"
ℹ️ INFO: Font contains all required tables?
  • com.google.fonts/check/052
  • ℹ️ INFO This font contains the following optional tables [GPOS, GSUB, loca]
  • 🍞 PASS Font contains all required tables.
🍞 PASS: Checking file is named canonically.
  • com.google.fonts/check/001
  • 🍞 PASS dist/LibreCaslonText2048-VF-2018-10-29-13_24/LibreCaslonText2048-VF.ttf is named canonically.
🍞 PASS: Fonts have equal numbers of glyphs?
🍞 PASS: Fonts have equal glyph names?
🍞 PASS: Checking OS/2 fsType.
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
  • com.google.fonts/check/019
  • 🍞 PASS No need to substitute copyright, registered and trademark symbols in name table entries of this font.
🍞 PASS: "License URL matches License text on name table?
🍞 PASS: Description strings in the name table must not exceed 200 characters.
🍞 PASS: Version format is correct in 'name' table?
🍞 PASS: Make sure family name does not begin with a digit.
🍞 PASS: Font has all expected currency sign characters?
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
🍞 PASS: Length of copyright notice must not exceed 500 characters.
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
🍞 PASS: Check a static ttf can be generated from a variable font.
🍞 PASS: Checking with ftxvalidator.
🍞 PASS: Checking with ots-sanitize.
🍞 PASS: Font contains .notdef as first glyph?
  • com.google.fonts/check/046
  • 🍞 PASS Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
🍞 PASS: Font contains glyphs for whitespace characters?
🍞 PASS: Font has **proper** whitespace glyph names?
🍞 PASS: Whitespace glyphs have ink?
🍞 PASS: Are there unwanted tables?
🍞 PASS: Glyph names are all valid?
🍞 PASS: Font contains unique glyph names?
🍞 PASS: Checking with fontTools.ttx
🍞 PASS: Check glyphs have unique unicode codepoints.
🍞 PASS: Check all glyphs have codepoints assigned.
🍞 PASS: Checking unitsPerEm value is reasonable.
🍞 PASS: Checking font version fields (head and name table).
🍞 PASS: Check if OS/2 xAvgCharWidth is correct.
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
🍞 PASS: Description strings in the name table must not contain copyright info.
🍞 PASS: Checking correctness of monospaced metadata.
🍞 PASS: Name table entries should not contain line-breaks.
🍞 PASS: Does full font name begin with the font family name?
🍞 PASS: Font follows the family naming recommendations?
🍞 PASS: Name table strings must not contain the string 'Reserved Font Name'.
🍞 PASS: Checking Vertical Metric Linegaps.
🍞 PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
🍞 PASS: Whitespace and non-breaking space have the same width?
🍞 PASS: Does GPOS table have kerning information?
🍞 PASS: Is there a "kern" table declared in the font?
🍞 PASS: Is there any unused data at the end of the glyf table?
🍞 PASS: Check for points out of bounds.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?

Summary

πŸ’” ERROR πŸ”₯ FAIL ⚠️ WARN πŸ’€ SKIP ℹ️ INFO 🍞 PASS
0 8 6 62 5 52
0% 6% 5% 47% 4% 39%
@thundernixon
Copy link
Owner Author

Fontbakery report

[23] Family checks
πŸ”₯ FAIL: Check font has a license.
  • com.google.fonts/check/028
  • πŸ”₯ FAIL No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: none]
🍞 PASS: Checking all files are in the same directory.
🍞 PASS: Fonts have equal unicode encodings?
🍞 PASS: Make sure all font files have the same version value.
🍞 PASS: Fonts have consistent PANOSE proportion?
🍞 PASS: Fonts have consistent PANOSE family type?
🍞 PASS: Fonts have consistent underline thickness?
πŸ’€ SKIP: Copyright notice is the same in all fonts?
πŸ’€ SKIP: Check that METADATA family values are all the same.
πŸ’€ SKIP: METADATA.pb should contain at least "menu" and "latin" subsets.
πŸ’€ SKIP: METADATA.pb subsets should be alphabetically ordered.
πŸ’€ SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs.
πŸ’€ SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
πŸ’€ SKIP: METADATA.pb: check if fonts field only has unique "full_name" values.
πŸ’€ SKIP: METADATA.pb: Ensure designer simple short name.
πŸ’€ SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API?
πŸ’€ SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes.
πŸ’€ SKIP: Font designer field in METADATA.pb must not be 'unknown'.
πŸ’€ SKIP: Is this a proper HTML snippet?
πŸ’€ SKIP: DESCRIPTION.en_us.html must have more than 200 bytes.
πŸ’€ SKIP: Does DESCRIPTION file contain broken links?
πŸ’€ SKIP: Regular should be 400.
πŸ’€ SKIP: According Google Fonts standards, families should have a Regular style.

[109] LibreCaslonText-VF.ttf
πŸ”₯ FAIL: Checking file is named canonically.
  • com.google.fonts/check/001
  • πŸ”₯ FAIL Style name used in "dist/LibreCaslonText-VF-2018-10-31-15_29/LibreCaslonText-VF.ttf" is not canonical. You should rebuild the font using any of the following style names: "Thin", "ExtraLight", "Light", "Regular", "Medium", "SemiBold", "Bold", "ExtraBold", "Black", "Thin Italic", "ExtraLight Italic", "Light Italic", "Italic", "Medium Italic", "SemiBold Italic", "Bold Italic", "ExtraBold Italic", "Black Italic".
πŸ”₯ FAIL: Checking with Microsoft Font Validator.
Removing these for now because there are a ton of false flags.
πŸ”₯ FAIL: Checking OS/2 Metrics match hhea Metrics.
πŸ”₯ FAIL: Checking OS/2 usWinAscent & usWinDescent.
  • com.google.fonts/check/040
  • πŸ”₯ FAIL OS/2.usWinAscent value should be equal or greater than 1708, but got 1707 instead [code: ascent]
⚠️ WARN: Checking OS/2 achVendID.
⚠️ WARN: Check if each glyph has the recommended amount of contours.
  • com.google.fonts/check/153
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of counters in each of them. The expected values are infered from the typical ammounts of counters observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

Glyph name: numbersign Counters detected: 4 Expected: 2
Glyph name: dollar Counters detected: 2 Expected: 1 or 3
Glyph name: plus Counters detected: 2 Expected: 1
Glyph name: E Counters detected: 2 Expected: 1
Glyph name: F Counters detected: 2 Expected: 1
Glyph name: H Counters detected: 3 Expected: 1
Glyph name: e Counters detected: 1 Expected: 2
Glyph name: f Counters detected: 2 Expected: 1
Glyph name: h Counters detected: 2 Expected: 1
Glyph name: k Counters detected: 3 Expected: 1 or 2
Glyph name: m Counters detected: 3 Expected: 1
Glyph name: n Counters detected: 2 Expected: 1
Glyph name: r Counters detected: 2 Expected: 1
Glyph name: w Counters detected: 2 Expected: 1
Glyph name: x Counters detected: 3 Expected: 1
Glyph name: yen Counters detected: 4 Expected: 1 or 2
Glyph name: logicalnot Counters detected: 2 Expected: 1
Glyph name: plusminus Counters detected: 3 Expected: 1 or 2
Glyph name: Egrave Counters detected: 3 Expected: 2
Glyph name: Eacute Counters detected: 3 Expected: 2
Glyph name: Ecircumflex Counters detected: 3 Expected: 2
Glyph name: Edieresis Counters detected: 4 Expected: 3
Glyph name: multiply Counters detected: 2 Expected: 1
Glyph name: germandbls Counters detected: 2 Expected: 1
Glyph name: egrave Counters detected: 2 Expected: 3
Glyph name: eacute Counters detected: 2 Expected: 3
Glyph name: ecircumflex Counters detected: 2 Expected: 3
Glyph name: edieresis Counters detected: 3 Expected: 4
Glyph name: eth Counters detected: 3 Expected: 2
Glyph name: ntilde Counters detected: 3 Expected: 2
Glyph name: ugrave Counters detected: 3 Expected: 2
Glyph name: uacute Counters detected: 3 Expected: 2
Glyph name: ucircumflex Counters detected: 3 Expected: 2
Glyph name: udieresis Counters detected: 4 Expected: 3
Glyph name: aogonek Counters detected: 3 Expected: 2
Glyph name: dcroat Counters detected: 3 Expected: 2
Glyph name: Emacron Counters detected: 3 Expected: 2
Glyph name: emacron Counters detected: 2 Expected: 3
Glyph name: Ebreve Counters detected: 3 Expected: 2
Glyph name: ebreve Counters detected: 2 Expected: 3
Glyph name: Edotaccent Counters detected: 3 Expected: 2
Glyph name: edotaccent Counters detected: 2 Expected: 3
Glyph name: Eogonek Counters detected: 3 Expected: 1 or 2
Glyph name: Ecaron Counters detected: 3 Expected: 2
Glyph name: ecaron Counters detected: 2 Expected: 3
Glyph name: Hcircumflex Counters detected: 4 Expected: 2
Glyph name: hcircumflex Counters detected: 3 Expected: 2
Glyph name: hbar Counters detected: 3 Expected: 1
Glyph name: uni0137 Counters detected: 4 Expected: 2 or 3
Glyph name: kgreenlandic Counters detected: 3 Expected: 1 or 2
Glyph name: Lslash Counters detected: 2 Expected: 1
Glyph name: lslash Counters detected: 2 Expected: 1
Glyph name: nacute Counters detected: 3 Expected: 2
Glyph name: uni0146 Counters detected: 3 Expected: 2
Glyph name: ncaron Counters detected: 3 Expected: 2
Glyph name: napostrophe Counters detected: 3 Expected: 2
Glyph name: Eng Counters detected: 4 Expected: 1
Glyph name: eng Counters detected: 3 Expected: 1
Glyph name: OE Counters detected: 3 Expected: 2
Glyph name: racute Counters detected: 3 Expected: 2
Glyph name: uni0157 Counters detected: 3 Expected: 2
Glyph name: rcaron Counters detected: 3 Expected: 2
Glyph name: Tbar Counters detected: 2 Expected: 1
Glyph name: tbar Counters detected: 2 Expected: 1
Glyph name: utilde Counters detected: 3 Expected: 2
Glyph name: umacron Counters detected: 3 Expected: 2
Glyph name: ubreve Counters detected: 3 Expected: 2
Glyph name: uring Counters detected: 4 Expected: 3
Glyph name: uhungarumlaut Counters detected: 4 Expected: 3
Glyph name: Uogonek Counters detected: 2 Expected: 1
Glyph name: uogonek Counters detected: 3 Expected: 1
Glyph name: wcircumflex Counters detected: 3 Expected: 2
Glyph name: uni018F Counters detected: 1 Expected: 2
Glyph name: uni01CC Counters detected: 4 Expected: 3
Glyph name: uni01EA Counters detected: 3 Expected: 2
Glyph name: uni01EB Counters detected: 3 Expected: 2
Glyph name: uni0259 Counters detected: 1 Expected: 2
Glyph name: u Counters detected: 2 Expected: 1
Glyph name: Euro Counters detected: 3 Expected: 1 or 2
Glyph name: uni1E24 Counters detected: 4 Expected: 2
Glyph name: uni1E25 Counters detected: 3 Expected: 2
Glyph name: uni1E45 Counters detected: 3 Expected: 2
Glyph name: uni1E5B Counters detected: 3 Expected: 2
Glyph name: wgrave Counters detected: 3 Expected: 2
Glyph name: wacute Counters detected: 3 Expected: 2
Glyph name: wdieresis Counters detected: 4 Expected: 3
Glyph name: uni1EB8 Counters detected: 3 Expected: 2
Glyph name: uni1EB9 Counters detected: 2 Expected: 3
Glyph name: uni1EBC Counters detected: 3 Expected: 2
Glyph name: uni1EBD Counters detected: 2 Expected: 3
Glyph name: uni1EE5 Counters detected: 3 Expected: 2

⚠️ WARN: Is font em size (ideally) equal to 1000?
⚠️ WARN: Show hinting filesize impact.
⚠️ WARN: Combined length of family and style must not exceed 20 characters.
  • com.google.fonts/check/163
  • ⚠️ WARN The combined length of family and style exceeds 20 chars in the following 'WINDOWS' entries: FONT_FAMILY_NAME = 'Libre Caslon Text' / SUBFAMILY_NAME = 'Regular'
⚠️ WARN: Is there kerning info for non-ligated sequences?
  • com.google.fonts/check/065
  • ⚠️ WARN GPOS table lacks kerning info for the following non-ligated sequences: [u'c_t', u'f_f', u'f_b', u'f_h', u'f_i', u'f_j', u'f_k', u'f_l', u'f_t', u'two_fraction', u'two_slash', u's_t', u'one_fraction', u'one_slash'] [code: lacks-kern-info]
⚠️ WARN: Is there a caret position declared for every ligature?
  • com.google.fonts/check/064
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
πŸ’€ SKIP: Check if fontname is not camel cased.
πŸ’€ SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
πŸ’€ SKIP: METADATA.pb font.style "normal" matches font internals?
πŸ’€ SKIP: METADATA.pb font.style "italic" matches font internals?
πŸ’€ SKIP: Filename is set canonically in METADATA.pb?
πŸ’€ SKIP: Copyright notice shouldn't exceed 500 chars.
πŸ’€ SKIP: Copyright notice on METADATA.pb does not contain Reserved Font Name?
πŸ’€ SKIP: Copyright notice on METADATA.pb matches canonical pattern?
πŸ’€ SKIP: METADATA.pb font.filename field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.post_script_name field contains font name in right format?
πŸ’€ SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts?
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
πŸ’€ SKIP: Check name table: POSTSCRIPT_NAME entries.
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
πŸ’€ SKIP: METADATA.pb font.full_name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.name value should be same as the family name declared on the name table.
πŸ’€ SKIP: METADATA.pb family.filename and family.post_script_name fields have equivalent values?
πŸ’€ SKIP: METADATA.pb family.full_name and family.post_script_name fields have equivalent values ?
πŸ’€ SKIP: Checks METADATA.pb font.name field matches family name declared on the name table.
πŸ’€ SKIP: Check name table: FULL_FONT_NAME entries.
πŸ’€ SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
πŸ’€ SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
πŸ’€ SKIP: Check name table: FONT_FAMILY_NAME entries.
πŸ’€ SKIP: Check copyright namerecords match license file.
πŸ’€ SKIP: METADATA.pb font.fullname value matches fullname declared on the name table?
πŸ’€ SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
πŸ’€ SKIP: Checking head.macStyle value.
πŸ’€ SKIP: Check that font weight has a canonical value.
πŸ’€ SKIP: Check name table: FONT_SUBFAMILY_NAME entries.
πŸ’€ SKIP: Checking OS/2 fsSelection value.
πŸ’€ SKIP: Glyphs are similiar to Google Fonts version?
πŸ’€ SKIP: Check font name is the same as family name.
πŸ’€ SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb.
πŸ’€ SKIP: Metadata weight matches postScriptName.
πŸ’€ SKIP: Font styles are named canonically?
πŸ’€ SKIP: Version number has increased since previous release on Google Fonts?
πŸ’€ SKIP: Checking post.italicAngle value.
πŸ’€ SKIP: Font has all mandatory 'name' table entries ?
πŸ’€ SKIP: FontForge checks.
πŸ’€ SKIP: FontForge validation outputs error messages?
πŸ’€ SKIP: Checking OS/2 usWeightClass.
πŸ’€ SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
πŸ’€ SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
ℹ️ INFO: EPAR table present in font?
ℹ️ INFO: Check for font-v versioning
  • com.google.fonts/check/166
  • ℹ️ INFO Version string is: "Version 1.002"
    The version string must ideally include a git commit hash and either a 'dev' or a 'release' suffix such as in the example below:
    "Version 1.3; git-0d08353-release"
ℹ️ INFO: Font has old ttfautohint applied?
  • com.google.fonts/check/056
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: [u'Version 1.002']
ℹ️ INFO: Font contains all required tables?
  • com.google.fonts/check/052
  • ℹ️ INFO This font contains the following optional tables [DSIG, gasp, loca, GSUB, GPOS, prep]
  • 🍞 PASS Font contains all required tables.
🍞 PASS: Make sure family name does not begin with a digit.
🍞 PASS: Is 'gasp' table set to optimize rendering?
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
🍞 PASS: Font has all expected currency sign characters?
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
🍞 PASS: Check a static ttf can be generated from a variable font.
🍞 PASS: Length of copyright notice must not exceed 500 characters.
🍞 PASS: Checking OS/2 fsType.
🍞 PASS: Fonts have equal numbers of glyphs?
🍞 PASS: Fonts have equal glyph names?
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
  • com.google.fonts/check/019
  • 🍞 PASS No need to substitute copyright, registered and trademark symbols in name table entries of this font.
🍞 PASS: "License URL matches License text on name table?
🍞 PASS: Version format is correct in 'name' table?
🍞 PASS: Checking with ftxvalidator.
🍞 PASS: Font has **proper** whitespace glyph names?
🍞 PASS: Checking with ots-sanitize.
🍞 PASS: Font contains the first few mandatory glyphs (.null or NULL, CR and space)?
🍞 PASS: Are there unwanted tables?
🍞 PASS: Font contains glyphs for whitespace characters?
🍞 PASS: Font contains unique glyph names?
🍞 PASS: Glyph names are all valid?
🍞 PASS: Whitespace glyphs have ink?
🍞 PASS: Check all glyphs have codepoints assigned.
🍞 PASS: Check glyphs have unique unicode codepoints.
🍞 PASS: Checking font version fields (head and name table).
🍞 PASS: Checking unitsPerEm value is reasonable.
🍞 PASS: Check if OS/2 xAvgCharWidth is correct.
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
🍞 PASS: Font follows the family naming recommendations?
🍞 PASS: Does full font name begin with the font family name?
🍞 PASS: Checking correctness of monospaced metadata.
🍞 PASS: Description strings in the name table must not exceed 100 characters.
🍞 PASS: Description strings in the name table must not contain copyright info.
🍞 PASS: Name table strings must not contain the string 'Reserved Font Name'.
🍞 PASS: Name table entries should not contain line-breaks.
🍞 PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
🍞 PASS: Checking Vertical Metric Linegaps.
🍞 PASS: Does the font have a DSIG table?
🍞 PASS: Whitespace and non-breaking space have the same width?
🍞 PASS: Does GPOS table have kerning information?
🍞 PASS: Is there a "kern" table declared in the font?
🍞 PASS: Is there any unused data at the end of the glyf table?
🍞 PASS: Check for points out of bounds.
🍞 PASS: Font enables smart dropout control in "prep" table instructions?
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?

Summary

πŸ’” ERROR πŸ”₯ FAIL ⚠️ WARN πŸ’€ SKIP ℹ️ INFO 🍞 PASS
0 5 7 63 4 53
0% 4% 5% 48% 3% 40%

@thundernixon
Copy link
Owner Author

thundernixon commented Oct 31, 2018

Several of my previous checks today were using an outdated version of FontBakery, possibly due to an error in using pip2. So, I've gotten rid of the "canonical naming" error, and found some new checks. Here's the current test:

Fontbakery report

Fontbakery version: 0.0.0+unknown

[23] Family checks
πŸ’” ERROR: Do we have the latest version of FontBakery installed?
πŸ”₯ FAIL: Check font has a license.
  • com.google.fonts/check/028
  • πŸ”₯ FAIL No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: no-license]
🍞 PASS: Checking all files are in the same directory.
🍞 PASS: Fonts have equal unicode encodings?
🍞 PASS: Make sure all font files have the same version value.
🍞 PASS: Fonts have consistent PANOSE proportion?
🍞 PASS: Fonts have consistent PANOSE family type?
🍞 PASS: Fonts have consistent underline thickness?
πŸ’€ SKIP: Does DESCRIPTION file contain broken links?
πŸ’€ SKIP: Is this a proper HTML snippet?
πŸ’€ SKIP: DESCRIPTION.en_us.html must have more than 200 bytes.
πŸ’€ SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes.
πŸ’€ SKIP: Font designer field in METADATA.pb must not be 'unknown'.
πŸ’€ SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API?
πŸ’€ SKIP: METADATA.pb: check if fonts field only has unique "full_name" values.
πŸ’€ SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs.
πŸ’€ SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
πŸ’€ SKIP: METADATA.pb should contain at least "menu" and "latin" subsets.
πŸ’€ SKIP: METADATA.pb subsets should be alphabetically ordered.
πŸ’€ SKIP: METADATA.pb: Copyright notice is the same in all fonts?
πŸ’€ SKIP: Check that METADATA.pb family values are all the same.
πŸ’€ SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style.
πŸ’€ SKIP: METADATA.pb: Regular should be 400.

[113] LibreCaslon-VF.ttf
πŸ’” ERROR: Checking with ots-sanitize.
πŸ”₯ FAIL: Is 'gasp' table set to optimize rendering?
πŸ”₯ FAIL: Checking OS/2 usWinAscent & usWinDescent.
  • com.google.fonts/check/040
  • πŸ”₯ FAIL OS/2.usWinAscent value should be equal or greater than 1708, but got 1707 instead [code: ascent]
πŸ”₯ FAIL: Checking OS/2 Metrics match hhea Metrics.
πŸ”₯ FAIL: Font enables smart dropout control in "prep" table instructions?
  • com.google.fonts/check/072
  • πŸ”₯ FAIL 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script.
πŸ”₯ FAIL: Does the font have a DSIG table?
  • com.google.fonts/check/045
  • πŸ”₯ FAIL This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly.
⚠️ WARN: Checking OS/2 achVendID.
⚠️ WARN: Is font em size (ideally) equal to 1000?
⚠️ WARN: Is there kerning info for non-ligated sequences?
  • com.google.fonts/check/065

  • ⚠️ WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • f + f
    • f + b
    • b + f
    • f + h
    • h + f
    • f + i
    • i + f
    • f + j
    • j + f
    • f + k
    • k + f
    • f + l
    • l + f
    • f + t
    • t + b
    • h + i
    • i + j
    • j + k
    • k + l
    • l + t

    [code: lacks-kern-info]

⚠️ WARN: Are there caret positions declared for every ligature?
  • com.google.fonts/check/064
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
πŸ’€ SKIP: Checking OS/2 usWeightClass.
πŸ’€ SKIP: Check copyright namerecords match license file.
πŸ’€ SKIP: Font has ttfautohint params?
πŸ’€ SKIP: Checks METADATA.pb font.name field matches family name declared on the name table.
πŸ’€ SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name value matches fullname declared on the name table?
πŸ’€ SKIP: METADATA.pb font.name value should be same as the family name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
πŸ’€ SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values?
πŸ’€ SKIP: METADATA.pb font.name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.full_name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.filename field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.post_script_name field contains font name in right format?
πŸ’€ SKIP: Copyright notice on METADATA.pb matches canonical pattern?
πŸ’€ SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'.
πŸ’€ SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars.
πŸ’€ SKIP: METADATA.pb: Filename is set canonically?
πŸ’€ SKIP: METADATA.pb font.style "italic" matches font internals?
πŸ’€ SKIP: METADATA.pb font.style "normal" matches font internals?
πŸ’€ SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
πŸ’€ SKIP: METADATA.pb: Check if fontname is not camel cased.
πŸ’€ SKIP: METADATA.pb: Check font name is the same as family name.
πŸ’€ SKIP: METADATA.pb: Check that font weight has a canonical value.
πŸ’€ SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb.
πŸ’€ SKIP: METADATA.pb weight matches postScriptName.
πŸ’€ SKIP: METADATA.pb: Font styles are named canonically?
πŸ’€ SKIP: Version number has increased since previous release on Google Fonts?
πŸ’€ SKIP: Glyphs are similiar to Google Fonts version?
πŸ’€ SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts?
πŸ’€ SKIP: Checking OS/2 fsSelection value.
πŸ’€ SKIP: Checking post.italicAngle value.
πŸ’€ SKIP: Checking head.macStyle value.
πŸ’€ SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
πŸ’€ SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
πŸ’€ SKIP: Font has all mandatory 'name' table entries ?
πŸ’€ SKIP: Check name table: FONT_FAMILY_NAME entries.
πŸ’€ SKIP: Check name table: FONT_SUBFAMILY_NAME entries.
πŸ’€ SKIP: Check name table: FULL_FONT_NAME entries.
πŸ’€ SKIP: Check name table: POSTSCRIPT_NAME entries.
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
πŸ’€ SKIP: FontForge validation outputs error messages?
πŸ’€ SKIP: FontForge checks.
πŸ’€ SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
πŸ’€ SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
ℹ️ INFO: Show hinting filesize impact.
LibreCaslon-VF.ttf
Dehinted Size 124.8kb
Hinted Size 124.4kb
Increase -496 bytes
Change -0.0 %
ℹ️ INFO: Font has old ttfautohint applied?
  • com.google.fonts/check/056
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.002']
ℹ️ INFO: EPAR table present in font?
ℹ️ INFO: Check for font-v versioning
  • com.google.fonts/check/166
  • ℹ️ INFO Version string is: "Version 1.002"
    The version string must ideally include a git commit hash and either a 'dev' or a 'release' suffix such as in the example below:
    "Version 1.3; git-0d08353-release"
ℹ️ INFO: Font contains all required tables?
  • com.google.fonts/check/052
  • ℹ️ INFO This font contains the following optional tables [loca, GPOS, GSUB]
  • 🍞 PASS Font contains all required tables.
🍞 PASS: Checking file is named canonically.
🍞 PASS: Fonts have equal numbers of glyphs?
🍞 PASS: Fonts have equal glyph names?
🍞 PASS: Checking OS/2 fsType.
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
  • com.google.fonts/check/019
  • 🍞 PASS No need to substitute copyright, registered and trademark symbols in name table entries of this font.
🍞 PASS: "License URL matches License text on name table?
🍞 PASS: Description strings in the name table must not exceed 200 characters.
🍞 PASS: Version format is correct in 'name' table?
🍞 PASS: Make sure family name does not begin with a digit.
🍞 PASS: Font has all expected currency sign characters?
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
🍞 PASS: Length of copyright notice must not exceed 500 characters.
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
🍞 PASS: Check a static ttf can be generated from a variable font.
🍞 PASS: Check that variable fonts have an HVAR table.
🍞 PASS: There must not be VTT Talk sources in the font.
🍞 PASS: Checking with ftxvalidator.
🍞 PASS: Font contains .notdef as first glyph?
  • com.google.fonts/check/046
  • 🍞 PASS Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
🍞 PASS: Font contains glyphs for whitespace characters?
🍞 PASS: Font has **proper** whitespace glyph names?
🍞 PASS: Whitespace glyphs have ink?
🍞 PASS: Are there unwanted tables?
🍞 PASS: Glyph names are all valid?
🍞 PASS: Font contains unique glyph names?
🍞 PASS: Checking with fontTools.ttx
🍞 PASS: Check glyphs have unique unicode codepoints.
🍞 PASS: Check all glyphs have codepoints assigned.
🍞 PASS: Checking unitsPerEm value is reasonable.
🍞 PASS: Checking font version fields (head and name table).
🍞 PASS: Check if OS/2 xAvgCharWidth is correct.
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
🍞 PASS: Description strings in the name table must not contain copyright info.
🍞 PASS: Checking correctness of monospaced metadata.
🍞 PASS: Name table entries should not contain line-breaks.
🍞 PASS: Does full font name begin with the font family name?
🍞 PASS: Font follows the family naming recommendations?
🍞 PASS: Name table strings must not contain the string 'Reserved Font Name'.
🍞 PASS: Combined length of family and style must not exceed 20 characters.
🍞 PASS: Checking Vertical Metric Linegaps.
🍞 PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
🍞 PASS: Whitespace and non-breaking space have the same width?
🍞 PASS: Does GPOS table have kerning information?
🍞 PASS: Is there a "kern" table declared in the font?
🍞 PASS: Is there any unused data at the end of the glyf table?
🍞 PASS: Check for points out of bounds.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?

Summary

πŸ’” ERROR πŸ”₯ FAIL ⚠️ WARN πŸ’€ SKIP ℹ️ INFO 🍞 PASS
2 6 6 63 5 54
1% 4% 4% 46% 4% 40%

@thundernixon
Copy link
Owner Author

Fontbakery report

Fontbakery version: 0.5.2.dev136+g7a5a29b6

[23] Family checks
πŸ”₯ FAIL: Check font has a license.
  • com.google.fonts/check/028
  • πŸ”₯ FAIL No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: no-license]
ℹ️ INFO: Do we have the latest version of FontBakery installed?
  • com.google.fonts/check/fontbakery_version

  • ℹ️ INFO fontbakery (0.5.1) - Well designed Font QA tool, written in Python 3
    INSTALLED: 0.5.2.dev136+g7a5a29b6
    LATEST: 0.5.1

  • 🍞 PASS Font Bakery is up-to-date

🍞 PASS: Checking all files are in the same directory.
🍞 PASS: Fonts have equal unicode encodings?
🍞 PASS: Make sure all font files have the same version value.
🍞 PASS: Fonts have consistent PANOSE proportion?
🍞 PASS: Fonts have consistent PANOSE family type?
🍞 PASS: Fonts have consistent underline thickness?
πŸ’€ SKIP: Does DESCRIPTION file contain broken links?
πŸ’€ SKIP: Is this a proper HTML snippet?
πŸ’€ SKIP: DESCRIPTION.en_us.html must have more than 200 bytes.
πŸ’€ SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes.
πŸ’€ SKIP: Font designer field in METADATA.pb must not be 'unknown'.
πŸ’€ SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API?
πŸ’€ SKIP: METADATA.pb: check if fonts field only has unique "full_name" values.
πŸ’€ SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs.
πŸ’€ SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
πŸ’€ SKIP: METADATA.pb should contain at least "menu" and "latin" subsets.
πŸ’€ SKIP: METADATA.pb subsets should be alphabetically ordered.
πŸ’€ SKIP: METADATA.pb: Copyright notice is the same in all fonts?
πŸ’€ SKIP: Check that METADATA.pb family values are all the same.
πŸ’€ SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style.
πŸ’€ SKIP: METADATA.pb: Regular should be 400.

[113] LibreCaslon-VF.ttf
πŸ”₯ FAIL: Is 'gasp' table set to optimize rendering?
πŸ”₯ FAIL: Font enables smart dropout control in "prep" table instructions?
  • com.google.fonts/check/072
  • πŸ”₯ FAIL 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script.
⚠️ WARN: Checking OS/2 achVendID.
⚠️ WARN: Is font em size (ideally) equal to 1000?
⚠️ WARN: Check if each glyph has the recommended amount of contours.
  • com.google.fonts/check/153
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

Glyph name: numbersign Contours detected: 4 Expected: 2
Glyph name: dollar Contours detected: 2 Expected: 1 or 3
Glyph name: plus Contours detected: 2 Expected: 1
Glyph name: E Contours detected: 2 Expected: 1
Glyph name: F Contours detected: 2 Expected: 1
Glyph name: H Contours detected: 3 Expected: 1
Glyph name: e Contours detected: 1 Expected: 2
Glyph name: f Contours detected: 2 Expected: 1
Glyph name: h Contours detected: 2 Expected: 1
Glyph name: k Contours detected: 3 Expected: 1 or 2
Glyph name: m Contours detected: 3 Expected: 1
Glyph name: n Contours detected: 2 Expected: 1
Glyph name: r Contours detected: 2 Expected: 1
Glyph name: u Contours detected: 2 Expected: 1
Glyph name: w Contours detected: 2 Expected: 1
Glyph name: x Contours detected: 3 Expected: 1
Glyph name: yen Contours detected: 4 Expected: 1 or 2
Glyph name: Euro Contours detected: 3 Expected: 1 or 2
Glyph name: logicalnot Contours detected: 2 Expected: 1
Glyph name: plusminus Contours detected: 3 Expected: 1 or 2
Glyph name: Egrave Contours detected: 3 Expected: 2
Glyph name: Eacute Contours detected: 3 Expected: 2
Glyph name: Ecircumflex Contours detected: 3 Expected: 2
Glyph name: Edieresis Contours detected: 4 Expected: 3
Glyph name: multiply Contours detected: 2 Expected: 1
Glyph name: germandbls Contours detected: 2 Expected: 1
Glyph name: egrave Contours detected: 2 Expected: 3
Glyph name: eacute Contours detected: 2 Expected: 3
Glyph name: ecircumflex Contours detected: 2 Expected: 3
Glyph name: edieresis Contours detected: 3 Expected: 4
Glyph name: eth Contours detected: 3 Expected: 2
Glyph name: ntilde Contours detected: 3 Expected: 2
Glyph name: ugrave Contours detected: 3 Expected: 2
Glyph name: uacute Contours detected: 3 Expected: 2
Glyph name: ucircumflex Contours detected: 3 Expected: 2
Glyph name: udieresis Contours detected: 4 Expected: 3
Glyph name: aogonek Contours detected: 3 Expected: 2
Glyph name: dcroat Contours detected: 3 Expected: 2
Glyph name: Emacron Contours detected: 3 Expected: 2
Glyph name: emacron Contours detected: 2 Expected: 3
Glyph name: Ebreve Contours detected: 3 Expected: 2
Glyph name: ebreve Contours detected: 2 Expected: 3
Glyph name: Edotaccent Contours detected: 3 Expected: 2
Glyph name: edotaccent Contours detected: 2 Expected: 3
Glyph name: Eogonek Contours detected: 3 Expected: 1 or 2
Glyph name: Ecaron Contours detected: 3 Expected: 2
Glyph name: ecaron Contours detected: 2 Expected: 3
Glyph name: Hcircumflex Contours detected: 4 Expected: 2
Glyph name: hcircumflex Contours detected: 3 Expected: 2
Glyph name: hbar Contours detected: 3 Expected: 1
Glyph name: uni0137 Contours detected: 4 Expected: 2 or 3
Glyph name: kgreenlandic Contours detected: 3 Expected: 1 or 2
Glyph name: Lslash Contours detected: 2 Expected: 1
Glyph name: lslash Contours detected: 2 Expected: 1
Glyph name: nacute Contours detected: 3 Expected: 2
Glyph name: uni0146 Contours detected: 3 Expected: 2
Glyph name: ncaron Contours detected: 3 Expected: 2
Glyph name: napostrophe Contours detected: 3 Expected: 2
Glyph name: Eng Contours detected: 4 Expected: 1
Glyph name: eng Contours detected: 3 Expected: 1
Glyph name: OE Contours detected: 3 Expected: 2
Glyph name: racute Contours detected: 3 Expected: 2
Glyph name: uni0157 Contours detected: 3 Expected: 2
Glyph name: rcaron Contours detected: 3 Expected: 2
Glyph name: Tbar Contours detected: 2 Expected: 1
Glyph name: tbar Contours detected: 2 Expected: 1
Glyph name: utilde Contours detected: 3 Expected: 2
Glyph name: umacron Contours detected: 3 Expected: 2
Glyph name: ubreve Contours detected: 3 Expected: 2
Glyph name: uring Contours detected: 4 Expected: 3
Glyph name: uhungarumlaut Contours detected: 4 Expected: 3
Glyph name: Uogonek Contours detected: 2 Expected: 1
Glyph name: uogonek Contours detected: 3 Expected: 1
Glyph name: wcircumflex Contours detected: 3 Expected: 2
Glyph name: uni018F Contours detected: 1 Expected: 2
Glyph name: uni01CC Contours detected: 4 Expected: 3
Glyph name: uni01EA Contours detected: 3 Expected: 2
Glyph name: uni01EB Contours detected: 3 Expected: 2
Glyph name: uni0259 Contours detected: 1 Expected: 2
Glyph name: uni1E24 Contours detected: 4 Expected: 2
Glyph name: uni1E25 Contours detected: 3 Expected: 2
Glyph name: uni1E45 Contours detected: 3 Expected: 2
Glyph name: uni1E5B Contours detected: 3 Expected: 2
Glyph name: wgrave Contours detected: 3 Expected: 2
Glyph name: wacute Contours detected: 3 Expected: 2
Glyph name: wdieresis Contours detected: 4 Expected: 3
Glyph name: uni1EB8 Contours detected: 3 Expected: 2
Glyph name: uni1EB9 Contours detected: 2 Expected: 3
Glyph name: uni1EBC Contours detected: 3 Expected: 2
Glyph name: uni1EBD Contours detected: 2 Expected: 3
Glyph name: uni1EE5 Contours detected: 3 Expected: 2

⚠️ WARN: Checking with Microsoft Font Validator.

LibreCaslon-VF.ttf (file 1 of 1)
Complete: LibreCaslon-VF.ttf.report.xml
Reports are ready!

  • ℹ️ INFO MS-FonVal: The file begins with an Offset Table (file contains a single font)
  • ℹ️ INFO MS-FonVal: Not an OpenType table, contents not validated DETAILS:

    • This table type is defined in the Apple TrueType spec.
  • ℹ️ INFO MS-FonVal: Unable to perform test due to previously detected errors DETAILS:
    • Glyph index 1 Test: ValidateSimpContMisor
    • Glyph index 10 Test: ValidateSimpContMisor
    • Glyph index 26 Test: ValidateSimpContMisor
    • Glyph index 38 Test: ValidateSimpContMisor
    • Glyph index 44 Test: ValidateSimpContMisor
    • Glyph index 69 Test: ValidateSimpContMisor
    • Glyph index 76 Test: ValidateSimpContMisor
    • Glyph index 91 Test: ValidateSimpContMisor
    • Glyph index 105 Test: ValidateSimpContMisor
    • Glyph index 107 Test: ValidateSimpContMisor
    • NOTE: 37 other similar results were hidden!
  • ℹ️ INFO MS-FonVal: Descender should be greater than or equal to head.yMin DETAILS: Descender = -605, head.yMin = -458
  • ℹ️ INFO MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 4
  • ℹ️ INFO MS-FonVal: maxSizeOfInstructions via method Drawings to correctΒ #1 DETAILS: maxSizeOfInstructions=0, computed from the glyf table
  • ℹ️ INFO MS-FonVal: No string for Typographic Family name (Name ID 16)
  • ℹ️ INFO MS-FonVal: No string for Typographic Subfamily name (Name ID 17)
  • ℹ️ INFO MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS:
    • glyph = 305, char = U+FB00, name = f_f
    • glyph = 308, char = U+FB03, name = f_f_i
    • glyph = 311, char = U+FB04, name = f_f_l
    • glyph = 314, char = U+FB01, name = f_i
    • glyph = 317, char = U+FB02, name = f_l
    • glyph = 442, char = U+02BC, name = apostrophe
    • glyph = 478, char = U+00B5, name = uni03BC.1
  • ℹ️ INFO MS-FonVal: The post name isn't in uniXXXX or uXXXXX format and there is no Adobe Glyph List entry DETAILS:
    • glyph = 319, char = U+FB06, name = s_t
    • glyph = 454, char = U+000D, name = CR
    • glyph = 535, char = U+0000, name = NULL
  • ℹ️ INFO MS-FonVal: The post name has an unexpected value DETAILS: glyph = 509, char = U+F6C3, name = uni0326
  • ℹ️ INFO MS-FonVal: Rasterization not selected for validation
  • ℹ️ INFO MS-FonVal: Total time validating file DETAILS: 0:00:16
  • 🍞 PASS MS-FonVal: The numTables field is non-zero DETAILS: 18
  • 🍞 PASS MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid
  • 🍞 PASS MS-FonVal: The directory entry tags are in ascending order
  • 🍞 PASS MS-FonVal: The directory entry tag names are valid
  • 🍞 PASS MS-FonVal: The directory entry table offsets are all multiples of 4
  • 🍞 PASS MS-FonVal: All required tables are present
  • 🍞 PASS MS-FonVal: No unnecessary tables are present
  • 🍞 PASS MS-FonVal: Tables are in optimal order
  • 🍞 PASS MS-FonVal: All signature blocks were in format 1
  • 🍞 PASS MS-FonVal: All signature blocks' reserved values were 0
  • 🍞 PASS MS-FonVal: The digital signature of the file verified correctly
  • 🍞 PASS MS-FonVal: All header offsets point within the table
  • 🍞 PASS MS-FonVal: The version number is 0x00010000
  • 🍞 PASS MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord0, ScriptTable, DefaultLangSysTable
  • 🍞 PASS MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord0, ScriptTable
  • 🍞 PASS MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS:
    • FeatureList, FeatureRecord0, FeatureTable
    • FeatureList, FeatureRecord1, FeatureTable
    • FeatureList, FeatureRecord0, FeatureTable
    • FeatureList, FeatureRecord1, FeatureTable
    • FeatureList, FeatureRecord2, FeatureTable
    • FeatureList, FeatureRecord3, FeatureTable
    • FeatureList, FeatureRecord4, FeatureTable
    • FeatureList, FeatureRecord5, FeatureTable
    • FeatureList, FeatureRecord6, FeatureTable
    • FeatureList, FeatureRecord7, FeatureTable
    • FeatureList, FeatureRecord8, FeatureTable
    • FeatureList, FeatureRecord9, FeatureTable
  • 🍞 PASS MS-FonVal: The FeatureList table is valid DETAILS: FeatureList
  • 🍞 PASS MS-FonVal: The PairSet table is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[1]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[2]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[3]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[4]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[5]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[6]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[7]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[8]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[9]
    • NOTE: 360 other similar results were hidden!
  • 🍞 PASS MS-FonVal: The PairPos subtable is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1)
    • LookupList, Lookup[0], SubTable[1](PairPos, fmt 2)
  • 🍞 PASS MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[1], SubTable0, BaseArray
  • 🍞 PASS MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[1], SubTable0
  • 🍞 PASS MS-FonVal: The LookupList table is valid DETAILS: LookupList
  • 🍞 PASS MS-FonVal: The LigatureSubst subtable is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](LigatureSubst, fmt 1)
    • LookupList, Lookup[1], SubTable[0](LigatureSubst, fmt 1)
    • LookupList, Lookup[2], SubTable[0](LigatureSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The SingleSubst subtable is valid DETAILS:
    • LookupList, Lookup[3], SubTable[0](SingleSubst, fmt 2)
    • LookupList, Lookup[5], SubTable[0](SingleSubst, fmt 2)
    • LookupList, Lookup[6], SubTable[0](SingleSubst, fmt 1)
    • LookupList, Lookup[7], SubTable[0](SingleSubst, fmt 1)
    • LookupList, Lookup[8], SubTable[0](SingleSubst, fmt 1)
    • LookupList, Lookup[9], SubTable[0](SingleSubst, fmt 1)
    • LookupList, Lookup[10], SubTable[0](SingleSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The ChainContextSubst subtable is valid DETAILS:
    • LookupList, Lookup[4], SubTable[0](ChainContextSubst, fmt 3)
    • LookupList, Lookup[4], SubTable[1](ChainContextSubst, fmt 3)
  • 🍞 PASS MS-FonVal: The table length matches the expected length for this version
  • 🍞 PASS MS-FonVal: The usWeightClass is consistent with the PANOSE weight value
  • 🍞 PASS MS-FonVal: The usWeightClass is a valid value DETAILS: 400
  • 🍞 PASS MS-FonVal: The width class is a valid value DETAILS: 5
  • 🍞 PASS MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding
  • 🍞 PASS MS-FonVal: All subscript and superscript values appear valid
  • 🍞 PASS MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid
  • 🍞 PASS MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range
  • 🍞 PASS MS-FonVal: All panose values are in a valid range
  • 🍞 PASS MS-FonVal: The Unicode Range fields' bits are all allowable values
  • 🍞 PASS MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x0000, last = 0xfb06
  • 🍞 PASS MS-FonVal: The sTypoAscender and sTypoDescender fields are reasonable values DETAILS: sTypoAscender = 1443, sTypoDescender = -605
  • 🍞 PASS MS-FonVal: The CodePage Range fields' bits are all allowable values
  • 🍞 PASS MS-FonVal: The sxHeight field is nonzero DETAILS: 933
  • 🍞 PASS MS-FonVal: The sCapHeight field is nonzero DETAILS: 1355
  • 🍞 PASS MS-FonVal: The usDefaultChar field is zero
  • 🍞 PASS MS-FonVal: The usBreakChar is mapped to a glyf
  • 🍞 PASS MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3
  • 🍞 PASS MS-FonVal: The table version number is 0
  • 🍞 PASS MS-FonVal: Each subtable offset is within the table
  • 🍞 PASS MS-FonVal: Each subtable length is within the table
  • 🍞 PASS MS-FonVal: The subtables are in the correct order
  • 🍞 PASS MS-FonVal: There are no duplicate subtables
  • 🍞 PASS MS-FonVal: No overlapping subtables were found
  • 🍞 PASS MS-FonVal: Each subtable's format number is valid
  • 🍞 PASS MS-FonVal: The subtable internal format appears valid DETAILS:
    • PlatID = 0, EncID = 3, Fmt = 4
    • PlatID = 3, EncID = 1, Fmt = 4
  • 🍞 PASS MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1
  • 🍞 PASS MS-FonVal: All non mac subtables have a language field of zero
  • 🍞 PASS MS-FonVal: Correct format of loca (0 or 1)
  • 🍞 PASS MS-FonVal: Table length is 54 bytes
  • 🍞 PASS MS-FonVal: The table version number is 0x00010000
  • 🍞 PASS MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.002
  • 🍞 PASS MS-FonVal: Font checksum is correct DETAILS: 0x6d267d42
  • 🍞 PASS MS-FonVal: The magic number is 0x5f0f3cf5
  • 🍞 PASS MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present
  • 🍞 PASS MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present
  • 🍞 PASS MS-FonVal: Reserved bit 14 of the flags field is clear
  • 🍞 PASS MS-FonVal: Reserved bit 15 of the flags field is clear
  • 🍞 PASS MS-FonVal: The unitsPerEm value is a power of two in the range 64..16384 DETAILS: 2048
  • 🍞 PASS MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -280
  • 🍞 PASS MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -458
  • 🍞 PASS MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 2527
  • 🍞 PASS MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1708
  • 🍞 PASS MS-FonVal: The macStyle bold bit matches the name table's font subfamily string
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the name table's font subfamily string
  • 🍞 PASS MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the post table italic angle
  • 🍞 PASS MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2
  • 🍞 PASS MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0
  • 🍞 PASS MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0
  • 🍞 PASS MS-FonVal: The glyphDataFormat value is 0
  • 🍞 PASS MS-FonVal: The Ascender value is greater than zero
  • 🍞 PASS MS-FonVal: The Descender is less than zero
  • 🍞 PASS MS-FonVal: Ascender is less than or equal to head.yMax
  • 🍞 PASS MS-FonVal: LineGap is greater than or equal to 0
  • 🍞 PASS MS-FonVal: The LineGap is greater to or equal the minimum recommended value
  • 🍞 PASS MS-FonVal: The advanceWidthMax field equals the calculated value
  • 🍞 PASS MS-FonVal: The minLeftSideBearing field equals the calculated value
  • 🍞 PASS MS-FonVal: The minRightSideBearing field equals the calculated value
  • 🍞 PASS MS-FonVal: The xMaxExtent field equals the calculated value
  • 🍞 PASS MS-FonVal: The reserved fields are all set to zero
  • 🍞 PASS MS-FonVal: The metricDataFormat field is set to zero
  • 🍞 PASS MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table
  • 🍞 PASS MS-FonVal: The caretSlope angle matches the post.italicAngle
  • 🍞 PASS MS-FonVal: The size of the table matches the calculated size
  • 🍞 PASS MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1)
  • 🍞 PASS MS-FonVal: The entries are sorted in ascending order
  • 🍞 PASS MS-FonVal: All entries point within range of the glyf table
  • 🍞 PASS MS-FonVal: All glyphs in the glyf table are referenced by the loca table
  • 🍞 PASS MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present
  • 🍞 PASS MS-FonVal: Table version is 1.0 and the table is 32 bytes long
  • 🍞 PASS MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 537
  • 🍞 PASS MS-FonVal: The points, contours, and component values match the calculated values
  • 🍞 PASS MS-FonVal: The format selector field is 0
  • 🍞 PASS MS-FonVal: No strings extended past the end of the table
  • 🍞 PASS MS-FonVal: The NameRecords array is in sorted order
  • 🍞 PASS MS-FonVal: No name records are using reserved Name IDs
  • 🍞 PASS MS-FonVal: The table contains strings for both Mac and Microsoft platforms
  • 🍞 PASS MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.002"
  • 🍞 PASS MS-FonVal: All strings had valid Platform Specific Encoding IDs
  • 🍞 PASS MS-FonVal: All Microsoft unicode strings had valid Language IDs
  • 🍞 PASS MS-FonVal: The length of every unicode string is an even # of bytes
  • 🍞 PASS MS-FonVal: The subfamily string is consistent with the style of the font
  • 🍞 PASS MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14)
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Copyright strings
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Trademark strings
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Description strings
  • 🍞 PASS MS-FonVal: The table length is valid
  • 🍞 PASS MS-FonVal: The version number is valid
  • 🍞 PASS MS-FonVal: The italicAngle value is reasonable and consistent with other tables
  • 🍞 PASS MS-FonVal: The underlinePosition value is not less than hhea.Descender
  • 🍞 PASS MS-FonVal: The underlineThickness value is reasonable
  • 🍞 PASS MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables
  • 🍞 PASS MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs
  • 🍞 PASS MS-FonVal: The glyphNameIndex array contains valid indexes
  • 🍞 PASS MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names
  • ⚠️ WARN MS-FonVal: The version number is valid, but less than 5 DETAILS: 4
  • ⚠️ WARN MS-FonVal: There are undefined bits set in fsSelection field DETAILS: Bit(s) 7
  • ⚠️ WARN MS-FonVal: The table does not contain any Apple subtables
  • ⚠️ WARN MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present
  • ⚠️ WARN MS-FonVal: Characters are mapped in the Unicode Private Use area
  • ⚠️ WARN MS-FonVal: Misoriented contour DETAILS: {'Glyph index': [89, 219, 244, 248, 410, 411, 414, 425, 426, 427, 428, 429, 430, 444, 445, 446, 447, 457, 460, 465, 475, 477, 492, 499, 502, 503, 507, 510, 511, 517, 518, 521, 522, 523, 524, 525, 530, 531, 533, 534]}
  • ⚠️ WARN MS-FonVal: The created time is an unlikely value DETAILS: created = 3624388363 (Tuesday, November 6, 2018 10:32 PM)
  • ⚠️ WARN MS-FonVal: The modified time is an unlikely value DETAILS: modified = 3624401346 (Wednesday, November 7, 2018 2:09 AM)
  • ⚠️ WARN MS-FonVal: The lowestRecPPEM value may be unreasonably small DETAILS: lowestRecPPEM = 6
  • ⚠️ WARN MS-FonVal: Ascender is different than OS/2.usWinAscent. Different line heights on Windows and Apple DETAILS: hhea.Ascender = 1443, OS/2.usWinAscent = 1708
  • ⚠️ WARN MS-FonVal: Descender is different than OS/2.usWinDescent. Different line heights on Windows and Apple DETAILS: hhea.Descender = -605, OS/2.usWinDescent = 462
  • ⚠️ WARN MS-FonVal: The leftSideBearing is greater than the advance width (unlikely value) DETAILS: glyph# 509
  • ⚠️ WARN MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 DETAILS: Number of glyphs with the warning = 155
⚠️ WARN: Checking Vertical Metric Linegaps.
⚠️ WARN: Is there kerning info for non-ligated sequences?
  • com.google.fonts/check/065

  • ⚠️ WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • f + f
    • f + b
    • b + f
    • f + h
    • h + f
    • f + i
    • i + f
    • f + j
    • j + f
    • f + k
    • k + f
    • f + l
    • l + f
    • f + t
    • t + b
    • h + i
    • i + j
    • j + k
    • k + l
    • l + t

    [code: lacks-kern-info]

⚠️ WARN: Are there caret positions declared for every ligature?
  • com.google.fonts/check/064
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
πŸ’€ SKIP: Checking OS/2 usWeightClass.
πŸ’€ SKIP: Check copyright namerecords match license file.
πŸ’€ SKIP: Font has ttfautohint params?
πŸ’€ SKIP: Checks METADATA.pb font.name field matches family name declared on the name table.
πŸ’€ SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name value matches fullname declared on the name table?
πŸ’€ SKIP: METADATA.pb font.name value should be same as the family name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
πŸ’€ SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values?
πŸ’€ SKIP: METADATA.pb font.name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.full_name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.filename field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.post_script_name field contains font name in right format?
πŸ’€ SKIP: Copyright notice on METADATA.pb matches canonical pattern?
πŸ’€ SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'.
πŸ’€ SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars.
πŸ’€ SKIP: METADATA.pb: Filename is set canonically?
πŸ’€ SKIP: METADATA.pb font.style "italic" matches font internals?
πŸ’€ SKIP: METADATA.pb font.style "normal" matches font internals?
πŸ’€ SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
πŸ’€ SKIP: METADATA.pb: Check if fontname is not camel cased.
πŸ’€ SKIP: METADATA.pb: Check font name is the same as family name.
πŸ’€ SKIP: METADATA.pb: Check that font weight has a canonical value.
πŸ’€ SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb.
πŸ’€ SKIP: METADATA.pb weight matches postScriptName.
πŸ’€ SKIP: METADATA.pb: Font styles are named canonically?
πŸ’€ SKIP: Version number has increased since previous release on Google Fonts?
πŸ’€ SKIP: Glyphs are similiar to Google Fonts version?
πŸ’€ SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts?
πŸ’€ SKIP: Checking OS/2 fsSelection value.
πŸ’€ SKIP: Checking post.italicAngle value.
πŸ’€ SKIP: Checking head.macStyle value.
πŸ’€ SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
πŸ’€ SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
πŸ’€ SKIP: Font has all mandatory 'name' table entries ?
πŸ’€ SKIP: Check name table: FONT_FAMILY_NAME entries.
πŸ’€ SKIP: Check name table: FONT_SUBFAMILY_NAME entries.
πŸ’€ SKIP: Check name table: FULL_FONT_NAME entries.
πŸ’€ SKIP: Check name table: POSTSCRIPT_NAME entries.
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
πŸ’€ SKIP: FontForge validation outputs error messages?
πŸ’€ SKIP: FontForge checks.
πŸ’€ SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
πŸ’€ SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
ℹ️ INFO: Show hinting filesize impact.
LibreCaslon-VF.ttf
Dehinted Size 123.9kb
Hinted Size 123.4kb
Increase -508 bytes
Change -0.0 %
ℹ️ INFO: Font has old ttfautohint applied?
  • com.google.fonts/check/056
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.002']
ℹ️ INFO: EPAR table present in font?
ℹ️ INFO: Check for font-v versioning
  • com.google.fonts/check/166
  • ℹ️ INFO Version string is: "Version 1.002"
    The version string must ideally include a git commit hash and either a 'dev' or a 'release' suffix such as in the example below:
    "Version 1.3; git-0d08353-release"
ℹ️ INFO: Font contains all required tables?
  • com.google.fonts/check/052
  • ℹ️ INFO This font contains the following optional tables [GSUB, GPOS, loca, DSIG]
  • 🍞 PASS Font contains all required tables.
🍞 PASS: Checking file is named canonically.
🍞 PASS: Fonts have equal numbers of glyphs?
🍞 PASS: Fonts have equal glyph names?
🍞 PASS: Checking OS/2 fsType.
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
  • com.google.fonts/check/019
  • 🍞 PASS No need to substitute copyright, registered and trademark symbols in name table entries of this font.
🍞 PASS: "License URL matches License text on name table?
🍞 PASS: Description strings in the name table must not exceed 200 characters.
🍞 PASS: Version format is correct in 'name' table?
🍞 PASS: Make sure family name does not begin with a digit.
🍞 PASS: Font has all expected currency sign characters?
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
🍞 PASS: Length of copyright notice must not exceed 500 characters.
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
🍞 PASS: Check a static ttf can be generated from a variable font.
🍞 PASS: Check that variable fonts have an HVAR table.
🍞 PASS: Checking OS/2 usWinAscent & usWinDescent.
🍞 PASS: Checking OS/2 Metrics match hhea Metrics.
🍞 PASS: There must not be VTT Talk sources in the font.
🍞 PASS: Checking with ftxvalidator.
🍞 PASS: Checking with ots-sanitize.
🍞 PASS: Font contains .notdef as first glyph?
  • com.google.fonts/check/046
  • 🍞 PASS Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
🍞 PASS: Font contains glyphs for whitespace characters?
🍞 PASS: Font has **proper** whitespace glyph names?
🍞 PASS: Whitespace glyphs have ink?
🍞 PASS: Are there unwanted tables?
🍞 PASS: Glyph names are all valid?
🍞 PASS: Font contains unique glyph names?
🍞 PASS: Checking with fontTools.ttx
🍞 PASS: Check glyphs have unique unicode codepoints.
🍞 PASS: Check all glyphs have codepoints assigned.
🍞 PASS: Checking unitsPerEm value is reasonable.
🍞 PASS: Checking font version fields (head and name table).
🍞 PASS: Check if OS/2 xAvgCharWidth is correct.
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
🍞 PASS: Description strings in the name table must not contain copyright info.
🍞 PASS: Checking correctness of monospaced metadata.
🍞 PASS: Name table entries should not contain line-breaks.
🍞 PASS: Does full font name begin with the font family name?
🍞 PASS: Font follows the family naming recommendations?
🍞 PASS: Name table strings must not contain the string 'Reserved Font Name'.
🍞 PASS: Combined length of family and style must not exceed 20 characters.
🍞 PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
🍞 PASS: Does the font have a DSIG table?
🍞 PASS: Whitespace and non-breaking space have the same width?
🍞 PASS: Does GPOS table have kerning information?
🍞 PASS: Is there a "kern" table declared in the font?
🍞 PASS: Is there any unused data at the end of the glyf table?
🍞 PASS: Check for points out of bounds.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?

Summary

πŸ’” ERROR πŸ”₯ FAIL ⚠️ WARN πŸ’€ SKIP ℹ️ INFO 🍞 PASS
0 3 7 63 6 57
0% 2% 5% 46% 4% 42%

@thundernixon
Copy link
Owner Author

thundernixon commented Nov 8, 2018

Fontbakery report

Fontbakery version: 0.5.2.dev136+g7a5a29b6

[23] Family checks
πŸ”₯ FAIL: Check font has a license.
  • com.google.fonts/check/028
  • πŸ”₯ FAIL No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: no-license]
ℹ️ INFO: Do we have the latest version of FontBakery installed?
  • com.google.fonts/check/fontbakery_version

  • ℹ️ INFO fontbakery (0.6.0) - Well designed Font QA tool, written in Python 3
    INSTALLED: 0.5.2.dev136+g7a5a29b6
    LATEST: 0.6.0

  • 🍞 PASS Font Bakery is up-to-date

🍞 PASS: Checking all files are in the same directory.
🍞 PASS: Fonts have equal unicode encodings?
🍞 PASS: Make sure all font files have the same version value.
🍞 PASS: Fonts have consistent PANOSE proportion?
🍞 PASS: Fonts have consistent PANOSE family type?
🍞 PASS: Fonts have consistent underline thickness?
πŸ’€ SKIP: Does DESCRIPTION file contain broken links?
πŸ’€ SKIP: Is this a proper HTML snippet?
πŸ’€ SKIP: DESCRIPTION.en_us.html must have more than 200 bytes.
πŸ’€ SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes.
πŸ’€ SKIP: Font designer field in METADATA.pb must not be 'unknown'.
πŸ’€ SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API?
πŸ’€ SKIP: METADATA.pb: check if fonts field only has unique "full_name" values.
πŸ’€ SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs.
πŸ’€ SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
πŸ’€ SKIP: METADATA.pb should contain at least "menu" and "latin" subsets.
πŸ’€ SKIP: METADATA.pb subsets should be alphabetically ordered.
πŸ’€ SKIP: METADATA.pb: Copyright notice is the same in all fonts?
πŸ’€ SKIP: Check that METADATA.pb family values are all the same.
πŸ’€ SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style.
πŸ’€ SKIP: METADATA.pb: Regular should be 400.

[113] LibreCaslonText-VF.ttf
πŸ”₯ FAIL: Is 'gasp' table set to optimize rendering?
πŸ”₯ FAIL: Font enables smart dropout control in "prep" table instructions?
  • com.google.fonts/check/072
  • πŸ”₯ FAIL 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script.
⚠️ WARN: Is font em size (ideally) equal to 1000?
⚠️ WARN: Check if each glyph has the recommended amount of contours.
  • com.google.fonts/check/153
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

Glyph name: numbersign Contours detected: 4 Expected: 2
Glyph name: dollar Contours detected: 2 Expected: 1 or 3
Glyph name: plus Contours detected: 2 Expected: 1
Glyph name: E Contours detected: 2 Expected: 1
Glyph name: F Contours detected: 2 Expected: 1
Glyph name: H Contours detected: 3 Expected: 1
Glyph name: e Contours detected: 1 Expected: 2
Glyph name: f Contours detected: 2 Expected: 1
Glyph name: h Contours detected: 2 Expected: 1
Glyph name: k Contours detected: 3 Expected: 1 or 2
Glyph name: m Contours detected: 3 Expected: 1
Glyph name: n Contours detected: 2 Expected: 1
Glyph name: r Contours detected: 2 Expected: 1
Glyph name: u Contours detected: 2 Expected: 1
Glyph name: w Contours detected: 2 Expected: 1
Glyph name: x Contours detected: 3 Expected: 1
Glyph name: yen Contours detected: 4 Expected: 1 or 2
Glyph name: Euro Contours detected: 3 Expected: 1 or 2
Glyph name: logicalnot Contours detected: 2 Expected: 1
Glyph name: plusminus Contours detected: 3 Expected: 1 or 2
Glyph name: Egrave Contours detected: 3 Expected: 2
Glyph name: Eacute Contours detected: 3 Expected: 2
Glyph name: Ecircumflex Contours detected: 3 Expected: 2
Glyph name: Edieresis Contours detected: 4 Expected: 3
Glyph name: multiply Contours detected: 2 Expected: 1
Glyph name: germandbls Contours detected: 2 Expected: 1
Glyph name: egrave Contours detected: 2 Expected: 3
Glyph name: eacute Contours detected: 2 Expected: 3
Glyph name: ecircumflex Contours detected: 2 Expected: 3
Glyph name: edieresis Contours detected: 3 Expected: 4
Glyph name: eth Contours detected: 3 Expected: 2
Glyph name: ntilde Contours detected: 3 Expected: 2
Glyph name: ugrave Contours detected: 3 Expected: 2
Glyph name: uacute Contours detected: 3 Expected: 2
Glyph name: ucircumflex Contours detected: 3 Expected: 2
Glyph name: udieresis Contours detected: 4 Expected: 3
Glyph name: aogonek Contours detected: 3 Expected: 2
Glyph name: dcroat Contours detected: 3 Expected: 2
Glyph name: Emacron Contours detected: 3 Expected: 2
Glyph name: emacron Contours detected: 2 Expected: 3
Glyph name: Ebreve Contours detected: 3 Expected: 2
Glyph name: ebreve Contours detected: 2 Expected: 3
Glyph name: Edotaccent Contours detected: 3 Expected: 2
Glyph name: edotaccent Contours detected: 2 Expected: 3
Glyph name: Eogonek Contours detected: 3 Expected: 1 or 2
Glyph name: Ecaron Contours detected: 3 Expected: 2
Glyph name: ecaron Contours detected: 2 Expected: 3
Glyph name: Hcircumflex Contours detected: 4 Expected: 2
Glyph name: hcircumflex Contours detected: 3 Expected: 2
Glyph name: hbar Contours detected: 3 Expected: 1
Glyph name: uni0137 Contours detected: 4 Expected: 2 or 3
Glyph name: kgreenlandic Contours detected: 3 Expected: 1 or 2
Glyph name: Lslash Contours detected: 2 Expected: 1
Glyph name: lslash Contours detected: 2 Expected: 1
Glyph name: nacute Contours detected: 3 Expected: 2
Glyph name: uni0146 Contours detected: 3 Expected: 2
Glyph name: ncaron Contours detected: 3 Expected: 2
Glyph name: napostrophe Contours detected: 3 Expected: 2
Glyph name: Eng Contours detected: 4 Expected: 1
Glyph name: eng Contours detected: 3 Expected: 1
Glyph name: OE Contours detected: 3 Expected: 2
Glyph name: racute Contours detected: 3 Expected: 2
Glyph name: uni0157 Contours detected: 3 Expected: 2
Glyph name: rcaron Contours detected: 3 Expected: 2
Glyph name: Tbar Contours detected: 2 Expected: 1
Glyph name: tbar Contours detected: 2 Expected: 1
Glyph name: utilde Contours detected: 3 Expected: 2
Glyph name: umacron Contours detected: 3 Expected: 2
Glyph name: ubreve Contours detected: 3 Expected: 2
Glyph name: uring Contours detected: 4 Expected: 3
Glyph name: uhungarumlaut Contours detected: 4 Expected: 3
Glyph name: Uogonek Contours detected: 2 Expected: 1
Glyph name: uogonek Contours detected: 3 Expected: 1
Glyph name: wcircumflex Contours detected: 3 Expected: 2
Glyph name: uni018F Contours detected: 1 Expected: 2
Glyph name: uni01CC Contours detected: 4 Expected: 3
Glyph name: uni01EA Contours detected: 3 Expected: 2
Glyph name: uni01EB Contours detected: 3 Expected: 2
Glyph name: uni0259 Contours detected: 1 Expected: 2
Glyph name: uni1E24 Contours detected: 4 Expected: 2
Glyph name: uni1E25 Contours detected: 3 Expected: 2
Glyph name: uni1E45 Contours detected: 3 Expected: 2
Glyph name: uni1E5B Contours detected: 3 Expected: 2
Glyph name: wgrave Contours detected: 3 Expected: 2
Glyph name: wacute Contours detected: 3 Expected: 2
Glyph name: wdieresis Contours detected: 4 Expected: 3
Glyph name: uni1EB8 Contours detected: 3 Expected: 2
Glyph name: uni1EB9 Contours detected: 2 Expected: 3
Glyph name: uni1EBC Contours detected: 3 Expected: 2
Glyph name: uni1EBD Contours detected: 2 Expected: 3
Glyph name: uni1EE5 Contours detected: 3 Expected: 2

⚠️ WARN: Checking with Microsoft Font Validator.

LibreCaslonText-VF.ttf (file 1 of 1)
Complete: LibreCaslonText-VF.ttf.report.xml
Reports are ready!

  • ℹ️ INFO MS-FonVal: The file begins with an Offset Table (file contains a single font)
  • ℹ️ INFO MS-FonVal: Not an OpenType table, contents not validated DETAILS:

    • This table type is defined in the Apple TrueType spec.
  • ℹ️ INFO MS-FonVal: Unable to perform test due to previously detected errors DETAILS:
    • Glyph index 1 Test: ValidateSimpContMisor
    • Glyph index 10 Test: ValidateSimpContMisor
    • Glyph index 26 Test: ValidateSimpContMisor
    • Glyph index 38 Test: ValidateSimpContMisor
    • Glyph index 44 Test: ValidateSimpContMisor
    • Glyph index 69 Test: ValidateSimpContMisor
    • Glyph index 76 Test: ValidateSimpContMisor
    • Glyph index 91 Test: ValidateSimpContMisor
    • Glyph index 105 Test: ValidateSimpContMisor
    • Glyph index 107 Test: ValidateSimpContMisor
    • NOTE: 37 other similar results were hidden!
  • ℹ️ INFO MS-FonVal: Descender should be greater than or equal to head.yMin DETAILS: Descender = -462, head.yMin = -458
  • ℹ️ INFO MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 4
  • ℹ️ INFO MS-FonVal: maxSizeOfInstructions via method Drawings to correctΒ #1 DETAILS: maxSizeOfInstructions=0, computed from the glyf table
  • ℹ️ INFO MS-FonVal: No string for Typographic Family name (Name ID 16)
  • ℹ️ INFO MS-FonVal: No string for Typographic Subfamily name (Name ID 17)
  • ℹ️ INFO MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS:
    • glyph = 442, char = U+2019, name = apostrophe
    • glyph = 478, char = U+00B5, name = uni03BC.1
  • ℹ️ INFO MS-FonVal: The post name isn't in uniXXXX or uXXXXX format and there is no Adobe Glyph List entry DETAILS:
    • glyph = 454, char = U+000D, name = CR
    • glyph = 535, char = U+0000, name = NULL
  • ℹ️ INFO MS-FonVal: Rasterization not selected for validation
  • ℹ️ INFO MS-FonVal: Total time validating file DETAILS: 0:00:16
  • 🍞 PASS MS-FonVal: The numTables field is non-zero DETAILS: 18
  • 🍞 PASS MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid
  • 🍞 PASS MS-FonVal: The directory entry tags are in ascending order
  • 🍞 PASS MS-FonVal: The directory entry tag names are valid
  • 🍞 PASS MS-FonVal: The directory entry table offsets are all multiples of 4
  • 🍞 PASS MS-FonVal: All required tables are present
  • 🍞 PASS MS-FonVal: No unnecessary tables are present
  • 🍞 PASS MS-FonVal: Tables are in optimal order
  • 🍞 PASS MS-FonVal: All signature blocks were in format 1
  • 🍞 PASS MS-FonVal: All signature blocks' reserved values were 0
  • 🍞 PASS MS-FonVal: The digital signature of the file verified correctly
  • 🍞 PASS MS-FonVal: All header offsets point within the table
  • 🍞 PASS MS-FonVal: The Coverage offset is nonzero and points within the GDEF table DETAILS: LigCaretList
  • 🍞 PASS MS-FonVal: The offsets in the CaretValue array are valid DETAILS:
    • LigCaretList, LigGlyph[0]
    • LigCaretList, LigGlyph[1]
    • LigCaretList, LigGlyph[2]
    • LigCaretList, LigGlyph[3]
    • LigCaretList, LigGlyph[4]
    • LigCaretList, LigGlyph[5]
    • LigCaretList, LigGlyph[6]
    • LigCaretList, LigGlyph[7]
    • LigCaretList, LigGlyph[8]
    • LigCaretList, LigGlyph[9]
    • LigCaretList, LigGlyph[10]
    • LigCaretList, LigGlyph[11]
    • LigCaretList, LigGlyph[12]
    • LigCaretList, LigGlyph[13]
    • LigCaretList, LigGlyph[14]
    • LigCaretList, LigGlyph[15]
    • LigCaretList, LigGlyph[16]
  • 🍞 PASS MS-FonVal: The offsets in the LigGlyph array are valid DETAILS: LigCaretList
  • 🍞 PASS MS-FonVal: The version number is 0x00010000
  • 🍞 PASS MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord0, ScriptTable, DefaultLangSysTable
  • 🍞 PASS MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord0, ScriptTable
  • 🍞 PASS MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS:
    • FeatureList, FeatureRecord0, FeatureTable
    • FeatureList, FeatureRecord1, FeatureTable
    • FeatureList, FeatureRecord0, FeatureTable
    • FeatureList, FeatureRecord1, FeatureTable
    • FeatureList, FeatureRecord2, FeatureTable
    • FeatureList, FeatureRecord3, FeatureTable
    • FeatureList, FeatureRecord4, FeatureTable
    • FeatureList, FeatureRecord5, FeatureTable
    • FeatureList, FeatureRecord6, FeatureTable
    • FeatureList, FeatureRecord7, FeatureTable
  • 🍞 PASS MS-FonVal: The FeatureList table is valid DETAILS: FeatureList
  • 🍞 PASS MS-FonVal: The PairSet table is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[1]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[2]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[3]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[4]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[5]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[6]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[7]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[8]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[9]
    • NOTE: 360 other similar results were hidden!
  • 🍞 PASS MS-FonVal: The PairPos subtable is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1)
    • LookupList, Lookup[0], SubTable[1](PairPos, fmt 2)
  • 🍞 PASS MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[1], SubTable0, BaseArray
  • 🍞 PASS MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[1], SubTable0
  • 🍞 PASS MS-FonVal: The LookupList table is valid DETAILS: LookupList
  • 🍞 PASS MS-FonVal: The LigatureSubst subtable is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](LigatureSubst, fmt 1)
    • LookupList, Lookup[1], SubTable[0](LigatureSubst, fmt 1)
    • LookupList, Lookup[2], SubTable[0](LigatureSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The SingleSubst subtable is valid DETAILS:
    • LookupList, Lookup[3], SubTable[0](SingleSubst, fmt 2)
    • LookupList, Lookup[5], SubTable[0](SingleSubst, fmt 2)
    • LookupList, Lookup[6], SubTable[0](SingleSubst, fmt 1)
    • LookupList, Lookup[7], SubTable[0](SingleSubst, fmt 1)
    • LookupList, Lookup[8], SubTable[0](SingleSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The ChainContextSubst subtable is valid DETAILS:
    • LookupList, Lookup[4], SubTable[0](ChainContextSubst, fmt 3)
    • LookupList, Lookup[4], SubTable[1](ChainContextSubst, fmt 3)
  • 🍞 PASS MS-FonVal: The table length matches the expected length for this version
  • 🍞 PASS MS-FonVal: The usWeightClass is consistent with the PANOSE weight value
  • 🍞 PASS MS-FonVal: The usWeightClass is a valid value DETAILS: 400
  • 🍞 PASS MS-FonVal: The width class is a valid value DETAILS: 5
  • 🍞 PASS MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding
  • 🍞 PASS MS-FonVal: All subscript and superscript values appear valid
  • 🍞 PASS MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid
  • 🍞 PASS MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range
  • 🍞 PASS MS-FonVal: All panose values are in a valid range
  • 🍞 PASS MS-FonVal: The Unicode Range fields' bits are all allowable values
  • 🍞 PASS MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x0000, last = 0x2219
  • 🍞 PASS MS-FonVal: The CodePage Range fields' bits are all allowable values
  • 🍞 PASS MS-FonVal: The sxHeight field is nonzero DETAILS: 933
  • 🍞 PASS MS-FonVal: The sCapHeight field is nonzero DETAILS: 1355
  • 🍞 PASS MS-FonVal: The usDefaultChar field is zero
  • 🍞 PASS MS-FonVal: The usBreakChar is mapped to a glyf
  • 🍞 PASS MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3
  • 🍞 PASS MS-FonVal: The table version number is 0
  • 🍞 PASS MS-FonVal: Each subtable offset is within the table
  • 🍞 PASS MS-FonVal: Each subtable length is within the table
  • 🍞 PASS MS-FonVal: The subtables are in the correct order
  • 🍞 PASS MS-FonVal: There are no duplicate subtables
  • 🍞 PASS MS-FonVal: No overlapping subtables were found
  • 🍞 PASS MS-FonVal: Each subtable's format number is valid
  • 🍞 PASS MS-FonVal: The subtable internal format appears valid DETAILS:
    • PlatID = 0, EncID = 3, Fmt = 4
    • PlatID = 3, EncID = 1, Fmt = 4
  • 🍞 PASS MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1
  • 🍞 PASS MS-FonVal: No characters are mapped in the Unicode Private Use area
  • 🍞 PASS MS-FonVal: All non mac subtables have a language field of zero
  • 🍞 PASS MS-FonVal: Correct format of loca (0 or 1)
  • 🍞 PASS MS-FonVal: Table length is 54 bytes
  • 🍞 PASS MS-FonVal: The table version number is 0x00010000
  • 🍞 PASS MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.002
  • 🍞 PASS MS-FonVal: Font checksum is correct DETAILS: 0x52d9d41b
  • 🍞 PASS MS-FonVal: The magic number is 0x5f0f3cf5
  • 🍞 PASS MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present
  • 🍞 PASS MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present
  • 🍞 PASS MS-FonVal: Reserved bit 14 of the flags field is clear
  • 🍞 PASS MS-FonVal: Reserved bit 15 of the flags field is clear
  • 🍞 PASS MS-FonVal: The unitsPerEm value is a power of two in the range 64..16384 DETAILS: 2048
  • 🍞 PASS MS-FonVal: The created time is not zero DETAILS: created = 3624388363 (Tuesday, November 6, 2018 10:32 PM)
  • 🍞 PASS MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -280
  • 🍞 PASS MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -458
  • 🍞 PASS MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 2528
  • 🍞 PASS MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1708
  • 🍞 PASS MS-FonVal: The macStyle bold bit matches the name table's font subfamily string
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the name table's font subfamily string
  • 🍞 PASS MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the post table italic angle
  • 🍞 PASS MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2
  • 🍞 PASS MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0
  • 🍞 PASS MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0
  • 🍞 PASS MS-FonVal: The glyphDataFormat value is 0
  • 🍞 PASS MS-FonVal: The Ascender value is greater than zero
  • 🍞 PASS MS-FonVal: The Descender is less than zero
  • 🍞 PASS MS-FonVal: Ascender is less than or equal to head.yMax
  • 🍞 PASS MS-FonVal: LineGap is greater than or equal to 0
  • 🍞 PASS MS-FonVal: Ascender is same value as OS/2.usWinAscent
  • 🍞 PASS MS-FonVal: Descender value is the same as OS/2.usWinDescent
  • 🍞 PASS MS-FonVal: The LineGap is greater to or equal the minimum recommended value
  • 🍞 PASS MS-FonVal: The advanceWidthMax field equals the calculated value
  • 🍞 PASS MS-FonVal: The minLeftSideBearing field equals the calculated value
  • 🍞 PASS MS-FonVal: The minRightSideBearing field equals the calculated value
  • 🍞 PASS MS-FonVal: The xMaxExtent field equals the calculated value
  • 🍞 PASS MS-FonVal: The reserved fields are all set to zero
  • 🍞 PASS MS-FonVal: The metricDataFormat field is set to zero
  • 🍞 PASS MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table
  • 🍞 PASS MS-FonVal: The caretSlope angle matches the post.italicAngle
  • 🍞 PASS MS-FonVal: The size of the table matches the calculated size
  • 🍞 PASS MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1)
  • 🍞 PASS MS-FonVal: The entries are sorted in ascending order
  • 🍞 PASS MS-FonVal: All entries point within range of the glyf table
  • 🍞 PASS MS-FonVal: All glyphs in the glyf table are referenced by the loca table
  • 🍞 PASS MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present
  • 🍞 PASS MS-FonVal: Table version is 1.0 and the table is 32 bytes long
  • 🍞 PASS MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 537
  • 🍞 PASS MS-FonVal: The points, contours, and component values match the calculated values
  • 🍞 PASS MS-FonVal: The format selector field is 0
  • 🍞 PASS MS-FonVal: No strings extended past the end of the table
  • 🍞 PASS MS-FonVal: The NameRecords array is in sorted order
  • 🍞 PASS MS-FonVal: No name records are using reserved Name IDs
  • 🍞 PASS MS-FonVal: The table contains strings for both Mac and Microsoft platforms
  • 🍞 PASS MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.002"
  • 🍞 PASS MS-FonVal: All strings had valid Platform Specific Encoding IDs
  • 🍞 PASS MS-FonVal: All Microsoft unicode strings had valid Language IDs
  • 🍞 PASS MS-FonVal: The length of every unicode string is an even # of bytes
  • 🍞 PASS MS-FonVal: The subfamily string is consistent with the style of the font
  • 🍞 PASS MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14)
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Copyright strings
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Trademark strings
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Description strings
  • 🍞 PASS MS-FonVal: The table length is valid
  • 🍞 PASS MS-FonVal: The version number is valid
  • 🍞 PASS MS-FonVal: The italicAngle value is reasonable and consistent with other tables
  • 🍞 PASS MS-FonVal: The underlinePosition value is not less than hhea.Descender
  • 🍞 PASS MS-FonVal: The underlineThickness value is reasonable
  • 🍞 PASS MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables
  • 🍞 PASS MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs
  • 🍞 PASS MS-FonVal: The glyphNameIndex array contains valid indexes
  • 🍞 PASS MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names
  • ⚠️ WARN MS-FonVal: The version number is valid, but less than 5 DETAILS: 4
  • ⚠️ WARN MS-FonVal: There are undefined bits set in fsSelection field DETAILS: Bit(s) 7
  • ⚠️ WARN MS-FonVal: The value of sTypoAscender minus sTypoDescender is greater than unitsPerEm DETAILS: sTypoAscender = 1708, sTypoDescender = -462
  • ⚠️ WARN MS-FonVal: The table does not contain any Apple subtables
  • ⚠️ WARN MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present
  • ⚠️ WARN MS-FonVal: The modified time is an unlikely value DETAILS: modified = 3624629123 (Friday, November 9, 2018 5:25 PM)
  • ⚠️ WARN MS-FonVal: The lowestRecPPEM value may be unreasonably small DETAILS: lowestRecPPEM = 6
  • ⚠️ WARN MS-FonVal: The leftSideBearing is greater than the advance width (unlikely value) DETAILS: glyph# 509
  • ⚠️ WARN MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 DETAILS: Number of glyphs with the warning = 159
⚠️ WARN: Combined length of family and style must not exceed 20 characters.
  • com.google.fonts/check/163
  • ⚠️ WARN The combined length of family and style exceeds 20 chars in the following 'WINDOWS' entries: FONT_FAMILY_NAME = 'Libre Caslon Text' / SUBFAMILY_NAME = 'Regular'
⚠️ WARN: Is there kerning info for non-ligated sequences?
  • com.google.fonts/check/065

  • ⚠️ WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • f + f
    • f + b
    • b + f
    • f + h
    • h + f
    • f + i
    • i + f
    • f + j
    • j + f
    • f + k
    • k + f
    • f + l
    • l + f
    • f + t
    • t + b
    • h + i
    • i + j
    • j + k
    • k + l
    • l + t

    [code: lacks-kern-info]

πŸ’€ SKIP: Checking OS/2 usWeightClass.
πŸ’€ SKIP: Check copyright namerecords match license file.
πŸ’€ SKIP: Font has ttfautohint params?
πŸ’€ SKIP: Checks METADATA.pb font.name field matches family name declared on the name table.
πŸ’€ SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name value matches fullname declared on the name table?
πŸ’€ SKIP: METADATA.pb font.name value should be same as the family name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
πŸ’€ SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values?
πŸ’€ SKIP: METADATA.pb font.name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.full_name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.filename field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.post_script_name field contains font name in right format?
πŸ’€ SKIP: Copyright notice on METADATA.pb matches canonical pattern?
πŸ’€ SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'.
πŸ’€ SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars.
πŸ’€ SKIP: METADATA.pb: Filename is set canonically?
πŸ’€ SKIP: METADATA.pb font.style "italic" matches font internals?
πŸ’€ SKIP: METADATA.pb font.style "normal" matches font internals?
πŸ’€ SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
πŸ’€ SKIP: METADATA.pb: Check if fontname is not camel cased.
πŸ’€ SKIP: METADATA.pb: Check font name is the same as family name.
πŸ’€ SKIP: METADATA.pb: Check that font weight has a canonical value.
πŸ’€ SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb.
πŸ’€ SKIP: METADATA.pb weight matches postScriptName.
πŸ’€ SKIP: METADATA.pb: Font styles are named canonically?
πŸ’€ SKIP: Version number has increased since previous release on Google Fonts?
πŸ’€ SKIP: Glyphs are similiar to Google Fonts version?
πŸ’€ SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts?
πŸ’€ SKIP: Checking OS/2 fsSelection value.
πŸ’€ SKIP: Checking post.italicAngle value.
πŸ’€ SKIP: Checking head.macStyle value.
πŸ’€ SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
πŸ’€ SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
πŸ’€ SKIP: Font has all mandatory 'name' table entries ?
πŸ’€ SKIP: Check name table: FONT_FAMILY_NAME entries.
πŸ’€ SKIP: Check name table: FONT_SUBFAMILY_NAME entries.
πŸ’€ SKIP: Check name table: FULL_FONT_NAME entries.
πŸ’€ SKIP: Check name table: POSTSCRIPT_NAME entries.
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
πŸ’€ SKIP: FontForge validation outputs error messages?
πŸ’€ SKIP: FontForge checks.
πŸ’€ SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
πŸ’€ SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
ℹ️ INFO: Show hinting filesize impact.
LibreCaslonText-VF.ttf
Dehinted Size 124.2kb
Hinted Size 123.7kb
Increase -516 bytes
Change -0.0 %
ℹ️ INFO: Font has old ttfautohint applied?
  • com.google.fonts/check/056
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.002']
ℹ️ INFO: EPAR table present in font?
ℹ️ INFO: Check for font-v versioning
  • com.google.fonts/check/166
  • ℹ️ INFO Version string is: "Version 1.002"
    The version string must ideally include a git commit hash and either a 'dev' or a 'release' suffix such as in the example below:
    "Version 1.3; git-0d08353-release"
ℹ️ INFO: Font contains all required tables?
  • com.google.fonts/check/052
  • ℹ️ INFO This font contains the following optional tables [GPOS, loca, GSUB, DSIG]
  • 🍞 PASS Font contains all required tables.
🍞 PASS: Checking file is named canonically.
🍞 PASS: Fonts have equal numbers of glyphs?
🍞 PASS: Fonts have equal glyph names?
🍞 PASS: Checking OS/2 fsType.
🍞 PASS: Checking OS/2 achVendID.
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
  • com.google.fonts/check/019
  • 🍞 PASS No need to substitute copyright, registered and trademark symbols in name table entries of this font.
🍞 PASS: "License URL matches License text on name table?
🍞 PASS: Description strings in the name table must not exceed 200 characters.
🍞 PASS: Version format is correct in 'name' table?
🍞 PASS: Make sure family name does not begin with a digit.
🍞 PASS: Font has all expected currency sign characters?
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
🍞 PASS: Length of copyright notice must not exceed 500 characters.
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
🍞 PASS: Check a static ttf can be generated from a variable font.
🍞 PASS: Check that variable fonts have an HVAR table.
🍞 PASS: Checking OS/2 usWinAscent & usWinDescent.
🍞 PASS: Checking OS/2 Metrics match hhea Metrics.
🍞 PASS: There must not be VTT Talk sources in the font.
🍞 PASS: Checking with ftxvalidator.
🍞 PASS: Checking with ots-sanitize.
🍞 PASS: Font contains .notdef as first glyph?
  • com.google.fonts/check/046
  • 🍞 PASS Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
🍞 PASS: Font contains glyphs for whitespace characters?
🍞 PASS: Font has **proper** whitespace glyph names?
🍞 PASS: Whitespace glyphs have ink?
🍞 PASS: Are there unwanted tables?
🍞 PASS: Glyph names are all valid?
🍞 PASS: Font contains unique glyph names?
🍞 PASS: Checking with fontTools.ttx
🍞 PASS: Check glyphs have unique unicode codepoints.
🍞 PASS: Check all glyphs have codepoints assigned.
🍞 PASS: Checking unitsPerEm value is reasonable.
🍞 PASS: Checking font version fields (head and name table).
🍞 PASS: Check if OS/2 xAvgCharWidth is correct.
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
🍞 PASS: Description strings in the name table must not contain copyright info.
🍞 PASS: Checking correctness of monospaced metadata.
🍞 PASS: Name table entries should not contain line-breaks.
🍞 PASS: Does full font name begin with the font family name?
🍞 PASS: Font follows the family naming recommendations?
🍞 PASS: Name table strings must not contain the string 'Reserved Font Name'.
🍞 PASS: Checking Vertical Metric Linegaps.
🍞 PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
🍞 PASS: Does the font have a DSIG table?
🍞 PASS: Whitespace and non-breaking space have the same width?
🍞 PASS: Does GPOS table have kerning information?
🍞 PASS: Are there caret positions declared for every ligature?
🍞 PASS: Is there a "kern" table declared in the font?
🍞 PASS: Is there any unused data at the end of the glyf table?
🍞 PASS: Check for points out of bounds.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?

Summary

πŸ’” ERROR πŸ”₯ FAIL ⚠️ WARN πŸ’€ SKIP ℹ️ INFO 🍞 PASS
0 3 5 63 6 59
0% 2% 4% 46% 4% 43%

@thundernixon
Copy link
Owner Author

thundernixon commented Nov 9, 2018

Fontbakery report

Fontbakery version: 0.5.2.dev136+g7a5a29b6

[23] Family checks
πŸ”₯ FAIL: Check font has a license.
  • com.google.fonts/check/028
  • πŸ”₯ FAIL No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: no-license]
ℹ️ INFO: Do we have the latest version of FontBakery installed?
  • com.google.fonts/check/fontbakery_version

  • ℹ️ INFO fontbakery (0.6.0) - Well designed Font QA tool, written in Python 3
    INSTALLED: 0.5.2.dev136+g7a5a29b6
    LATEST: 0.6.0

  • 🍞 PASS Font Bakery is up-to-date

🍞 PASS: Checking all files are in the same directory.
🍞 PASS: Fonts have equal unicode encodings?
🍞 PASS: Make sure all font files have the same version value.
🍞 PASS: Fonts have consistent PANOSE proportion?
🍞 PASS: Fonts have consistent PANOSE family type?
🍞 PASS: Fonts have consistent underline thickness?
πŸ’€ SKIP: Does DESCRIPTION file contain broken links?
πŸ’€ SKIP: Is this a proper HTML snippet?
πŸ’€ SKIP: DESCRIPTION.en_us.html must have more than 200 bytes.
πŸ’€ SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes.
πŸ’€ SKIP: Font designer field in METADATA.pb must not be 'unknown'.
πŸ’€ SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API?
πŸ’€ SKIP: METADATA.pb: check if fonts field only has unique "full_name" values.
πŸ’€ SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs.
πŸ’€ SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
πŸ’€ SKIP: METADATA.pb should contain at least "menu" and "latin" subsets.
πŸ’€ SKIP: METADATA.pb subsets should be alphabetically ordered.
πŸ’€ SKIP: METADATA.pb: Copyright notice is the same in all fonts?
πŸ’€ SKIP: Check that METADATA.pb family values are all the same.
πŸ’€ SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style.
πŸ’€ SKIP: METADATA.pb: Regular should be 400.

[113] LibreCaslonText-VF.ttf
πŸ”₯ FAIL: Is 'gasp' table set to optimize rendering?

πŸ‘‰ Waiting on hinting analysis & decisions from Marc & Micah

πŸ”₯ FAIL: Font enables smart dropout control in "prep" table instructions?
  • com.google.fonts/check/072
  • πŸ”₯ FAIL 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script.

πŸ‘‰ Waiting on hinting analysis & decisions from Marc & Micah

⚠️ WARN: Is font em size (ideally) equal to 1000?

πŸ‘‰ 2048 is acceptable, too. Going to file an issue about this message.

⚠️ WARN: Check if each glyph has the recommended amount of contours.

πŸ‘‰ It's a variable font.

  • com.google.fonts/check/153
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

Glyph name: numbersign Contours detected: 4 Expected: 2
Glyph name: dollar Contours detected: 2 Expected: 1 or 3
Glyph name: plus Contours detected: 2 Expected: 1
Glyph name: E Contours detected: 2 Expected: 1
Glyph name: F Contours detected: 2 Expected: 1
Glyph name: H Contours detected: 3 Expected: 1
Glyph name: e Contours detected: 1 Expected: 2
Glyph name: f Contours detected: 2 Expected: 1
Glyph name: h Contours detected: 2 Expected: 1
Glyph name: k Contours detected: 3 Expected: 1 or 2
Glyph name: m Contours detected: 3 Expected: 1
Glyph name: n Contours detected: 2 Expected: 1
Glyph name: r Contours detected: 2 Expected: 1
Glyph name: u Contours detected: 2 Expected: 1
Glyph name: w Contours detected: 2 Expected: 1
Glyph name: x Contours detected: 3 Expected: 1
Glyph name: yen Contours detected: 4 Expected: 1 or 2
Glyph name: Euro Contours detected: 3 Expected: 1 or 2
Glyph name: logicalnot Contours detected: 2 Expected: 1
Glyph name: plusminus Contours detected: 3 Expected: 1 or 2
Glyph name: Egrave Contours detected: 3 Expected: 2
Glyph name: Eacute Contours detected: 3 Expected: 2
Glyph name: Ecircumflex Contours detected: 3 Expected: 2
Glyph name: Edieresis Contours detected: 4 Expected: 3
Glyph name: multiply Contours detected: 2 Expected: 1
Glyph name: germandbls Contours detected: 2 Expected: 1
Glyph name: egrave Contours detected: 2 Expected: 3
Glyph name: eacute Contours detected: 2 Expected: 3
Glyph name: ecircumflex Contours detected: 2 Expected: 3
Glyph name: edieresis Contours detected: 3 Expected: 4
Glyph name: eth Contours detected: 3 Expected: 2
Glyph name: ntilde Contours detected: 3 Expected: 2
Glyph name: ugrave Contours detected: 3 Expected: 2
Glyph name: uacute Contours detected: 3 Expected: 2
Glyph name: ucircumflex Contours detected: 3 Expected: 2
Glyph name: udieresis Contours detected: 4 Expected: 3
Glyph name: aogonek Contours detected: 3 Expected: 2
Glyph name: dcroat Contours detected: 3 Expected: 2
Glyph name: Emacron Contours detected: 3 Expected: 2
Glyph name: emacron Contours detected: 2 Expected: 3
Glyph name: Ebreve Contours detected: 3 Expected: 2
Glyph name: ebreve Contours detected: 2 Expected: 3
Glyph name: Edotaccent Contours detected: 3 Expected: 2
Glyph name: edotaccent Contours detected: 2 Expected: 3
Glyph name: Eogonek Contours detected: 3 Expected: 1 or 2
Glyph name: Ecaron Contours detected: 3 Expected: 2
Glyph name: ecaron Contours detected: 2 Expected: 3
Glyph name: Hcircumflex Contours detected: 4 Expected: 2
Glyph name: hcircumflex Contours detected: 3 Expected: 2
Glyph name: hbar Contours detected: 3 Expected: 1
Glyph name: uni0137 Contours detected: 4 Expected: 2 or 3
Glyph name: kgreenlandic Contours detected: 3 Expected: 1 or 2
Glyph name: Lslash Contours detected: 2 Expected: 1
Glyph name: lslash Contours detected: 2 Expected: 1
Glyph name: nacute Contours detected: 3 Expected: 2
Glyph name: uni0146 Contours detected: 3 Expected: 2
Glyph name: ncaron Contours detected: 3 Expected: 2
Glyph name: napostrophe Contours detected: 3 Expected: 2
Glyph name: Eng Contours detected: 4 Expected: 1
Glyph name: eng Contours detected: 3 Expected: 1
Glyph name: OE Contours detected: 3 Expected: 2
Glyph name: racute Contours detected: 3 Expected: 2
Glyph name: uni0157 Contours detected: 3 Expected: 2
Glyph name: rcaron Contours detected: 3 Expected: 2
Glyph name: Tbar Contours detected: 2 Expected: 1
Glyph name: tbar Contours detected: 2 Expected: 1
Glyph name: utilde Contours detected: 3 Expected: 2
Glyph name: umacron Contours detected: 3 Expected: 2
Glyph name: ubreve Contours detected: 3 Expected: 2
Glyph name: uring Contours detected: 4 Expected: 3
Glyph name: uhungarumlaut Contours detected: 4 Expected: 3
Glyph name: Uogonek Contours detected: 2 Expected: 1
Glyph name: uogonek Contours detected: 3 Expected: 1
Glyph name: wcircumflex Contours detected: 3 Expected: 2
Glyph name: uni018F Contours detected: 1 Expected: 2
Glyph name: uni01CC Contours detected: 4 Expected: 3
Glyph name: uni01EA Contours detected: 3 Expected: 2
Glyph name: uni01EB Contours detected: 3 Expected: 2
Glyph name: uni0259 Contours detected: 1 Expected: 2
Glyph name: uni1E24 Contours detected: 4 Expected: 2
Glyph name: uni1E25 Contours detected: 3 Expected: 2
Glyph name: uni1E45 Contours detected: 3 Expected: 2
Glyph name: uni1E5B Contours detected: 3 Expected: 2
Glyph name: wgrave Contours detected: 3 Expected: 2
Glyph name: wacute Contours detected: 3 Expected: 2
Glyph name: wdieresis Contours detected: 4 Expected: 3
Glyph name: uni1EB8 Contours detected: 3 Expected: 2
Glyph name: uni1EB9 Contours detected: 2 Expected: 3
Glyph name: uni1EBC Contours detected: 3 Expected: 2
Glyph name: uni1EBD Contours detected: 2 Expected: 3
Glyph name: uni1EE5 Contours detected: 3 Expected: 2

⚠️ WARN: Checking with Microsoft Font Validator.

πŸ‘‰ Complete, aside from a few questions I'll ask when I Pull Request the font into the GF library

LibreCaslonText-VF.ttf (file 1 of 1)
Complete: LibreCaslonText-VF.ttf.report.xml
Reports are ready!

  • ℹ️ INFO MS-FonVal: The file begins with an Offset Table (file contains a single font)
  • ℹ️ INFO MS-FonVal: Not an OpenType table, contents not validated DETAILS:

    • This table type is defined in the Apple TrueType spec.
  • ℹ️ INFO MS-FonVal: Unable to perform test due to previously detected errors DETAILS:
    • Glyph index 1 Test: ValidateSimpContMisor
    • Glyph index 10 Test: ValidateSimpContMisor
    • Glyph index 26 Test: ValidateSimpContMisor
    • Glyph index 38 Test: ValidateSimpContMisor
    • Glyph index 44 Test: ValidateSimpContMisor
    • Glyph index 69 Test: ValidateSimpContMisor
    • Glyph index 76 Test: ValidateSimpContMisor
    • Glyph index 91 Test: ValidateSimpContMisor
    • Glyph index 105 Test: ValidateSimpContMisor
    • Glyph index 107 Test: ValidateSimpContMisor
    • NOTE: 37 other similar results were hidden!
  • ℹ️ INFO MS-FonVal: Descender should be greater than or equal to head.yMin DETAILS: Descender = -462, head.yMin = -458
  • ℹ️ INFO MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 4
  • ℹ️ INFO MS-FonVal: maxSizeOfInstructions via method Drawings to correctΒ #1 DETAILS: maxSizeOfInstructions=0, computed from the glyf table
  • ℹ️ INFO MS-FonVal: No string for Typographic Family name (Name ID 16)
  • ℹ️ INFO MS-FonVal: No string for Typographic Subfamily name (Name ID 17)
  • ℹ️ INFO MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS:
    • glyph = 442, char = U+2019, name = apostrophe
    • glyph = 478, char = U+00B5, name = uni03BC.1
  • ℹ️ INFO MS-FonVal: The post name isn't in uniXXXX or uXXXXX format and there is no Adobe Glyph List entry DETAILS:
    • glyph = 454, char = U+000D, name = CR
    • glyph = 535, char = U+0000, name = NULL
  • ℹ️ INFO MS-FonVal: Rasterization not selected for validation
  • ℹ️ INFO MS-FonVal: Total time validating file DETAILS: 0:00:16
  • 🍞 PASS MS-FonVal: The numTables field is non-zero DETAILS: 18
  • 🍞 PASS MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid
  • 🍞 PASS MS-FonVal: The directory entry tags are in ascending order
  • 🍞 PASS MS-FonVal: The directory entry tag names are valid
  • 🍞 PASS MS-FonVal: The directory entry table offsets are all multiples of 4
  • 🍞 PASS MS-FonVal: All required tables are present
  • 🍞 PASS MS-FonVal: No unnecessary tables are present
  • 🍞 PASS MS-FonVal: Tables are in optimal order
  • 🍞 PASS MS-FonVal: All signature blocks were in format 1
  • 🍞 PASS MS-FonVal: All signature blocks' reserved values were 0
  • 🍞 PASS MS-FonVal: The digital signature of the file verified correctly
  • 🍞 PASS MS-FonVal: All header offsets point within the table
  • 🍞 PASS MS-FonVal: The Coverage offset is nonzero and points within the GDEF table DETAILS: LigCaretList
  • 🍞 PASS MS-FonVal: The offsets in the CaretValue array are valid DETAILS:
    • LigCaretList, LigGlyph[0]
    • LigCaretList, LigGlyph[1]
    • LigCaretList, LigGlyph[2]
    • LigCaretList, LigGlyph[3]
    • LigCaretList, LigGlyph[4]
    • LigCaretList, LigGlyph[5]
    • LigCaretList, LigGlyph[6]
    • LigCaretList, LigGlyph[7]
    • LigCaretList, LigGlyph[8]
    • LigCaretList, LigGlyph[9]
    • LigCaretList, LigGlyph[10]
    • LigCaretList, LigGlyph[11]
    • LigCaretList, LigGlyph[12]
    • LigCaretList, LigGlyph[13]
    • LigCaretList, LigGlyph[14]
    • LigCaretList, LigGlyph[15]
    • LigCaretList, LigGlyph[16]
  • 🍞 PASS MS-FonVal: The offsets in the LigGlyph array are valid DETAILS: LigCaretList
  • 🍞 PASS MS-FonVal: The version number is 0x00010000
  • 🍞 PASS MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord0, ScriptTable, DefaultLangSysTable
  • 🍞 PASS MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord0, ScriptTable
  • 🍞 PASS MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS:
    • FeatureList, FeatureRecord0, FeatureTable
    • FeatureList, FeatureRecord1, FeatureTable
    • FeatureList, FeatureRecord0, FeatureTable
    • FeatureList, FeatureRecord1, FeatureTable
    • FeatureList, FeatureRecord2, FeatureTable
    • FeatureList, FeatureRecord3, FeatureTable
    • FeatureList, FeatureRecord4, FeatureTable
    • FeatureList, FeatureRecord5, FeatureTable
    • FeatureList, FeatureRecord6, FeatureTable
    • FeatureList, FeatureRecord7, FeatureTable
  • 🍞 PASS MS-FonVal: The FeatureList table is valid DETAILS: FeatureList
  • 🍞 PASS MS-FonVal: The PairSet table is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[1]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[2]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[3]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[4]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[5]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[6]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[7]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[8]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[9]
    • NOTE: 360 other similar results were hidden!
  • 🍞 PASS MS-FonVal: The PairPos subtable is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1)
    • LookupList, Lookup[0], SubTable[1](PairPos, fmt 2)
  • 🍞 PASS MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[1], SubTable0, BaseArray
  • 🍞 PASS MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[1], SubTable0
  • 🍞 PASS MS-FonVal: The LookupList table is valid DETAILS: LookupList
  • 🍞 PASS MS-FonVal: The LigatureSubst subtable is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](LigatureSubst, fmt 1)
    • LookupList, Lookup[1], SubTable[0](LigatureSubst, fmt 1)
    • LookupList, Lookup[2], SubTable[0](LigatureSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The SingleSubst subtable is valid DETAILS:
    • LookupList, Lookup[3], SubTable[0](SingleSubst, fmt 2)
    • LookupList, Lookup[5], SubTable[0](SingleSubst, fmt 2)
    • LookupList, Lookup[6], SubTable[0](SingleSubst, fmt 1)
    • LookupList, Lookup[7], SubTable[0](SingleSubst, fmt 1)
    • LookupList, Lookup[8], SubTable[0](SingleSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The ChainContextSubst subtable is valid DETAILS:
    • LookupList, Lookup[4], SubTable[0](ChainContextSubst, fmt 3)
    • LookupList, Lookup[4], SubTable[1](ChainContextSubst, fmt 3)
  • 🍞 PASS MS-FonVal: The table length matches the expected length for this version
  • 🍞 PASS MS-FonVal: The usWeightClass is consistent with the PANOSE weight value
  • 🍞 PASS MS-FonVal: The usWeightClass is a valid value DETAILS: 400
  • 🍞 PASS MS-FonVal: The width class is a valid value DETAILS: 5
  • 🍞 PASS MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding
  • 🍞 PASS MS-FonVal: All subscript and superscript values appear valid
  • 🍞 PASS MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid
  • 🍞 PASS MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range
  • 🍞 PASS MS-FonVal: All panose values are in a valid range
  • 🍞 PASS MS-FonVal: The Unicode Range fields' bits are all allowable values
  • 🍞 PASS MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x0000, last = 0x2219
  • 🍞 PASS MS-FonVal: The CodePage Range fields' bits are all allowable values
  • 🍞 PASS MS-FonVal: The sxHeight field is nonzero DETAILS: 933
  • 🍞 PASS MS-FonVal: The sCapHeight field is nonzero DETAILS: 1355
  • 🍞 PASS MS-FonVal: The usDefaultChar field is zero
  • 🍞 PASS MS-FonVal: The usBreakChar is mapped to a glyf
  • 🍞 PASS MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3
  • 🍞 PASS MS-FonVal: The table version number is 0
  • 🍞 PASS MS-FonVal: Each subtable offset is within the table
  • 🍞 PASS MS-FonVal: Each subtable length is within the table
  • 🍞 PASS MS-FonVal: The subtables are in the correct order
  • 🍞 PASS MS-FonVal: There are no duplicate subtables
  • 🍞 PASS MS-FonVal: No overlapping subtables were found
  • 🍞 PASS MS-FonVal: Each subtable's format number is valid
  • 🍞 PASS MS-FonVal: The subtable internal format appears valid DETAILS:
    • PlatID = 0, EncID = 3, Fmt = 4
    • PlatID = 3, EncID = 1, Fmt = 4
  • 🍞 PASS MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1
  • 🍞 PASS MS-FonVal: No characters are mapped in the Unicode Private Use area
  • 🍞 PASS MS-FonVal: All non mac subtables have a language field of zero
  • 🍞 PASS MS-FonVal: Correct format of loca (0 or 1)
  • 🍞 PASS MS-FonVal: Table length is 54 bytes
  • 🍞 PASS MS-FonVal: The table version number is 0x00010000
  • 🍞 PASS MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.002
  • 🍞 PASS MS-FonVal: Font checksum is correct DETAILS: 0x52d9d41b
  • 🍞 PASS MS-FonVal: The magic number is 0x5f0f3cf5
  • 🍞 PASS MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present
  • 🍞 PASS MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present
  • 🍞 PASS MS-FonVal: Reserved bit 14 of the flags field is clear
  • 🍞 PASS MS-FonVal: Reserved bit 15 of the flags field is clear
  • 🍞 PASS MS-FonVal: The unitsPerEm value is a power of two in the range 64..16384 DETAILS: 2048
  • 🍞 PASS MS-FonVal: The created time is not zero DETAILS: created = 3624388363 (Tuesday, November 6, 2018 10:32 PM)
  • 🍞 PASS MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -280
  • 🍞 PASS MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -458
  • 🍞 PASS MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 2528
  • 🍞 PASS MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1708
  • 🍞 PASS MS-FonVal: The macStyle bold bit matches the name table's font subfamily string
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the name table's font subfamily string
  • 🍞 PASS MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the post table italic angle
  • 🍞 PASS MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2
  • 🍞 PASS MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0
  • 🍞 PASS MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0
  • 🍞 PASS MS-FonVal: The glyphDataFormat value is 0
  • 🍞 PASS MS-FonVal: The Ascender value is greater than zero
  • 🍞 PASS MS-FonVal: The Descender is less than zero
  • 🍞 PASS MS-FonVal: Ascender is less than or equal to head.yMax
  • 🍞 PASS MS-FonVal: LineGap is greater than or equal to 0
  • 🍞 PASS MS-FonVal: Ascender is same value as OS/2.usWinAscent
  • 🍞 PASS MS-FonVal: Descender value is the same as OS/2.usWinDescent
  • 🍞 PASS MS-FonVal: The LineGap is greater to or equal the minimum recommended value
  • 🍞 PASS MS-FonVal: The advanceWidthMax field equals the calculated value
  • 🍞 PASS MS-FonVal: The minLeftSideBearing field equals the calculated value
  • 🍞 PASS MS-FonVal: The minRightSideBearing field equals the calculated value
  • 🍞 PASS MS-FonVal: The xMaxExtent field equals the calculated value
  • 🍞 PASS MS-FonVal: The reserved fields are all set to zero
  • 🍞 PASS MS-FonVal: The metricDataFormat field is set to zero
  • 🍞 PASS MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table
  • 🍞 PASS MS-FonVal: The caretSlope angle matches the post.italicAngle
  • 🍞 PASS MS-FonVal: The size of the table matches the calculated size
  • 🍞 PASS MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1)
  • 🍞 PASS MS-FonVal: The entries are sorted in ascending order
  • 🍞 PASS MS-FonVal: All entries point within range of the glyf table
  • 🍞 PASS MS-FonVal: All glyphs in the glyf table are referenced by the loca table
  • 🍞 PASS MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present
  • 🍞 PASS MS-FonVal: Table version is 1.0 and the table is 32 bytes long
  • 🍞 PASS MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 537
  • 🍞 PASS MS-FonVal: The points, contours, and component values match the calculated values
  • 🍞 PASS MS-FonVal: The format selector field is 0
  • 🍞 PASS MS-FonVal: No strings extended past the end of the table
  • 🍞 PASS MS-FonVal: The NameRecords array is in sorted order
  • 🍞 PASS MS-FonVal: No name records are using reserved Name IDs
  • 🍞 PASS MS-FonVal: The table contains strings for both Mac and Microsoft platforms
  • 🍞 PASS MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.002"
  • 🍞 PASS MS-FonVal: All strings had valid Platform Specific Encoding IDs
  • 🍞 PASS MS-FonVal: All Microsoft unicode strings had valid Language IDs
  • 🍞 PASS MS-FonVal: The length of every unicode string is an even # of bytes
  • 🍞 PASS MS-FonVal: The subfamily string is consistent with the style of the font
  • 🍞 PASS MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14)
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Copyright strings
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Trademark strings
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Description strings
  • 🍞 PASS MS-FonVal: The table length is valid
  • 🍞 PASS MS-FonVal: The version number is valid
  • 🍞 PASS MS-FonVal: The italicAngle value is reasonable and consistent with other tables
  • 🍞 PASS MS-FonVal: The underlinePosition value is not less than hhea.Descender
  • 🍞 PASS MS-FonVal: The underlineThickness value is reasonable
  • 🍞 PASS MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables
  • 🍞 PASS MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs
  • 🍞 PASS MS-FonVal: The glyphNameIndex array contains valid indexes
  • 🍞 PASS MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names
  • ⚠️ WARN MS-FonVal: The version number is valid, but less than 5 DETAILS: 4
  • ⚠️ WARN MS-FonVal: There are undefined bits set in fsSelection field DETAILS: Bit(s) 7
  • ⚠️ WARN MS-FonVal: The value of sTypoAscender minus sTypoDescender is greater than unitsPerEm DETAILS: sTypoAscender = 1708, sTypoDescender = -462
  • ⚠️ WARN MS-FonVal: The table does not contain any Apple subtables
  • ⚠️ WARN MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present
  • ⚠️ WARN MS-FonVal: The modified time is an unlikely value DETAILS: modified = 3624629123 (Friday, November 9, 2018 5:25 PM)
  • ⚠️ WARN MS-FonVal: The lowestRecPPEM value may be unreasonably small DETAILS: lowestRecPPEM = 6
  • ⚠️ WARN MS-FonVal: The leftSideBearing is greater than the advance width (unlikely value) DETAILS: glyph# 509
  • ⚠️ WARN MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 DETAILS: Number of glyphs with the warning = 159
⚠️ WARN: Combined length of family and style must not exceed 20 characters.

πŸ‘‰ Debatable. I've filed an issue about this check.

  • com.google.fonts/check/163
  • ⚠️ WARN The combined length of family and style exceeds 20 chars in the following 'WINDOWS' entries: FONT_FAMILY_NAME = 'Libre Caslon Text' / SUBFAMILY_NAME = 'Regular'
⚠️ WARN: Is there kerning info for non-ligated sequences?

πŸ‘‰ I kerned the sequences that needed kerning.

  • com.google.fonts/check/065

  • ⚠️ WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • f + f
    • f + b
    • b + f
    • f + h
    • h + f
    • f + i
    • i + f
    • f + j
    • j + f
    • f + k
    • k + f
    • f + l
    • l + f
    • f + t
    • t + b
    • h + i
    • i + j
    • j + k
    • k + l
    • l + t

    [code: lacks-kern-info]

πŸ’€ SKIP: Checking OS/2 usWeightClass.
πŸ’€ SKIP: Check copyright namerecords match license file.
πŸ’€ SKIP: Font has ttfautohint params?
πŸ’€ SKIP: Checks METADATA.pb font.name field matches family name declared on the name table.
πŸ’€ SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name value matches fullname declared on the name table?
πŸ’€ SKIP: METADATA.pb font.name value should be same as the family name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
πŸ’€ SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values?
πŸ’€ SKIP: METADATA.pb font.name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.full_name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.filename field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.post_script_name field contains font name in right format?
πŸ’€ SKIP: Copyright notice on METADATA.pb matches canonical pattern?
πŸ’€ SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'.
πŸ’€ SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars.
πŸ’€ SKIP: METADATA.pb: Filename is set canonically?
πŸ’€ SKIP: METADATA.pb font.style "italic" matches font internals?
πŸ’€ SKIP: METADATA.pb font.style "normal" matches font internals?
πŸ’€ SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
πŸ’€ SKIP: METADATA.pb: Check if fontname is not camel cased.
πŸ’€ SKIP: METADATA.pb: Check font name is the same as family name.
πŸ’€ SKIP: METADATA.pb: Check that font weight has a canonical value.
πŸ’€ SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb.
πŸ’€ SKIP: METADATA.pb weight matches postScriptName.
πŸ’€ SKIP: METADATA.pb: Font styles are named canonically?
πŸ’€ SKIP: Version number has increased since previous release on Google Fonts?
πŸ’€ SKIP: Glyphs are similiar to Google Fonts version?
πŸ’€ SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts?
πŸ’€ SKIP: Checking OS/2 fsSelection value.
πŸ’€ SKIP: Checking post.italicAngle value.
πŸ’€ SKIP: Checking head.macStyle value.
πŸ’€ SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
πŸ’€ SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
πŸ’€ SKIP: Font has all mandatory 'name' table entries ?
πŸ’€ SKIP: Check name table: FONT_FAMILY_NAME entries.
πŸ’€ SKIP: Check name table: FONT_SUBFAMILY_NAME entries.
πŸ’€ SKIP: Check name table: FULL_FONT_NAME entries.
πŸ’€ SKIP: Check name table: POSTSCRIPT_NAME entries.
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
πŸ’€ SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
πŸ’€ SKIP: FontForge validation outputs error messages?
πŸ’€ SKIP: FontForge checks.
πŸ’€ SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
πŸ’€ SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
ℹ️ INFO: Show hinting filesize impact.
LibreCaslonText-VF.ttf
Dehinted Size 124.2kb
Hinted Size 123.7kb
Increase -516 bytes
Change -0.0 %
ℹ️ INFO: Font has old ttfautohint applied?
  • com.google.fonts/check/056
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.002']
ℹ️ INFO: EPAR table present in font?
ℹ️ INFO: Check for font-v versioning
  • com.google.fonts/check/166
  • ℹ️ INFO Version string is: "Version 1.002"
    The version string must ideally include a git commit hash and either a 'dev' or a 'release' suffix such as in the example below:
    "Version 1.3; git-0d08353-release"
ℹ️ INFO: Font contains all required tables?
  • com.google.fonts/check/052
  • ℹ️ INFO This font contains the following optional tables [GPOS, loca, GSUB, DSIG]
  • 🍞 PASS Font contains all required tables.
🍞 PASS: Checking file is named canonically.
🍞 PASS: Fonts have equal numbers of glyphs?
🍞 PASS: Fonts have equal glyph names?
🍞 PASS: Checking OS/2 fsType.
🍞 PASS: Checking OS/2 achVendID.
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
  • com.google.fonts/check/019
  • 🍞 PASS No need to substitute copyright, registered and trademark symbols in name table entries of this font.
🍞 PASS: "License URL matches License text on name table?
🍞 PASS: Description strings in the name table must not exceed 200 characters.
🍞 PASS: Version format is correct in 'name' table?
🍞 PASS: Make sure family name does not begin with a digit.
🍞 PASS: Font has all expected currency sign characters?
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
🍞 PASS: Length of copyright notice must not exceed 500 characters.
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
🍞 PASS: Check a static ttf can be generated from a variable font.
🍞 PASS: Check that variable fonts have an HVAR table.
🍞 PASS: Checking OS/2 usWinAscent & usWinDescent.
🍞 PASS: Checking OS/2 Metrics match hhea Metrics.
🍞 PASS: There must not be VTT Talk sources in the font.
🍞 PASS: Checking with ftxvalidator.
🍞 PASS: Checking with ots-sanitize.
🍞 PASS: Font contains .notdef as first glyph?
  • com.google.fonts/check/046
  • 🍞 PASS Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
🍞 PASS: Font contains glyphs for whitespace characters?
🍞 PASS: Font has **proper** whitespace glyph names?
🍞 PASS: Whitespace glyphs have ink?
🍞 PASS: Are there unwanted tables?
🍞 PASS: Glyph names are all valid?
🍞 PASS: Font contains unique glyph names?
🍞 PASS: Checking with fontTools.ttx
🍞 PASS: Check glyphs have unique unicode codepoints.
🍞 PASS: Check all glyphs have codepoints assigned.
🍞 PASS: Checking unitsPerEm value is reasonable.
🍞 PASS: Checking font version fields (head and name table).
🍞 PASS: Check if OS/2 xAvgCharWidth is correct.
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
🍞 PASS: Description strings in the name table must not contain copyright info.
🍞 PASS: Checking correctness of monospaced metadata.
🍞 PASS: Name table entries should not contain line-breaks.
🍞 PASS: Does full font name begin with the font family name?
🍞 PASS: Font follows the family naming recommendations?
🍞 PASS: Name table strings must not contain the string 'Reserved Font Name'.
🍞 PASS: Checking Vertical Metric Linegaps.
🍞 PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
🍞 PASS: Does the font have a DSIG table?
🍞 PASS: Whitespace and non-breaking space have the same width?
🍞 PASS: Does GPOS table have kerning information?
🍞 PASS: Are there caret positions declared for every ligature?
🍞 PASS: Is there a "kern" table declared in the font?
🍞 PASS: Is there any unused data at the end of the glyf table?
🍞 PASS: Check for points out of bounds.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?

Summary

πŸ’” ERROR πŸ”₯ FAIL ⚠️ WARN πŸ’€ SKIP ℹ️ INFO 🍞 PASS
0 3 5 63 6 59
0% 2% 4% 46% 4% 43%

@thundernixon
Copy link
Owner Author

Fontbakery report: Libre Caslon Text Italic

Fontbakery report

Fontbakery version: 0.5.2.dev136+g7a5a29b6

[23] Family checks
πŸ”₯ FAIL: Check font has a license.
  • com.google.fonts/check/028
  • πŸ”₯ FAIL No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: no-license]
ℹ️ INFO: Do we have the latest version of FontBakery installed?
  • com.google.fonts/check/fontbakery_version

  • ℹ️ INFO fontbakery (0.6.0) - Well designed Font QA tool, written in Python 3
    INSTALLED: 0.5.2.dev136+g7a5a29b6
    LATEST: 0.6.0

  • 🍞 PASS Font Bakery is up-to-date

🍞 PASS: Checking all files are in the same directory.
🍞 PASS: Fonts have equal unicode encodings?
🍞 PASS: Make sure all font files have the same version value.
🍞 PASS: Fonts have consistent PANOSE proportion?
🍞 PASS: Fonts have consistent PANOSE family type?
🍞 PASS: Fonts have consistent underline thickness?
πŸ’€ SKIP: Does DESCRIPTION file contain broken links?
πŸ’€ SKIP: Is this a proper HTML snippet?
πŸ’€ SKIP: DESCRIPTION.en_us.html must have more than 200 bytes.
πŸ’€ SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes.
πŸ’€ SKIP: Font designer field in METADATA.pb must not be 'unknown'.
πŸ’€ SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API?
πŸ’€ SKIP: METADATA.pb: check if fonts field only has unique "full_name" values.
πŸ’€ SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs.
πŸ’€ SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
πŸ’€ SKIP: METADATA.pb should contain at least "menu" and "latin" subsets.
πŸ’€ SKIP: METADATA.pb subsets should be alphabetically ordered.
πŸ’€ SKIP: METADATA.pb: Copyright notice is the same in all fonts?
πŸ’€ SKIP: Check that METADATA.pb family values are all the same.
πŸ’€ SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style.
πŸ’€ SKIP: METADATA.pb: Regular should be 400.

[113] LibreCaslonText-Italic.ttf
πŸ”₯ FAIL: Is 'gasp' table set to optimize rendering?
πŸ”₯ FAIL: Checking post.italicAngle value.
  • com.google.fonts/check/130
  • πŸ”₯ FAIL The value of post.italicAngle must be changed from -22.583 to -20. [code: >20 degrees]
πŸ”₯ FAIL: Font enables smart dropout control in "prep" table instructions?
  • com.google.fonts/check/072
  • πŸ”₯ FAIL 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script.
⚠️ WARN: Is font em size (ideally) equal to 1000?
⚠️ WARN: Check if each glyph has the recommended amount of contours.
  • com.google.fonts/check/153
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

Glyph name: w Contours detected: 2 Expected: 1
Glyph name: aogonek Contours detected: 3 Expected: 2
Glyph name: eogonek Contours detected: 3 Expected: 2
Glyph name: Uogonek Contours detected: 2 Expected: 1
Glyph name: uogonek Contours detected: 2 Expected: 1
Glyph name: wcircumflex Contours detected: 3 Expected: 2
Glyph name: uni01EA Contours detected: 3 Expected: 2
Glyph name: uni01EB Contours detected: 3 Expected: 2
Glyph name: wgrave Contours detected: 3 Expected: 2
Glyph name: wacute Contours detected: 3 Expected: 2
Glyph name: wdieresis Contours detected: 4 Expected: 3

⚠️ WARN: Checking with Microsoft Font Validator.

LibreCaslonText-Italic.ttf (file 1 of 1)
Complete: LibreCaslonText-Italic.ttf.report.xml
Reports are ready!

  • ℹ️ INFO MS-FonVal: The file begins with an Offset Table (file contains a single font)
  • ℹ️ INFO MS-FonVal: Descender should be greater than or equal to head.yMin DETAILS: Descender = -462, head.yMin = -452
  • ℹ️ INFO MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 5
  • ℹ️ INFO MS-FonVal: maxSizeOfInstructions via method Drawings to correctΒ #1 DETAILS: maxSizeOfInstructions=0, computed from the glyf table
  • ℹ️ INFO MS-FonVal: No string for Typographic Family name (Name ID 16)
  • ℹ️ INFO MS-FonVal: No string for Typographic Subfamily name (Name ID 17)
  • ℹ️ INFO MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS:
    • glyph = 445, char = U+2019, name = apostrophe
    • glyph = 481, char = U+00B5, name = uni03BC.1
  • ℹ️ INFO MS-FonVal: The post name isn't in uniXXXX or uXXXXX format and there is no Adobe Glyph List entry DETAILS:
    • glyph = 457, char = U+000D, name = CR
    • glyph = 539, char = U+0000, name = NULL
  • ℹ️ INFO MS-FonVal: Rasterization not selected for validation
  • ℹ️ INFO MS-FonVal: Total time validating file DETAILS: 0:00:04
  • 🍞 PASS MS-FonVal: The numTables field is non-zero DETAILS: 14
  • 🍞 PASS MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid
  • 🍞 PASS MS-FonVal: The directory entry tags are in ascending order
  • 🍞 PASS MS-FonVal: The directory entry tag names are valid
  • 🍞 PASS MS-FonVal: The directory entry table offsets are all multiples of 4
  • 🍞 PASS MS-FonVal: All required tables are present
  • 🍞 PASS MS-FonVal: No unnecessary tables are present
  • 🍞 PASS MS-FonVal: Tables are in optimal order
  • 🍞 PASS MS-FonVal: All signature blocks were in format 1
  • 🍞 PASS MS-FonVal: All signature blocks' reserved values were 0
  • 🍞 PASS MS-FonVal: The digital signature of the file verified correctly
  • 🍞 PASS MS-FonVal: The version numbers 0x00010000 or 0x0001002 are okay DETAILS: 0x00010000
  • 🍞 PASS MS-FonVal: All header offsets point within the table
  • 🍞 PASS MS-FonVal: The Coverage offset is nonzero and points within the GDEF table DETAILS: LigCaretList
  • 🍞 PASS MS-FonVal: The offsets in the CaretValue array are valid DETAILS:
    • LigCaretList, LigGlyph[0]
    • LigCaretList, LigGlyph[1]
    • LigCaretList, LigGlyph[2]
    • LigCaretList, LigGlyph[3]
    • LigCaretList, LigGlyph[4]
    • LigCaretList, LigGlyph[5]
    • LigCaretList, LigGlyph[6]
    • LigCaretList, LigGlyph[7]
    • LigCaretList, LigGlyph[8]
    • LigCaretList, LigGlyph[9]
    • LigCaretList, LigGlyph[10]
    • LigCaretList, LigGlyph[11]
    • LigCaretList, LigGlyph[12]
    • LigCaretList, LigGlyph[13]
    • LigCaretList, LigGlyph[14]
    • LigCaretList, LigGlyph[15]
    • LigCaretList, LigGlyph[16]
    • LigCaretList, LigGlyph[17]
    • LigCaretList, LigGlyph[18]
    • LigCaretList, LigGlyph[19]
  • 🍞 PASS MS-FonVal: The offsets in the LigGlyph array are valid DETAILS: LigCaretList
  • 🍞 PASS MS-FonVal: The version number is 0x00010000
  • 🍞 PASS MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord0, ScriptTable, DefaultLangSysTable
  • 🍞 PASS MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord0, ScriptTable
  • 🍞 PASS MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList
  • 🍞 PASS MS-FonVal: The Feature table is valid DETAILS:
    • FeatureList, FeatureRecord0, FeatureTable
    • FeatureList, FeatureRecord1, FeatureTable
    • FeatureList, FeatureRecord0, FeatureTable
    • FeatureList, FeatureRecord1, FeatureTable
    • FeatureList, FeatureRecord2, FeatureTable
    • FeatureList, FeatureRecord3, FeatureTable
    • FeatureList, FeatureRecord4, FeatureTable
    • FeatureList, FeatureRecord5, FeatureTable
    • FeatureList, FeatureRecord6, FeatureTable
    • FeatureList, FeatureRecord7, FeatureTable
    • FeatureList, FeatureRecord8, FeatureTable
  • 🍞 PASS MS-FonVal: The FeatureList table is valid DETAILS: FeatureList
  • 🍞 PASS MS-FonVal: The PairSet table is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[1]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[2]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[3]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[4]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[5]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[6]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[7]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[8]
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[9]
    • NOTE: 362 other similar results were hidden!
  • 🍞 PASS MS-FonVal: The PairPos subtable is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](PairPos, fmt 1)
    • LookupList, Lookup[0], SubTable[1](PairPos, fmt 2)
  • 🍞 PASS MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[1], SubTable0, BaseArray
  • 🍞 PASS MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[1], SubTable0
  • 🍞 PASS MS-FonVal: The LookupList table is valid DETAILS: LookupList
  • 🍞 PASS MS-FonVal: The LigatureSubst subtable is valid DETAILS:
    • LookupList, Lookup[0], SubTable[0](LigatureSubst, fmt 1)
    • LookupList, Lookup[1], SubTable[0](LigatureSubst, fmt 1)
    • LookupList, Lookup[2], SubTable[0](LigatureSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The SingleSubst subtable is valid DETAILS:
    • LookupList, Lookup[3], SubTable[0](SingleSubst, fmt 2)
    • LookupList, Lookup[5], SubTable[0](SingleSubst, fmt 2)
    • LookupList, Lookup[6], SubTable[0](SingleSubst, fmt 1)
    • LookupList, Lookup[7], SubTable[0](SingleSubst, fmt 1)
    • LookupList, Lookup[8], SubTable[0](SingleSubst, fmt 1)
    • LookupList, Lookup[9], SubTable[0](SingleSubst, fmt 1)
  • 🍞 PASS MS-FonVal: The ChainContextSubst subtable is valid DETAILS:
    • LookupList, Lookup[4], SubTable[0](ChainContextSubst, fmt 3)
    • LookupList, Lookup[4], SubTable[1](ChainContextSubst, fmt 3)
  • 🍞 PASS MS-FonVal: The table length matches the expected length for this version
  • 🍞 PASS MS-FonVal: The xAvgCharWidth field equals the calculated value
  • 🍞 PASS MS-FonVal: The usWeightClass is consistent with the PANOSE weight value
  • 🍞 PASS MS-FonVal: The usWeightClass is a valid value DETAILS: 400
  • 🍞 PASS MS-FonVal: The width class is a valid value DETAILS: 5
  • 🍞 PASS MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding
  • 🍞 PASS MS-FonVal: All subscript and superscript values appear valid
  • 🍞 PASS MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid
  • 🍞 PASS MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range
  • 🍞 PASS MS-FonVal: All panose values are in a valid range
  • 🍞 PASS MS-FonVal: The Unicode Range fields' bits are all allowable values
  • 🍞 PASS MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x0000, last = 0x2219
  • 🍞 PASS MS-FonVal: The CodePage Range fields' bits are all allowable values
  • 🍞 PASS MS-FonVal: The sxHeight field is nonzero DETAILS: 933
  • 🍞 PASS MS-FonVal: The sCapHeight field is nonzero DETAILS: 1355
  • 🍞 PASS MS-FonVal: The usDefaultChar field is zero
  • 🍞 PASS MS-FonVal: The usBreakChar is mapped to a glyf
  • 🍞 PASS MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3
  • 🍞 PASS MS-FonVal: The table version number is 0
  • 🍞 PASS MS-FonVal: Each subtable offset is within the table
  • 🍞 PASS MS-FonVal: Each subtable length is within the table
  • 🍞 PASS MS-FonVal: The subtables are in the correct order
  • 🍞 PASS MS-FonVal: There are no duplicate subtables
  • 🍞 PASS MS-FonVal: No overlapping subtables were found
  • 🍞 PASS MS-FonVal: Each subtable's format number is valid
  • 🍞 PASS MS-FonVal: The subtable internal format appears valid DETAILS:
    • PlatID = 0, EncID = 3, Fmt = 4
    • PlatID = 3, EncID = 1, Fmt = 4
  • 🍞 PASS MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1
  • 🍞 PASS MS-FonVal: No characters are mapped in the Unicode Private Use area
  • 🍞 PASS MS-FonVal: All non mac subtables have a language field of zero
  • 🍞 PASS MS-FonVal: Correct format of loca (0 or 1)
  • 🍞 PASS MS-FonVal: Table length is 54 bytes
  • 🍞 PASS MS-FonVal: The table version number is 0x00010000
  • 🍞 PASS MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.002
  • 🍞 PASS MS-FonVal: Font checksum is correct DETAILS: 0x39a06178
  • 🍞 PASS MS-FonVal: The magic number is 0x5f0f3cf5
  • 🍞 PASS MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present
  • 🍞 PASS MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present
  • 🍞 PASS MS-FonVal: Reserved bit 14 of the flags field is clear
  • 🍞 PASS MS-FonVal: Reserved bit 15 of the flags field is clear
  • 🍞 PASS MS-FonVal: The unitsPerEm value is a power of two in the range 64..16384 DETAILS: 2048
  • 🍞 PASS MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -602
  • 🍞 PASS MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -452
  • 🍞 PASS MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 2765
  • 🍞 PASS MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1708
  • 🍞 PASS MS-FonVal: The macStyle bold bit matches the name table's font subfamily string
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the name table's font subfamily string
  • 🍞 PASS MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit
  • 🍞 PASS MS-FonVal: The macStyle italic bit matches the post table italic angle
  • 🍞 PASS MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2
  • 🍞 PASS MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0
  • 🍞 PASS MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0
  • 🍞 PASS MS-FonVal: The glyphDataFormat value is 0
  • 🍞 PASS MS-FonVal: The Ascender value is greater than zero
  • 🍞 PASS MS-FonVal: The Descender is less than zero
  • 🍞 PASS MS-FonVal: Ascender is less than or equal to head.yMax
  • 🍞 PASS MS-FonVal: LineGap is greater than or equal to 0
  • 🍞 PASS MS-FonVal: Ascender is same value as OS/2.usWinAscent
  • 🍞 PASS MS-FonVal: Descender value is the same as OS/2.usWinDescent
  • 🍞 PASS MS-FonVal: The LineGap is greater to or equal the minimum recommended value
  • 🍞 PASS MS-FonVal: The advanceWidthMax field equals the calculated value
  • 🍞 PASS MS-FonVal: The minLeftSideBearing field equals the calculated value
  • 🍞 PASS MS-FonVal: The minRightSideBearing field equals the calculated value
  • 🍞 PASS MS-FonVal: The xMaxExtent field equals the calculated value
  • 🍞 PASS MS-FonVal: The reserved fields are all set to zero
  • 🍞 PASS MS-FonVal: The metricDataFormat field is set to zero
  • 🍞 PASS MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table
  • 🍞 PASS MS-FonVal: The caretSlope angle matches the post.italicAngle
  • 🍞 PASS MS-FonVal: The size of the table matches the calculated size
  • 🍞 PASS MS-FonVal: The horizontal metrics are all within an allowable range of values
  • 🍞 PASS MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1)
  • 🍞 PASS MS-FonVal: The entries are sorted in ascending order
  • 🍞 PASS MS-FonVal: All entries point within range of the glyf table
  • 🍞 PASS MS-FonVal: All glyphs in the glyf table are referenced by the loca table
  • 🍞 PASS MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present
  • 🍞 PASS MS-FonVal: Table version is 1.0 and the table is 32 bytes long
  • 🍞 PASS MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 541
  • 🍞 PASS MS-FonVal: The points, contours, and component values match the calculated values
  • 🍞 PASS MS-FonVal: The format selector field is 0
  • 🍞 PASS MS-FonVal: No strings extended past the end of the table
  • 🍞 PASS MS-FonVal: The NameRecords array is in sorted order
  • 🍞 PASS MS-FonVal: No name records are using reserved Name IDs
  • 🍞 PASS MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.002"
  • 🍞 PASS MS-FonVal: All strings had valid Platform Specific Encoding IDs
  • 🍞 PASS MS-FonVal: All Microsoft unicode strings had valid Language IDs
  • 🍞 PASS MS-FonVal: The length of every unicode string is an even # of bytes
  • 🍞 PASS MS-FonVal: The subfamily string is consistent with the style of the font
  • 🍞 PASS MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14)
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Copyright strings
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Trademark strings
  • 🍞 PASS MS-FonVal: No inconsistencies were found for Description strings
  • 🍞 PASS MS-FonVal: The table length is valid
  • 🍞 PASS MS-FonVal: The version number is valid
  • 🍞 PASS MS-FonVal: The italicAngle value is reasonable and consistent with other tables
  • 🍞 PASS MS-FonVal: The underlinePosition value is not less than hhea.Descender
  • 🍞 PASS MS-FonVal: The underlineThickness value is reasonable
  • 🍞 PASS MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables
  • 🍞 PASS MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs
  • 🍞 PASS MS-FonVal: The glyphNameIndex array contains valid indexes
  • 🍞 PASS MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names
  • ⚠️ WARN MS-FonVal: The version number is valid, but less than 5 DETAILS: 4
  • ⚠️ WARN MS-FonVal: There are undefined bits set in fsSelection field DETAILS: Bit(s) 7
  • ⚠️ WARN MS-FonVal: The value of sTypoAscender minus sTypoDescender is greater than unitsPerEm DETAILS: sTypoAscender = 1708, sTypoDescender = -462
  • ⚠️ WARN MS-FonVal: The table does not contain any Apple subtables
  • ⚠️ WARN MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present
  • ⚠️ WARN MS-FonVal: Intersecting components of composite glyph DETAILS: {'Glyph index': [8, 18, 36, 58, 87, 119, 140, 141, 159, 169, 187, 210, 242, 274, 275, 282]}
  • ⚠️ WARN MS-FonVal: The created time is an unlikely value DETAILS: created = 3624644357 (Friday, November 9, 2018 9:39 PM)
  • ⚠️ WARN MS-FonVal: The modified time is an unlikely value DETAILS: modified = 3624647553 (Friday, November 9, 2018 10:32 PM)
  • ⚠️ WARN MS-FonVal: The lowestRecPPEM value may be unreasonably small DETAILS: lowestRecPPEM = 6
  • ⚠️ WARN MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 DETAILS: Number of glyphs with the warning = 163
⚠️ WARN: Font contains .notdef as first glyph?
  • com.google.fonts/check/046
  • ⚠️ WARN Font should contain the .notdef glyph as the first glyph, it should not have a Unicode value assigned and should contain a drawing.
⚠️ WARN: Combined length of family and style must not exceed 20 characters.
  • com.google.fonts/check/163
  • ⚠️ WARN The combined length of family and style exceeds 20 chars in the following 'WINDOWS' entries: FONT_FAMILY_NAME = 'Libre Caslon Text' / SUBFAMILY_NAME = 'Italic'
⚠️ WARN: Is there kerning info for non-ligated sequences?
  • com.google.fonts/check/065

  • ⚠️ WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • f + f
    • f + b
    • b + f
    • f + h
    • h + f
    • f + i
    • i + f
    • f + j
    • j + f
    • f + k
    • k + f
    • f + l
    • l + f
    • f + t
    • t + b
    • h + i
    • i + j
    • j + k
    • k + l
    • l + t

    [code: lacks-kern-info]

πŸ’€ SKIP: Check copyright namerecords match license file.
πŸ’€ SKIP: Font has ttfautohint params?
πŸ’€ SKIP: Checks METADATA.pb font.name field matches family name declared on the name table.
πŸ’€ SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name value matches fullname declared on the name table?
πŸ’€ SKIP: METADATA.pb font.name value should be same as the family name declared on the name table.
πŸ’€ SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
πŸ’€ SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values?
πŸ’€ SKIP: METADATA.pb font.name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.full_name field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.filename field contains font name in right format?
πŸ’€ SKIP: METADATA.pb font.post_script_name field contains font name in right format?
πŸ’€ SKIP: Copyright notice on METADATA.pb matches canonical pattern?
πŸ’€ SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'.
πŸ’€ SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars.
πŸ’€ SKIP: METADATA.pb: Filename is set canonically?
πŸ’€ SKIP: METADATA.pb font.style "italic" matches font internals?
πŸ’€ SKIP: METADATA.pb font.style "normal" matches font internals?
πŸ’€ SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
πŸ’€ SKIP: METADATA.pb: Check if fontname is not camel cased.
πŸ’€ SKIP: METADATA.pb: Check font name is the same as family name.
πŸ’€ SKIP: METADATA.pb: Check that font weight has a canonical value.
πŸ’€ SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb.
πŸ’€ SKIP: METADATA.pb weight matches postScriptName.
πŸ’€ SKIP: METADATA.pb: Font styles are named canonically?
πŸ’€ SKIP: Version number has increased since previous release on Google Fonts?
πŸ’€ SKIP: Glyphs are similiar to Google Fonts version?
πŸ’€ SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts?
πŸ’€ SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
πŸ’€ SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
πŸ’€ SKIP: Check a static ttf can be generated from a variable font.
πŸ’€ SKIP: Check that variable fonts have an HVAR table.
πŸ’€ SKIP: FontForge validation outputs error messages?
πŸ’€ SKIP: FontForge checks.
πŸ’€ SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
πŸ’€ SKIP: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
πŸ’€ SKIP: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
ℹ️ INFO: Show hinting filesize impact.
LibreCaslonText-Italic.ttf
Dehinted Size 86.2kb
Hinted Size 85.7kb
Increase -512 bytes
Change -0.0 %
ℹ️ INFO: Font has old ttfautohint applied?
  • com.google.fonts/check/056
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.002']
ℹ️ INFO: EPAR table present in font?
ℹ️ INFO: Check for font-v versioning
  • com.google.fonts/check/166
  • ℹ️ INFO Version string is: "Version 1.002"
    The version string must ideally include a git commit hash and either a 'dev' or a 'release' suffix such as in the example below:
    "Version 1.3; git-0d08353-release"
ℹ️ INFO: Font contains all required tables?
  • com.google.fonts/check/052
  • ℹ️ INFO This font contains the following optional tables [DSIG, GSUB, loca, GPOS]
  • 🍞 PASS Font contains all required tables.
🍞 PASS: Checking file is named canonically.
🍞 PASS: Fonts have equal numbers of glyphs?
🍞 PASS: Fonts have equal glyph names?
🍞 PASS: Checking OS/2 fsType.
🍞 PASS: Checking OS/2 achVendID.
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
  • com.google.fonts/check/019
  • 🍞 PASS No need to substitute copyright, registered and trademark symbols in name table entries of this font.
🍞 PASS: Checking OS/2 usWeightClass.
🍞 PASS: "License URL matches License text on name table?
🍞 PASS: Description strings in the name table must not exceed 200 characters.
🍞 PASS: Version format is correct in 'name' table?
🍞 PASS: Make sure family name does not begin with a digit.
🍞 PASS: Font has all expected currency sign characters?
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
🍞 PASS: Checking OS/2 fsSelection value.
  • com.google.fonts/check/129
  • 🍞 PASS OS/2 fsSelection REGULAR bit is properly set.
  • 🍞 PASS OS/2 fsSelection ITALIC bit is properly set.
  • 🍞 PASS OS/2 fsSelection BOLD bit is properly set.
🍞 PASS: Checking head.macStyle value.
  • com.google.fonts/check/131
  • 🍞 PASS head macStyle ITALIC bit is properly set.
  • 🍞 PASS head macStyle BOLD bit is properly set.
🍞 PASS: Font has all mandatory 'name' table entries ?
🍞 PASS: Check name table: FONT_FAMILY_NAME entries.
🍞 PASS: Check name table: FONT_SUBFAMILY_NAME entries.
🍞 PASS: Check name table: FULL_FONT_NAME entries.
🍞 PASS: Check name table: POSTSCRIPT_NAME entries.
🍞 PASS: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
🍞 PASS: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
🍞 PASS: Length of copyright notice must not exceed 500 characters.
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
🍞 PASS: Checking OS/2 usWinAscent & usWinDescent.
🍞 PASS: Checking OS/2 Metrics match hhea Metrics.
🍞 PASS: There must not be VTT Talk sources in the font.
🍞 PASS: Checking with ftxvalidator.
🍞 PASS: Checking with ots-sanitize.
🍞 PASS: Font contains glyphs for whitespace characters?
🍞 PASS: Font has **proper** whitespace glyph names?
🍞 PASS: Whitespace glyphs have ink?
🍞 PASS: Are there unwanted tables?
🍞 PASS: Glyph names are all valid?
🍞 PASS: Font contains unique glyph names?
🍞 PASS: Checking with fontTools.ttx
🍞 PASS: Check glyphs have unique unicode codepoints.
🍞 PASS: Check all glyphs have codepoints assigned.
🍞 PASS: Checking unitsPerEm value is reasonable.
🍞 PASS: Checking font version fields (head and name table).
🍞 PASS: Check if OS/2 xAvgCharWidth is correct.
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
🍞 PASS: Description strings in the name table must not contain copyright info.
🍞 PASS: Checking correctness of monospaced metadata.
🍞 PASS: Name table entries should not contain line-breaks.
🍞 PASS: Does full font name begin with the font family name?
🍞 PASS: Font follows the family naming recommendations?
🍞 PASS: Name table strings must not contain the string 'Reserved Font Name'.
🍞 PASS: Checking Vertical Metric Linegaps.
🍞 PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
🍞 PASS: Does the font have a DSIG table?
🍞 PASS: Whitespace and non-breaking space have the same width?
🍞 PASS: Does GPOS table have kerning information?
🍞 PASS: Are there caret positions declared for every ligature?
🍞 PASS: Is there a "kern" table declared in the font?
🍞 PASS: Is there any unused data at the end of the glyf table?
🍞 PASS: Check for points out of bounds.
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?

Summary

πŸ’” ERROR πŸ”₯ FAIL ⚠️ WARN πŸ’€ SKIP ℹ️ INFO 🍞 PASS
0 4 6 56 6 64
0% 3% 4% 41% 4% 47%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant