thundernixon / Libre-Caslon

Libre Caslon Text, originally started by Impallari, and upgrade here as a VF
SIL Open Font License 1.1
70 stars 4 forks source link

Correct FontBakery errors #2

Open thundernixon opened 6 years ago

thundernixon commented 6 years ago

Fontbakery report

[22] Family checks
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **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]
:bread: PASS: Checking all files are in the same directory. * [com.google.fonts/check/002](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/002) * :bread: **PASS** All files are in the same directory.
:bread: PASS: Fonts have equal unicode encodings? * [com.google.fonts/check/013](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/013) * :bread: **PASS** Fonts have equal unicode encodings.
:bread: PASS: Make sure all font files have the same version value. * [com.google.fonts/check/014](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/014) * :bread: **PASS** All font files have the same version.
:bread: PASS: Fonts have consistent PANOSE proportion? * [com.google.fonts/check/009](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/009) * :bread: **PASS** Fonts have consistent PANOSE proportion.
:bread: PASS: Fonts have consistent PANOSE family type? * [com.google.fonts/check/010](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/010) * :bread: **PASS** Fonts have consistent PANOSE family type.
:bread: PASS: Fonts have consistent underline thickness? * [com.google.fonts/check/008](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/008) * :bread: **PASS** Fonts have consistent underline thickness.
:zzz: SKIP: Does DESCRIPTION file contain broken links? * [com.google.fonts/check/003](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/003) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Is this a proper HTML snippet? * [com.google.fonts/check/004](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/004) * :zzz: **SKIP** Unfulfilled Conditions: descfile
:zzz: SKIP: DESCRIPTION.en_us.html must have more than 200 bytes. * [com.google.fonts/check/005](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/005) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes. * [com.google.fonts/check/006](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/006) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Font designer field in METADATA.pb must not be 'unknown'. * [com.google.fonts/check/007](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/007) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API? * [com.google.fonts/check/081](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/081) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only has unique "full_name" values. * [com.google.fonts/check/083](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/083) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs. * [com.google.fonts/check/084](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/084) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"? * [com.google.fonts/check/085](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/085) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb should contain at least "menu" and "latin" subsets. * [com.google.fonts/check/086](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/086) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb subsets should be alphabetically ordered. * [com.google.fonts/check/087](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/087) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Copyright notice is the same in all fonts? * [com.google.fonts/check/088](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/088) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: Check that METADATA.pb family values are all the same. * [com.google.fonts/check/089](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/089) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style. * [com.google.fonts/check/090](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/090) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Regular should be 400. * [com.google.fonts/check/091](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/091) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, has_regular_style

[111] LibreCaslonText2048-VF.ttf
:fire: FAIL: Font has ttfautohint params? * [com.google.fonts/check/has_ttfautohint_params](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/has_ttfautohint_params) * :fire: **FAIL** Font is lacking ttfautohint params on its version strings on the name table.
:fire: FAIL: Is 'gasp' table set to optimize rendering? * [com.google.fonts/check/062](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/062) * :fire: **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
:fire: FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/040](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/040) * :fire: **FAIL** OS/2.usWinAscent value should be equal or greater than 1708, but got 1707 instead [code: ascent]
:fire: FAIL: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/042](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/042) * :fire: **FAIL** OS/2 sTypoAscender and hhea ascent must be equal. [code: ascender]
:fire: FAIL: Font enables smart dropout control in "prep" table instructions? * [com.google.fonts/check/072](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/072) * :fire: **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.
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: The version number is neither 0x00010000 nor 0x0001002 DETAILS: 0x00010003 * :fire: **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 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1 * :fire: **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 * :information_source: **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! * :information_source: **INFO** MS-FonVal: The file begins with an Offset Table (file contains a single font) * :information_source: **INFO** MS-FonVal: Not an OpenType table, contents not validated * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Not an OpenType table, contents not validated DETAILS: This table type is defined in the Apple TrueType spec. * :information_source: **INFO** MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 4 * :information_source: **INFO** MS-FonVal: maxSizeOfInstructions via method #1 DETAILS: maxSizeOfInstructions=0, computed from the glyf table * :information_source: **INFO** MS-FonVal: No string for Typographic Family name (Name ID 16) * :information_source: **INFO** MS-FonVal: No string for Typographic Subfamily name (Name ID 17) * :information_source: **INFO** MS-FonVal: 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 * :information_source: **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 * :information_source: **INFO** MS-FonVal: The post name does not match the name in the Adobe Glyph List DETAILS: glyph = 157, char = U+02BC, name = apostrophe * :information_source: **INFO** MS-FonVal: The post name has an unexpected value DETAILS: glyph = 196, char = U+F6C3, name = uni0326 * :information_source: **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 * :information_source: **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 * :information_source: **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 * :information_source: **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 * :information_source: **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 * :information_source: **INFO** MS-FonVal: The post name has an unexpected value DETAILS: glyph = 330, char = U+00B5, name = uni03BC * :information_source: **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 * :information_source: **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 * :information_source: **INFO** MS-FonVal: Rasterization not selected for validation * :information_source: **INFO** MS-FonVal: Total time validating file DETAILS: 0:00:22 * :bread: **PASS** MS-FonVal: The numTables field is non-zero DETAILS: 17 * :bread: **PASS** MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid * :bread: **PASS** MS-FonVal: The directory entry tags are in ascending order * :bread: **PASS** MS-FonVal: The directory entry tag names are valid * :bread: **PASS** MS-FonVal: The directory entry table offsets are all multiples of 4 * :bread: **PASS** MS-FonVal: All required tables are present * :bread: **PASS** MS-FonVal: No unnecessary tables are present * :bread: **PASS** MS-FonVal: Tables are in optimal order * :bread: **PASS** MS-FonVal: All header offsets point within the table * :bread: **PASS** MS-FonVal: The version number is 0x00010000 * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable, DefaultLangSysTable * :bread: **PASS** MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable * :bread: **PASS** MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[0](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[1](mark), FeatureTable * :bread: **PASS** MS-FonVal: The FeatureList table is valid DETAILS: FeatureList * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0] * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[0](PairPos, fmt 1) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[1](PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[1], SubTable[0](MarkBasePos), BaseArray * :bread: **PASS** MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](MarkBasePos) * :bread: **PASS** MS-FonVal: The LookupList table is valid DETAILS: LookupList * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[0](dlig), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[1](dnom), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[2](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[3](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[4](numr), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[5](onum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[6](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[7](sinf), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[8](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[9](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[0], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[2], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[3], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[4], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[4], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[5], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[6], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[7], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[8], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[9], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[10], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The table length matches the expected length for this version * :bread: **PASS** MS-FonVal: The usWeightClass is consistent with the PANOSE weight value * :bread: **PASS** MS-FonVal: The usWeightClass is a valid value DETAILS: 400 * :bread: **PASS** MS-FonVal: The width class is a valid value DETAILS: 5 * :bread: **PASS** MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding * :bread: **PASS** MS-FonVal: All subscript and superscript values appear valid * :bread: **PASS** MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid * :bread: **PASS** MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range * :bread: **PASS** MS-FonVal: All panose values are in a valid range * :bread: **PASS** MS-FonVal: The Unicode Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The fsSelection field appears to be valid * :bread: **PASS** MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x0000, last = 0xfb06 * :bread: **PASS** MS-FonVal: The sTypoAscender and sTypoDescender fields are reasonable values DETAILS: sTypoAscender = 1443, sTypoDescender = -440 * :bread: **PASS** MS-FonVal: The CodePage Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The sxHeight field is nonzero DETAILS: 933 * :bread: **PASS** MS-FonVal: The sCapHeight field is nonzero DETAILS: 1355 * :bread: **PASS** MS-FonVal: The usDefaultChar field is zero * :bread: **PASS** MS-FonVal: The usBreakChar is mapped to a glyf * :bread: **PASS** MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3 * :bread: **PASS** MS-FonVal: The table version number is 0 * :bread: **PASS** MS-FonVal: Each subtable offset is within the table * :bread: **PASS** MS-FonVal: Each subtable length is within the table * :bread: **PASS** MS-FonVal: The subtables are in the correct order * :bread: **PASS** MS-FonVal: There are no duplicate subtables * :bread: **PASS** MS-FonVal: No overlapping subtables were found * :bread: **PASS** MS-FonVal: Each subtable's format number is valid * :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: PlatID = 0, EncID = 3, Fmt = 4 * :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: PlatID = 3, EncID = 1, Fmt = 4 * :bread: **PASS** MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1 * :bread: **PASS** MS-FonVal: All non mac subtables have a language field of zero * :bread: **PASS** MS-FonVal: Correct format of loca (0 or 1) * :bread: **PASS** MS-FonVal: Table length is 54 bytes * :bread: **PASS** MS-FonVal: The table version number is 0x00010000 * :bread: **PASS** MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.002 * :bread: **PASS** MS-FonVal: Font checksum is correct DETAILS: 0x4334484d * :bread: **PASS** MS-FonVal: The magic number is 0x5f0f3cf5 * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present * :bread: **PASS** MS-FonVal: Reserved bit 14 of the flags field is clear * :bread: **PASS** MS-FonVal: Reserved bit 15 of the flags field is clear * :bread: **PASS** MS-FonVal: The unitsPerEm value is a power of two in the range 64..16384 DETAILS: 2048 * :bread: **PASS** MS-FonVal: The created time is not zero DETAILS: created = 3446022420 (Wednesday, March 13, 2013 12:27 PM) * :bread: **PASS** MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -280 * :bread: **PASS** MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -458 * :bread: **PASS** MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 2538 * :bread: **PASS** MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1708 * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the post table italic angle * :bread: **PASS** MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2 * :bread: **PASS** MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0 * :bread: **PASS** MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0 * :bread: **PASS** MS-FonVal: The glyphDataFormat value is 0 * :bread: **PASS** MS-FonVal: The Ascender value is greater than zero * :bread: **PASS** MS-FonVal: The Descender is less than zero * :bread: **PASS** MS-FonVal: Ascender is less than or equal to head.yMax * :bread: **PASS** MS-FonVal: Descender is greater than or equal to head.yMin * :bread: **PASS** MS-FonVal: LineGap is greater than or equal to 0 * :bread: **PASS** MS-FonVal: Ascender is same value as OS/2.usWinAscent * :bread: **PASS** MS-FonVal: Descender value is the same as OS/2.usWinDescent * :bread: **PASS** MS-FonVal: The LineGap is greater to or equal the minimum recommended value * :bread: **PASS** MS-FonVal: The advanceWidthMax field equals the calculated value * :bread: **PASS** MS-FonVal: The minLeftSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The minRightSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The xMaxExtent field equals the calculated value * :bread: **PASS** MS-FonVal: The reserved fields are all set to zero * :bread: **PASS** MS-FonVal: The metricDataFormat field is set to zero * :bread: **PASS** MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table * :bread: **PASS** MS-FonVal: The caretSlope angle matches the post.italicAngle * :bread: **PASS** MS-FonVal: The size of the table matches the calculated size * :bread: **PASS** MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1) * :bread: **PASS** MS-FonVal: The entries are sorted in ascending order * :bread: **PASS** MS-FonVal: All entries point within range of the glyf table * :bread: **PASS** MS-FonVal: All glyphs in the glyf table are referenced by the loca table * :bread: **PASS** MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present * :bread: **PASS** MS-FonVal: Table version is 1.0 and the table is 32 bytes long * :bread: **PASS** MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 537 * :bread: **PASS** MS-FonVal: The points, contours, and component values match the calculated values * :bread: **PASS** MS-FonVal: The format selector field is 0 * :bread: **PASS** MS-FonVal: No strings extended past the end of the table * :bread: **PASS** MS-FonVal: The NameRecords array is in sorted order * :bread: **PASS** MS-FonVal: No name records are using reserved Name IDs * :bread: **PASS** MS-FonVal: The table contains strings for both Mac and Microsoft platforms * :bread: **PASS** MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.002" * :bread: **PASS** MS-FonVal: All strings had valid Platform Specific Encoding IDs * :bread: **PASS** MS-FonVal: All Microsoft unicode strings had valid Language IDs * :bread: **PASS** MS-FonVal: The length of every unicode string is an even # of bytes * :bread: **PASS** MS-FonVal: The subfamily string is consistent with the style of the font * :bread: **PASS** MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14) * :bread: **PASS** MS-FonVal: No inconsistencies were found for Copyright strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Trademark strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Description strings * :bread: **PASS** MS-FonVal: The table length is valid * :bread: **PASS** MS-FonVal: The version number is valid * :bread: **PASS** MS-FonVal: The italicAngle value is reasonable and consistent with other tables * :bread: **PASS** MS-FonVal: The underlinePosition value is not less than hhea.Descender * :bread: **PASS** MS-FonVal: The underlineThickness value is reasonable * :bread: **PASS** MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables * :bread: **PASS** MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs * :bread: **PASS** MS-FonVal: The glyphNameIndex array contains valid indexes * :bread: **PASS** MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names * :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: gasp * :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: kern * :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: hdmx * :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: VDMX * :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: DSIG * :warning: **WARN** MS-FonVal: The version number is valid, but less than 5 DETAILS: 4 * :warning: **WARN** MS-FonVal: The xAvgCharWidth field does not equal the calculated value DETAILS: actual = 1030, calc = 1029 * :warning: **WARN** MS-FonVal: The table does not contain any Apple subtables * :warning: **WARN** MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present * :warning: **WARN** MS-FonVal: Characters are mapped in the Unicode Private Use area * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 10 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 19 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 37 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 62 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 92 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 94 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 123 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 148 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 149 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 156 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 159 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 160 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 161 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 162 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 163 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 169 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 170 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 171 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 172 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 173 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 174 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 181 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 184 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 198 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 200 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 201 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 205 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 206 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 239 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 285 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 286 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 289 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 290 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 291 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 292 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 297 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 298 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 309 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 317 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 355 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 371 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 375 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 380 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 381 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 394 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 395 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 412 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 413 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 444 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 445 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 450 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 460 * :warning: **WARN** MS-FonVal: Misoriented contour DETAILS: Glyph index 461 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 484 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 485 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 486 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 487 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 507 * :warning: **WARN** MS-FonVal: The modified time is an unlikely value DETAILS: modified = 3623675719 (Monday, October 29, 2018 4:35 PM) * :warning: **WARN** MS-FonVal: The lowestRecPPEM value may be unreasonably small DETAILS: lowestRecPPEM = 6 * :warning: **WARN** MS-FonVal: The leftSideBearing is greater than the advance width (unlikely value) DETAILS: glyph# 196 * :warning: **WARN** MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 DETAILS: Number of glyphs with the warning = 155
:fire: FAIL: Does the font have a DSIG table? * [com.google.fonts/check/045](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/045) * :fire: **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.
:warning: WARN: Checking OS/2 achVendID. * [com.google.fonts/check/018](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/018) * :warning: **WARN** OS/2 VendorID value 'IMPA' is not a known registered id. You should set it to your own 4 character code, and register that code with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
:warning: WARN: Is font em size (ideally) equal to 1000? * [com.google.fonts/check/116](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/116) * :warning: **WARN** Font em size (2048) is not equal to 1000.
:warning: WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/153](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/153) * :warning: **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
:warning: WARN: Combined length of family and style must not exceed 20 characters. * [com.google.fonts/check/163](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/163) * :warning: **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'
:warning: WARN: Is there kerning info for non-ligated sequences? * [com.google.fonts/check/065](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/065) * :warning: **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]
:warning: WARN: Are there caret positions declared for every ligature? * [com.google.fonts/check/064](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/064) * :warning: **WARN** This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
:zzz: SKIP: Checking OS/2 usWeightClass. * [com.google.fonts/check/020](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/020) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check copyright namerecords match license file. * [com.google.fonts/check/029](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/029) * :zzz: **SKIP** Unfulfilled Conditions: license
:zzz: SKIP: Checks METADATA.pb font.name field matches family name declared on the name table. * [com.google.fonts/check/092](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/092) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table. * [com.google.fonts/check/093](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/093) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.full_name value matches fullname declared on the name table? * [com.google.fonts/check/094](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/094) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name value should be same as the family name declared on the name table. * [com.google.fonts/check/095](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/095) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, style
:zzz: SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ? * [com.google.fonts/check/096](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/096) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values? * [com.google.fonts/check/097](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/097) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name field contains font name in right format? * [com.google.fonts/check/098](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/098) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.full_name field contains font name in right format? * [com.google.fonts/check/099](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/099) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.filename field contains font name in right format? * [com.google.fonts/check/100](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/100) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.post_script_name field contains font name in right format? * [com.google.fonts/check/101](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/101) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb matches canonical pattern? * [com.google.fonts/check/102](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/102) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. * [com.google.fonts/check/103](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/103) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars. * [com.google.fonts/check/104](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/104) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Filename is set canonically? * [com.google.fonts/check/105](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/105) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, canonical_filename
:zzz: SKIP: METADATA.pb font.style "italic" matches font internals? * [com.google.fonts/check/106](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/106) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.style "normal" matches font internals? * [com.google.fonts/check/107](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/107) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table? * [com.google.fonts/check/108](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/108) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check if fontname is not camel cased. * [com.google.fonts/check/109](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/109) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check font name is the same as family name. * [com.google.fonts/check/110](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/110) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, font_metadata
:zzz: SKIP: METADATA.pb: Check that font weight has a canonical value. * [com.google.fonts/check/111](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/111) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb. * [com.google.fonts/check/112](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/112) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb weight matches postScriptName. * [com.google.fonts/check/113](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/113) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Font styles are named canonically? * [com.google.fonts/check/115](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/115) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Version number has increased since previous release on Google Fonts? * [com.google.fonts/check/117](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/117) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont, github_gfonts_ttFont
:zzz: SKIP: Glyphs are similiar to Google Fonts version? * [com.google.fonts/check/118](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/118) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts? * [com.google.fonts/check/119](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/119) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Checking OS/2 fsSelection value. * [com.google.fonts/check/129](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/129) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking post.italicAngle value. * [com.google.fonts/check/130](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/130) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking head.macStyle value. * [com.google.fonts/check/131](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/131) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com * [com.google.fonts/check/154](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/154) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ? * [com.google.fonts/check/155](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/155) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Font has all mandatory 'name' table entries ? * [com.google.fonts/check/156](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/156) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_FAMILY_NAME entries. * [com.google.fonts/check/157](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/157) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/158](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/158) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FULL_FONT_NAME entries. * [com.google.fonts/check/159](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/159) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/160](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/160) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries. * [com.google.fonts/check/161](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/161) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries. * [com.google.fonts/check/162](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/162) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: FontForge validation outputs error messages? * [com.google.fonts/check/038](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/038) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: FontForge checks. * [com.google.fonts/check/039](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/039) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth? * [com.google.fonts/check/079](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/079) * :zzz: **SKIP** Unfulfilled Conditions: seems_monospaced
:zzz: SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance. * [com.google.fonts/check/168](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/168) * :zzz: **SKIP** Unfulfilled Conditions: regular_wdth_coord
:zzz: SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/169](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/169) * :zzz: **SKIP** Unfulfilled Conditions: regular_slnt_coord
:zzz: SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/170](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/170) * :zzz: **SKIP** Unfulfilled Conditions: regular_ital_coord
:zzz: SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance. * [com.google.fonts/check/171](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/171) * :zzz: **SKIP** Unfulfilled Conditions: regular_opsz_coord
:information_source: INFO: Show hinting filesize impact. * [com.google.fonts/check/054](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/054) * :information_source: **INFO** 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 % |
:information_source: INFO: Font has old ttfautohint applied? * [com.google.fonts/check/056](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/056) * :information_source: **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']
:information_source: INFO: EPAR table present in font? * [com.google.fonts/check/061](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/061) * :information_source: **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
:information_source: INFO: Check for font-v versioning * [com.google.fonts/check/166](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/166) * :information_source: **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"
:information_source: INFO: Font contains all required tables? * [com.google.fonts/check/052](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/052) * :information_source: **INFO** This font contains the following optional tables [GPOS, GSUB, loca] * :bread: **PASS** Font contains all required tables.
:bread: PASS: Checking file is named canonically. * [com.google.fonts/check/001](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/001) * :bread: **PASS** dist/LibreCaslonText2048-VF-2018-10-29-13_24/LibreCaslonText2048-VF.ttf is named canonically.
:bread: PASS: Fonts have equal numbers of glyphs? * [com.google.fonts/check/011](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/011) * :bread: **PASS** All font files in this family have an equal total ammount of glyphs.
:bread: PASS: Fonts have equal glyph names? * [com.google.fonts/check/012](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/012) * :bread: **PASS** All font files have identical glyph names.
:bread: PASS: Checking OS/2 fsType. * [com.google.fonts/check/016](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/016) * :bread: **PASS** OS/2 fsType is properly set to zero.
:bread: PASS: Substitute copyright, registered and trademark symbols in name table entries. * [com.google.fonts/check/019](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/019) * :bread: **PASS** No need to substitute copyright, registered and trademark symbols in name table entries of this font.
:bread: PASS: "License URL matches License text on name table? * [com.google.fonts/check/030](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/030) * :bread: **PASS** Font has a valid license URL in NAME table.
:bread: PASS: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/032](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/032) * :bread: **PASS** All description name records have reasonably small lengths.
:bread: PASS: Version format is correct in 'name' table? * [com.google.fonts/check/055](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/055) * :bread: **PASS** Version format in NAME table entries is correct.
:bread: PASS: Make sure family name does not begin with a digit. * [com.google.fonts/check/067](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/067) * :bread: **PASS** Font family name first character is not a digit.
:bread: PASS: Font has all expected currency sign characters? * [com.google.fonts/check/070](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/070) * :bread: **PASS** Font has all expected currency sign characters.
:bread: PASS: Are there non-ASCII characters in ASCII-only NAME table entries? * [com.google.fonts/check/074](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/074) * :bread: **PASS** None of the ASCII-only NAME table entries contain non-ASCII characteres.
:bread: PASS: Length of copyright notice must not exceed 500 characters. * [com.google.fonts/check/164](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/164) * :bread: **PASS** All copyright notice name entries on the 'name' table are shorter than 500 characters.
:bread: PASS: Familyname must be unique according to namecheck.fontdata.com * [com.google.fonts/check/165](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/165) * :bread: **PASS** Font familyname seems to be unique.
:bread: PASS: Check a static ttf can be generated from a variable font. * [com.google.fonts/check/174](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/174) * :bread: **PASS** fontTools.varLib.mutator generated a static font instance
:bread: PASS: Checking with ftxvalidator. * [com.google.fonts/check/035](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/035) * :bread: **PASS** ftxvalidator passed this file
:bread: PASS: Checking with ots-sanitize. * [com.google.fonts/check/036](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/036) * :bread: **PASS** ots-sanitize passed this file
:bread: PASS: Font contains .notdef as first glyph? * [com.google.fonts/check/046](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/046) * :bread: **PASS** Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
:bread: PASS: Font contains glyphs for whitespace characters? * [com.google.fonts/check/047](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/047) * :bread: **PASS** Font contains glyphs for whitespace characters.
:bread: PASS: Font has **proper** whitespace glyph names? * [com.google.fonts/check/048](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/048) * :bread: **PASS** Font has **proper** whitespace glyph names.
:bread: PASS: Whitespace glyphs have ink? * [com.google.fonts/check/049](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/049) * :bread: **PASS** There is no whitespace glyph with ink.
:bread: PASS: Are there unwanted tables? * [com.google.fonts/check/053](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/053) * :bread: **PASS** There are no unwanted tables.
:bread: PASS: Glyph names are all valid? * [com.google.fonts/check/058](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/058) * :bread: **PASS** Glyph names are all valid.
:bread: PASS: Font contains unique glyph names? * [com.google.fonts/check/059](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/059) * :bread: **PASS** Font contains unique glyph names.
:bread: PASS: Checking with fontTools.ttx * [com.google.fonts/check/ttx-roundtrip](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ttx-roundtrip) * :bread: **PASS** Hey! It all looks good!
:bread: PASS: Check glyphs have unique unicode codepoints. * [com.google.fonts/check/076](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/076) * :bread: **PASS** All glyphs have unique unicode codepoint assignments.
:bread: PASS: Check all glyphs have codepoints assigned. * [com.google.fonts/check/077](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/077) * :bread: **PASS** All glyphs have a codepoint value assigned.
:bread: PASS: Checking unitsPerEm value is reasonable. * [com.google.fonts/check/043](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/043) * :bread: **PASS** unitsPerEm value on the 'head' table is reasonable.
:bread: PASS: Checking font version fields (head and name table). * [com.google.fonts/check/044](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/044) * :bread: **PASS** All font version fields match.
:bread: PASS: Check if OS/2 xAvgCharWidth is correct. * [com.google.fonts/check/034](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/034) * :bread: **PASS** OS/2 xAvgCharWidth value is correct.
:bread: PASS: Font has correct post table version (2 for TTF, 3 for OTF)? * [com.google.fonts/check/015](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/015) * :bread: **PASS** Font has post table version 2.
:bread: PASS: Description strings in the name table must not contain copyright info. * [com.google.fonts/check/031](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/031) * :bread: **PASS** Description strings in the name table do not contain any copyright string.
:bread: PASS: Checking correctness of monospaced metadata. * [com.google.fonts/check/033](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/033) * :bread: **PASS** Font is not monospaced and all related metadata look good. [code: good]
:bread: PASS: Name table entries should not contain line-breaks. * [com.google.fonts/check/057](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/057) * :bread: **PASS** Name table entries are all single-line (no line-breaks found).
:bread: PASS: Does full font name begin with the font family name? * [com.google.fonts/check/068](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/068) * :bread: **PASS** Full font name begins with the font family name.
:bread: PASS: Font follows the family naming recommendations? * [com.google.fonts/check/071](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/071) * :bread: **PASS** Font follows the family naming recommendations.
:bread: PASS: Name table strings must not contain the string 'Reserved Font Name'. * [com.google.fonts/check/152](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/152) * :bread: **PASS** None of the name table strings contain "Reserved Font Name".
:bread: PASS: Checking Vertical Metric Linegaps. * [com.google.fonts/check/041](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/041) * :bread: **PASS** OS/2 sTypoLineGap and hhea lineGap are both 0.
:bread: PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables? * [com.google.fonts/check/073](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/073) * :bread: **PASS** MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
:bread: PASS: Whitespace and non-breaking space have the same width? * [com.google.fonts/check/050](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/050) * :bread: **PASS** Whitespace and non-breaking space have the same width.
:bread: PASS: Does GPOS table have kerning information? * [com.google.fonts/check/063](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/063) * :bread: **PASS** GPOS table has got kerning information.
:bread: PASS: Is there a "kern" table declared in the font? * [com.google.fonts/check/066](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/066) * :bread: **PASS** Font does not declare an optional "kern" table.
:bread: PASS: Is there any unused data at the end of the glyf table? * [com.google.fonts/check/069](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/069) * :bread: **PASS** There is no unused data at the end of the glyf table.
:bread: PASS: Check for points out of bounds. * [com.google.fonts/check/075](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/075) * :bread: **PASS** All glyph paths have coordinates within bounds!
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance. * [com.google.fonts/check/167](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/167) * :bread: **PASS** Regular:wght is 400.
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance. * [com.google.fonts/check/172](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/172) * :bread: **PASS** Bold:wght is 700.
:bread: PASS: Does the number of glyphs in the loca table match the maxp table? * [com.google.fonts/check/180](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/180) * :bread: **PASS** 'loca' table matches numGlyphs in 'maxp' table.

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
0 8 6 62 5 52
0% 6% 5% 47% 4% 39%
thundernixon commented 6 years ago

Fontbakery report

[23] Family checks
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **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]
:bread: PASS: Checking all files are in the same directory. * [com.google.fonts/check/002](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/002) * :bread: **PASS** All files are in the same directory.
:bread: PASS: Fonts have equal unicode encodings? * [com.google.fonts/check/013](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/013) * :bread: **PASS** Fonts have equal unicode encodings.
:bread: PASS: Make sure all font files have the same version value. * [com.google.fonts/check/014](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/014) * :bread: **PASS** All font files have the same version.
:bread: PASS: Fonts have consistent PANOSE proportion? * [com.google.fonts/check/009](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/009) * :bread: **PASS** Fonts have consistent PANOSE proportion.
:bread: PASS: Fonts have consistent PANOSE family type? * [com.google.fonts/check/010](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/010) * :bread: **PASS** Fonts have consistent PANOSE family type.
:bread: PASS: Fonts have consistent underline thickness? * [com.google.fonts/check/008](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/008) * :bread: **PASS** Fonts have consistent underline thickness.
:zzz: SKIP: Copyright notice is the same in all fonts? * [com.google.fonts/check/088](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/088) * :zzz: **SKIP** Unfulfilled Conditions: metadata
:zzz: SKIP: Check that METADATA family values are all the same. * [com.google.fonts/check/089](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/089) * :zzz: **SKIP** Unfulfilled Conditions: metadata
:zzz: SKIP: METADATA.pb should contain at least "menu" and "latin" subsets. * [com.google.fonts/check/086](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/086) * :zzz: **SKIP** Unfulfilled Conditions: metadata
:zzz: SKIP: METADATA.pb subsets should be alphabetically ordered. * [com.google.fonts/check/087](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/087) * :zzz: **SKIP** Unfulfilled Conditions: metadata
:zzz: SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs. * [com.google.fonts/check/084](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/084) * :zzz: **SKIP** Unfulfilled Conditions: metadata
:zzz: SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"? * [com.google.fonts/check/085](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/085) * :zzz: **SKIP** Unfulfilled Conditions: metadata
:zzz: SKIP: METADATA.pb: check if fonts field only has unique "full_name" values. * [com.google.fonts/check/083](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/083) * :zzz: **SKIP** Unfulfilled Conditions: metadata
:zzz: SKIP: METADATA.pb: Ensure designer simple short name. * [com.google.fonts/check/080](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/080) * :zzz: **SKIP** Unfulfilled Conditions: metadata
:zzz: SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API? * [com.google.fonts/check/081](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/081) * :zzz: **SKIP** Unfulfilled Conditions: metadata
:zzz: SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes. * [com.google.fonts/check/006](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/006) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Font designer field in METADATA.pb must not be 'unknown'. * [com.google.fonts/check/007](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/007) * :zzz: **SKIP** Unfulfilled Conditions: metadata
:zzz: SKIP: Is this a proper HTML snippet? * [com.google.fonts/check/004](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/004) * :zzz: **SKIP** Unfulfilled Conditions: descfile
:zzz: SKIP: DESCRIPTION.en_us.html must have more than 200 bytes. * [com.google.fonts/check/005](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/005) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Does DESCRIPTION file contain broken links? * [com.google.fonts/check/003](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/003) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Regular should be 400. * [com.google.fonts/check/091](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/091) * :zzz: **SKIP** Unfulfilled Conditions: metadata, has_regular_style
:zzz: SKIP: According Google Fonts standards, families should have a Regular style. * [com.google.fonts/check/090](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/090) * :zzz: **SKIP** Unfulfilled Conditions: metadata

[109] LibreCaslonText-VF.ttf
:fire: FAIL: Checking file is named canonically. * [com.google.fonts/check/001](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/001) * :fire: **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".
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :information_source: **INFO** Microsoft Font Validator returned an error code. Output follows : ``` Removing these for now because there are a ton of false flags. ```
:fire: FAIL: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/042](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/042) * :fire: **FAIL** OS/2 sTypoAscender and hhea ascent must be equal. [code: ascender]
:fire: FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/040](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/040) * :fire: **FAIL** OS/2.usWinAscent value should be equal or greater than 1708, but got 1707 instead [code: ascent]
:warning: WARN: Checking OS/2 achVendID. * [com.google.fonts/check/018](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/018) * :warning: **WARN** OS/2 VendorID value 'IMPA' is not a known registered id. You should set it to your own 4 character code, and register that code with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
:warning: WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/153](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/153) * :warning: **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
:warning: WARN: Is font em size (ideally) equal to 1000? * [com.google.fonts/check/116](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/116) * :warning: **WARN** Font em size (2048) is not equal to 1000.
:warning: WARN: Show hinting filesize impact. * [com.google.fonts/check/054](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/054) * :warning: **WARN** ttfautohint is not available! You really MUST check the fonts with this tool. To install it, see https://github.com/googlefonts/gf-docs/blob/master/ProjectChecklist.md#ttfautohint [code: ttfa-missing]
:warning: WARN: Combined length of family and style must not exceed 20 characters. * [com.google.fonts/check/163](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/163) * :warning: **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'
:warning: WARN: Is there kerning info for non-ligated sequences? * [com.google.fonts/check/065](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/065) * :warning: **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]
:warning: WARN: Is there a caret position declared for every ligature? * [com.google.fonts/check/064](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/064) * :warning: **WARN** This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
:zzz: SKIP: Check if fontname is not camel cased. * [com.google.fonts/check/109](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/109) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table? * [com.google.fonts/check/108](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/108) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.style "normal" matches font internals? * [com.google.fonts/check/107](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/107) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.style "italic" matches font internals? * [com.google.fonts/check/106](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/106) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Filename is set canonically in METADATA.pb? * [com.google.fonts/check/105](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/105) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, canonical_filename
:zzz: SKIP: Copyright notice shouldn't exceed 500 chars. * [com.google.fonts/check/104](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/104) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb does not contain Reserved Font Name? * [com.google.fonts/check/103](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/103) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb matches canonical pattern? * [com.google.fonts/check/102](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/102) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.filename field contains font name in right format? * [com.google.fonts/check/100](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/100) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.post_script_name field contains font name in right format? * [com.google.fonts/check/101](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/101) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts? * [com.google.fonts/check/119](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/119) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries. * [com.google.fonts/check/161](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/161) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/160](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/160) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries. * [com.google.fonts/check/162](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/162) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: METADATA.pb font.full_name field contains font name in right format? * [com.google.fonts/check/099](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/099) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.name field contains font name in right format? * [com.google.fonts/check/098](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/098) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.name value should be same as the family name declared on the name table. * [com.google.fonts/check/095](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/095) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, style
:zzz: SKIP: METADATA.pb family.filename and family.post_script_name fields have equivalent values? * [com.google.fonts/check/097](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/097) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb family.full_name and family.post_script_name fields have equivalent values ? * [com.google.fonts/check/096](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/096) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checks METADATA.pb font.name field matches family name declared on the name table. * [com.google.fonts/check/092](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/092) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Check name table: FULL_FONT_NAME entries. * [com.google.fonts/check/159](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/159) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com * [com.google.fonts/check/154](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/154) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ? * [com.google.fonts/check/155](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/155) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Check name table: FONT_FAMILY_NAME entries. * [com.google.fonts/check/157](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/157) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check copyright namerecords match license file. * [com.google.fonts/check/029](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/029) * :zzz: **SKIP** Unfulfilled Conditions: license
:zzz: SKIP: METADATA.pb font.fullname value matches fullname declared on the name table? * [com.google.fonts/check/094](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/094) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table. * [com.google.fonts/check/093](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/093) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checking head.macStyle value. * [com.google.fonts/check/131](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/131) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check that font weight has a canonical value. * [com.google.fonts/check/111](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/111) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/158](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/158) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking OS/2 fsSelection value. * [com.google.fonts/check/129](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/129) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Glyphs are similiar to Google Fonts version? * [com.google.fonts/check/118](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/118) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Check font name is the same as family name. * [com.google.fonts/check/110](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/110) * :zzz: **SKIP** Unfulfilled Conditions: metadata, font_metadata
:zzz: SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb. * [com.google.fonts/check/112](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/112) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Metadata weight matches postScriptName. * [com.google.fonts/check/113](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/113) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Font styles are named canonically? * [com.google.fonts/check/115](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/115) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Version number has increased since previous release on Google Fonts? * [com.google.fonts/check/117](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/117) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont, github_gfonts_ttFont
:zzz: SKIP: Checking post.italicAngle value. * [com.google.fonts/check/130](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/130) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Font has all mandatory 'name' table entries ? * [com.google.fonts/check/156](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/156) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: FontForge checks. * [com.google.fonts/check/039](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/039) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: FontForge validation outputs error messages? * [com.google.fonts/check/038](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/038) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: Checking OS/2 usWeightClass. * [com.google.fonts/check/020](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/020) * :zzz: **SKIP** Unfulfilled Conditions: expected_os2_weight
:zzz: SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth? * [com.google.fonts/check/079](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/079) * :zzz: **SKIP** Unfulfilled Conditions: seems_monospaced
:zzz: SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/170](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/170) * :zzz: **SKIP** Unfulfilled Conditions: regular_ital_coord
:zzz: SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance. * [com.google.fonts/check/168](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/168) * :zzz: **SKIP** Unfulfilled Conditions: regular_wdth_coord
:zzz: SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/169](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/169) * :zzz: **SKIP** Unfulfilled Conditions: regular_slnt_coord
:zzz: SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance. * [com.google.fonts/check/171](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/171) * :zzz: **SKIP** Unfulfilled Conditions: regular_opsz_coord
:information_source: INFO: EPAR table present in font? * [com.google.fonts/check/061](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/061) * :information_source: **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
:information_source: INFO: Check for font-v versioning * [com.google.fonts/check/166](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/166) * :information_source: **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"
:information_source: INFO: Font has old ttfautohint applied? * [com.google.fonts/check/056](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/056) * :information_source: **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']
:information_source: INFO: Font contains all required tables? * [com.google.fonts/check/052](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/052) * :information_source: **INFO** This font contains the following optional tables [DSIG, gasp, loca, GSUB, GPOS, prep] * :bread: **PASS** Font contains all required tables.
:bread: PASS: Make sure family name does not begin with a digit. * [com.google.fonts/check/067](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/067) * :bread: **PASS** Font family name first character is not a digit.
:bread: PASS: Is 'gasp' table set to optimize rendering? * [com.google.fonts/check/062](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/062) * :bread: **PASS** 'gasp' table is correctly set, with one gaspRange:value of 0xFFFF:0x0F.
:bread: PASS: Familyname must be unique according to namecheck.fontdata.com * [com.google.fonts/check/165](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/165) * :bread: **PASS** Font familyname seems to be unique.
:bread: PASS: Font has all expected currency sign characters? * [com.google.fonts/check/070](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/070) * :bread: **PASS** Font has all expected currency sign characters.
:bread: PASS: Are there non-ASCII characters in ASCII-only NAME table entries? * [com.google.fonts/check/074](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/074) * :bread: **PASS** None of the ASCII-only NAME table entries contain non-ASCII characteres.
:bread: PASS: Check a static ttf can be generated from a variable font. * [com.google.fonts/check/174](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/174) * :bread: **PASS** fontTools.varLib.mutator generated a static font instance
:bread: PASS: Length of copyright notice must not exceed 500 characters. * [com.google.fonts/check/164](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/164) * :bread: **PASS** All copyright notice name entries on the 'name' table are shorter than 500 characters.
:bread: PASS: Checking OS/2 fsType. * [com.google.fonts/check/016](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/016) * :bread: **PASS** OS/2 fsType is properly set to zero (80's DRM scheme is disabled).
:bread: PASS: Fonts have equal numbers of glyphs? * [com.google.fonts/check/011](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/011) * :bread: **PASS** All font files in this family have an equal total ammount of glyphs.
:bread: PASS: Fonts have equal glyph names? * [com.google.fonts/check/012](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/012) * :bread: **PASS** All font files have identical glyph names.
:bread: PASS: Substitute copyright, registered and trademark symbols in name table entries. * [com.google.fonts/check/019](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/019) * :bread: **PASS** No need to substitute copyright, registered and trademark symbols in name table entries of this font.
:bread: PASS: "License URL matches License text on name table? * [com.google.fonts/check/030](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/030) * :bread: **PASS** Font has a valid license URL in NAME table.
:bread: PASS: Version format is correct in 'name' table? * [com.google.fonts/check/055](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/055) * :bread: **PASS** Version format in NAME table entries is correct.
:bread: PASS: Checking with ftxvalidator. * [com.google.fonts/check/035](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/035) * :bread: **PASS** ftxvalidator passed this file
:bread: PASS: Font has **proper** whitespace glyph names? * [com.google.fonts/check/048](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/048) * :bread: **PASS** Font has **proper** whitespace glyph names.
:bread: PASS: Checking with ots-sanitize. * [com.google.fonts/check/036](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/036) * :bread: **PASS** ots-sanitize passed this file
:bread: PASS: Font contains the first few mandatory glyphs (.null or NULL, CR and space)? * [com.google.fonts/check/046](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/046) * :bread: **PASS** Font contains the first few mandatory glyphs (.null or NULL, CR and space).
:bread: PASS: Are there unwanted tables? * [com.google.fonts/check/053](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/053) * :bread: **PASS** There are no unwanted tables.
:bread: PASS: Font contains glyphs for whitespace characters? * [com.google.fonts/check/047](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/047) * :bread: **PASS** Font contains glyphs for whitespace characters.
:bread: PASS: Font contains unique glyph names? * [com.google.fonts/check/059](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/059) * :bread: **PASS** Font contains unique glyph names.
:bread: PASS: Glyph names are all valid? * [com.google.fonts/check/058](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/058) * :bread: **PASS** Glyph names are all valid.
:bread: PASS: Whitespace glyphs have ink? * [com.google.fonts/check/049](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/049) * :bread: **PASS** There is no whitespace glyph with ink.
:bread: PASS: Check all glyphs have codepoints assigned. * [com.google.fonts/check/077](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/077) * :bread: **PASS** All glyphs have a codepoint value assigned.
:bread: PASS: Check glyphs have unique unicode codepoints. * [com.google.fonts/check/076](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/076) * :bread: **PASS** All glyphs have unique unicode codepoint assignments.
:bread: PASS: Checking font version fields (head and name table). * [com.google.fonts/check/044](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/044) * :bread: **PASS** All font version fields match.
:bread: PASS: Checking unitsPerEm value is reasonable. * [com.google.fonts/check/043](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/043) * :bread: **PASS** unitsPerEm value on the 'head' table is reasonable.
:bread: PASS: Check if OS/2 xAvgCharWidth is correct. * [com.google.fonts/check/034](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/034) * :bread: **PASS** OS/2 xAvgCharWidth value is correct.
:bread: PASS: Font has correct post table version (2 for TTF, 3 for OTF)? * [com.google.fonts/check/015](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/015) * :bread: **PASS** Font has post table version 2.
:bread: PASS: Font follows the family naming recommendations? * [com.google.fonts/check/071](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/071) * :bread: **PASS** Font follows the family naming recommendations.
:bread: PASS: Does full font name begin with the font family name? * [com.google.fonts/check/068](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/068) * :bread: **PASS** Full font name begins with the font family name.
:bread: PASS: Checking correctness of monospaced metadata. * [com.google.fonts/check/033](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/033) * :bread: **PASS** Font is not monospaced and all related metadata look good. [code: good]
:bread: PASS: Description strings in the name table must not exceed 100 characters. * [com.google.fonts/check/032](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/032) * :bread: **PASS** Description name records do not exceed 100 characters.
:bread: PASS: Description strings in the name table must not contain copyright info. * [com.google.fonts/check/031](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/031) * :bread: **PASS** Description strings in the name table do not contain any copyright string.
:bread: PASS: Name table strings must not contain the string 'Reserved Font Name'. * [com.google.fonts/check/152](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/152) * :bread: **PASS** None of the name table strings contain "Reserved Font Name".
:bread: PASS: Name table entries should not contain line-breaks. * [com.google.fonts/check/057](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/057) * :bread: **PASS** Name table entries are all single-line (no line-breaks found).
:bread: PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables? * [com.google.fonts/check/073](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/073) * :bread: **PASS** MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
:bread: PASS: Checking Vertical Metric Linegaps. * [com.google.fonts/check/041](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/041) * :bread: **PASS** OS/2 sTypoLineGap and hhea lineGap are both 0.
:bread: PASS: Does the font have a DSIG table? * [com.google.fonts/check/045](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/045) * :bread: **PASS** Digital Signature (DSIG) exists.
:bread: PASS: Whitespace and non-breaking space have the same width? * [com.google.fonts/check/050](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/050) * :bread: **PASS** Whitespace and non-breaking space have the same width.
:bread: PASS: Does GPOS table have kerning information? * [com.google.fonts/check/063](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/063) * :bread: **PASS** GPOS table has got kerning information.
:bread: PASS: Is there a "kern" table declared in the font? * [com.google.fonts/check/066](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/066) * :bread: **PASS** Font does not declare an optional "kern" table.
:bread: PASS: Is there any unused data at the end of the glyf table? * [com.google.fonts/check/069](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/069) * :bread: **PASS** There is no unused data at the end of the glyf table.
:bread: PASS: Check for points out of bounds. * [com.google.fonts/check/075](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/075) * :bread: **PASS** All glyph paths have coordinates within bounds!
:bread: PASS: Font enables smart dropout control in "prep" table instructions? * [com.google.fonts/check/072](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/072) * :bread: **PASS** Program at 'prep' table contains instructions enabling smart dropout control.
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance. * [com.google.fonts/check/172](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/172) * :bread: **PASS** Bold:wght is 700.
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance. * [com.google.fonts/check/167](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/167) * :bread: **PASS** Regular:wght is 400.
:bread: PASS: Does the number of glyphs in the loca table match the maxp table? * [com.google.fonts/check/180](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/180) * :bread: **PASS** 'loca' table matches numGlyphs in 'maxp' table.

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
0 5 7 63 4 53
0% 4% 5% 48% 3% 40%
thundernixon commented 6 years ago

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
:broken_heart: ERROR: Do we have the latest version of FontBakery installed? * [com.google.fonts/check/fontbakery_version](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fontbakery_version) * :broken_heart: **ERROR** Failed with AttributeError: 'NoneType' object has no attribute 'split'
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **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]
:bread: PASS: Checking all files are in the same directory. * [com.google.fonts/check/002](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/002) * :bread: **PASS** All files are in the same directory.
:bread: PASS: Fonts have equal unicode encodings? * [com.google.fonts/check/013](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/013) * :bread: **PASS** Fonts have equal unicode encodings.
:bread: PASS: Make sure all font files have the same version value. * [com.google.fonts/check/014](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/014) * :bread: **PASS** All font files have the same version.
:bread: PASS: Fonts have consistent PANOSE proportion? * [com.google.fonts/check/009](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/009) * :bread: **PASS** Fonts have consistent PANOSE proportion.
:bread: PASS: Fonts have consistent PANOSE family type? * [com.google.fonts/check/010](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/010) * :bread: **PASS** Fonts have consistent PANOSE family type.
:bread: PASS: Fonts have consistent underline thickness? * [com.google.fonts/check/008](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/008) * :bread: **PASS** Fonts have consistent underline thickness.
:zzz: SKIP: Does DESCRIPTION file contain broken links? * [com.google.fonts/check/003](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/003) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Is this a proper HTML snippet? * [com.google.fonts/check/004](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/004) * :zzz: **SKIP** Unfulfilled Conditions: descfile
:zzz: SKIP: DESCRIPTION.en_us.html must have more than 200 bytes. * [com.google.fonts/check/005](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/005) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes. * [com.google.fonts/check/006](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/006) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Font designer field in METADATA.pb must not be 'unknown'. * [com.google.fonts/check/007](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/007) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API? * [com.google.fonts/check/081](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/081) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only has unique "full_name" values. * [com.google.fonts/check/083](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/083) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs. * [com.google.fonts/check/084](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/084) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"? * [com.google.fonts/check/085](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/085) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb should contain at least "menu" and "latin" subsets. * [com.google.fonts/check/086](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/086) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb subsets should be alphabetically ordered. * [com.google.fonts/check/087](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/087) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Copyright notice is the same in all fonts? * [com.google.fonts/check/088](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/088) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: Check that METADATA.pb family values are all the same. * [com.google.fonts/check/089](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/089) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style. * [com.google.fonts/check/090](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/090) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Regular should be 400. * [com.google.fonts/check/091](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/091) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, has_regular_style

[113] LibreCaslon-VF.ttf
:broken_heart: ERROR: Checking with ots-sanitize. * [com.google.fonts/check/036](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/036) * :broken_heart: **ERROR** Failed with ModuleNotFoundError: No module named 'ots'
:fire: FAIL: Is 'gasp' table set to optimize rendering? * [com.google.fonts/check/062](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/062) * :fire: **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
:fire: FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/040](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/040) * :fire: **FAIL** OS/2.usWinAscent value should be equal or greater than 1708, but got 1707 instead [code: ascent]
:fire: FAIL: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/042](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/042) * :fire: **FAIL** OS/2 sTypoAscender and hhea ascent must be equal. [code: ascender]
:fire: FAIL: Font enables smart dropout control in "prep" table instructions? * [com.google.fonts/check/072](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/072) * :fire: **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.
:fire: FAIL: Does the font have a DSIG table? * [com.google.fonts/check/045](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/045) * :fire: **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.
:warning: WARN: Checking OS/2 achVendID. * [com.google.fonts/check/018](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/018) * :warning: **WARN** OS/2 VendorID value 'IMPA' is not a known registered id. You should set it to your own 4 character code, and register that code with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
:warning: WARN: Is font em size (ideally) equal to 1000? * [com.google.fonts/check/116](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/116) * :warning: **WARN** Font em size (2048) is not equal to 1000.
:warning: WARN: Is there kerning info for non-ligated sequences? * [com.google.fonts/check/065](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/065) * :warning: **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]
:warning: WARN: Are there caret positions declared for every ligature? * [com.google.fonts/check/064](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/064) * :warning: **WARN** This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
:zzz: SKIP: Checking OS/2 usWeightClass. * [com.google.fonts/check/020](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/020) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check copyright namerecords match license file. * [com.google.fonts/check/029](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/029) * :zzz: **SKIP** Unfulfilled Conditions: license
:zzz: SKIP: Font has ttfautohint params? * [com.google.fonts/check/has_ttfautohint_params](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/has_ttfautohint_params) * :zzz: **SKIP** Font appears to our heuristic as not hinted using ttfautohint.
:zzz: SKIP: Checks METADATA.pb font.name field matches family name declared on the name table. * [com.google.fonts/check/092](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/092) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table. * [com.google.fonts/check/093](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/093) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.full_name value matches fullname declared on the name table? * [com.google.fonts/check/094](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/094) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name value should be same as the family name declared on the name table. * [com.google.fonts/check/095](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/095) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, style
:zzz: SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ? * [com.google.fonts/check/096](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/096) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values? * [com.google.fonts/check/097](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/097) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name field contains font name in right format? * [com.google.fonts/check/098](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/098) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.full_name field contains font name in right format? * [com.google.fonts/check/099](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/099) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.filename field contains font name in right format? * [com.google.fonts/check/100](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/100) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.post_script_name field contains font name in right format? * [com.google.fonts/check/101](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/101) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb matches canonical pattern? * [com.google.fonts/check/102](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/102) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. * [com.google.fonts/check/103](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/103) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars. * [com.google.fonts/check/104](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/104) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Filename is set canonically? * [com.google.fonts/check/105](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/105) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, canonical_filename
:zzz: SKIP: METADATA.pb font.style "italic" matches font internals? * [com.google.fonts/check/106](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/106) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.style "normal" matches font internals? * [com.google.fonts/check/107](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/107) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table? * [com.google.fonts/check/108](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/108) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check if fontname is not camel cased. * [com.google.fonts/check/109](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/109) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check font name is the same as family name. * [com.google.fonts/check/110](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/110) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, font_metadata
:zzz: SKIP: METADATA.pb: Check that font weight has a canonical value. * [com.google.fonts/check/111](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/111) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb. * [com.google.fonts/check/112](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/112) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb weight matches postScriptName. * [com.google.fonts/check/113](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/113) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Font styles are named canonically? * [com.google.fonts/check/115](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/115) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Version number has increased since previous release on Google Fonts? * [com.google.fonts/check/117](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/117) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont, github_gfonts_ttFont
:zzz: SKIP: Glyphs are similiar to Google Fonts version? * [com.google.fonts/check/118](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/118) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts? * [com.google.fonts/check/119](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/119) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Checking OS/2 fsSelection value. * [com.google.fonts/check/129](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/129) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking post.italicAngle value. * [com.google.fonts/check/130](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/130) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking head.macStyle value. * [com.google.fonts/check/131](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/131) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com * [com.google.fonts/check/154](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/154) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ? * [com.google.fonts/check/155](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/155) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Font has all mandatory 'name' table entries ? * [com.google.fonts/check/156](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/156) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_FAMILY_NAME entries. * [com.google.fonts/check/157](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/157) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/158](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/158) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: Check name table: FULL_FONT_NAME entries. * [com.google.fonts/check/159](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/159) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/160](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/160) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries. * [com.google.fonts/check/161](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/161) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries. * [com.google.fonts/check/162](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/162) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: FontForge validation outputs error messages? * [com.google.fonts/check/038](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/038) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: FontForge checks. * [com.google.fonts/check/039](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/039) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth? * [com.google.fonts/check/079](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/079) * :zzz: **SKIP** Unfulfilled Conditions: seems_monospaced
:zzz: SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance. * [com.google.fonts/check/168](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/168) * :zzz: **SKIP** Unfulfilled Conditions: regular_wdth_coord
:zzz: SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/169](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/169) * :zzz: **SKIP** Unfulfilled Conditions: regular_slnt_coord
:zzz: SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/170](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/170) * :zzz: **SKIP** Unfulfilled Conditions: regular_ital_coord
:zzz: SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance. * [com.google.fonts/check/171](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/171) * :zzz: **SKIP** Unfulfilled Conditions: regular_opsz_coord
:information_source: INFO: Show hinting filesize impact. * [com.google.fonts/check/054](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/054) * :information_source: **INFO** Hinting filesize impact: | | LibreCaslon-VF.ttf | |:--- | ---:| | Dehinted Size | 124.8kb | | Hinted Size | 124.4kb | | Increase | -496 bytes | | Change | -0.0 % |
:information_source: INFO: Font has old ttfautohint applied? * [com.google.fonts/check/056](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/056) * :information_source: **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']
:information_source: INFO: EPAR table present in font? * [com.google.fonts/check/061](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/061) * :information_source: **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
:information_source: INFO: Check for font-v versioning * [com.google.fonts/check/166](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/166) * :information_source: **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"
:information_source: INFO: Font contains all required tables? * [com.google.fonts/check/052](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/052) * :information_source: **INFO** This font contains the following optional tables [loca, GPOS, GSUB] * :bread: **PASS** Font contains all required tables.
:bread: PASS: Checking file is named canonically. * [com.google.fonts/check/001](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/001) * :bread: **PASS** LibreCaslon-VF.ttf is named canonically.
:bread: PASS: Fonts have equal numbers of glyphs? * [com.google.fonts/check/011](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/011) * :bread: **PASS** All font files in this family have an equal total ammount of glyphs.
:bread: PASS: Fonts have equal glyph names? * [com.google.fonts/check/012](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/012) * :bread: **PASS** All font files have identical glyph names.
:bread: PASS: Checking OS/2 fsType. * [com.google.fonts/check/016](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/016) * :bread: **PASS** OS/2 fsType is properly set to zero.
:bread: PASS: Substitute copyright, registered and trademark symbols in name table entries. * [com.google.fonts/check/019](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/019) * :bread: **PASS** No need to substitute copyright, registered and trademark symbols in name table entries of this font.
:bread: PASS: "License URL matches License text on name table? * [com.google.fonts/check/030](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/030) * :bread: **PASS** Font has a valid license URL in NAME table.
:bread: PASS: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/032](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/032) * :bread: **PASS** All description name records have reasonably small lengths.
:bread: PASS: Version format is correct in 'name' table? * [com.google.fonts/check/055](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/055) * :bread: **PASS** Version format in NAME table entries is correct.
:bread: PASS: Make sure family name does not begin with a digit. * [com.google.fonts/check/067](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/067) * :bread: **PASS** Font family name first character is not a digit.
:bread: PASS: Font has all expected currency sign characters? * [com.google.fonts/check/070](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/070) * :bread: **PASS** Font has all expected currency sign characters.
:bread: PASS: Are there non-ASCII characters in ASCII-only NAME table entries? * [com.google.fonts/check/074](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/074) * :bread: **PASS** None of the ASCII-only NAME table entries contain non-ASCII characteres.
:bread: PASS: Length of copyright notice must not exceed 500 characters. * [com.google.fonts/check/164](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/164) * :bread: **PASS** All copyright notice name entries on the 'name' table are shorter than 500 characters.
:bread: PASS: Familyname must be unique according to namecheck.fontdata.com * [com.google.fonts/check/165](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/165) * :bread: **PASS** Font familyname seems to be unique.
:bread: PASS: Check a static ttf can be generated from a variable font. * [com.google.fonts/check/174](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/174) * :bread: **PASS** fontTools.varLib.mutator generated a static font instance
:bread: PASS: Check that variable fonts have an HVAR table. * [com.google.fonts/check/varfont/has_HVAR](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/has_HVAR) * :bread: **PASS** This variable font contains an HVAR table.
:bread: PASS: There must not be VTT Talk sources in the font. * [com.google.fonts/check/vttclean](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/vttclean) * :bread: **PASS** There are no tables with VTT Talk sources embedded in the font.
:bread: PASS: Checking with ftxvalidator. * [com.google.fonts/check/035](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/035) * :bread: **PASS** ftxvalidator passed this file
:bread: PASS: Font contains .notdef as first glyph? * [com.google.fonts/check/046](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/046) * :bread: **PASS** Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
:bread: PASS: Font contains glyphs for whitespace characters? * [com.google.fonts/check/047](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/047) * :bread: **PASS** Font contains glyphs for whitespace characters.
:bread: PASS: Font has **proper** whitespace glyph names? * [com.google.fonts/check/048](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/048) * :bread: **PASS** Font has **proper** whitespace glyph names.
:bread: PASS: Whitespace glyphs have ink? * [com.google.fonts/check/049](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/049) * :bread: **PASS** There is no whitespace glyph with ink.
:bread: PASS: Are there unwanted tables? * [com.google.fonts/check/053](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/053) * :bread: **PASS** There are no unwanted tables.
:bread: PASS: Glyph names are all valid? * [com.google.fonts/check/058](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/058) * :bread: **PASS** Glyph names are all valid.
:bread: PASS: Font contains unique glyph names? * [com.google.fonts/check/059](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/059) * :bread: **PASS** Font contains unique glyph names.
:bread: PASS: Checking with fontTools.ttx * [com.google.fonts/check/ttx-roundtrip](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ttx-roundtrip) * :bread: **PASS** Hey! It all looks good!
:bread: PASS: Check glyphs have unique unicode codepoints. * [com.google.fonts/check/076](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/076) * :bread: **PASS** All glyphs have unique unicode codepoint assignments.
:bread: PASS: Check all glyphs have codepoints assigned. * [com.google.fonts/check/077](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/077) * :bread: **PASS** All glyphs have a codepoint value assigned.
:bread: PASS: Checking unitsPerEm value is reasonable. * [com.google.fonts/check/043](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/043) * :bread: **PASS** unitsPerEm value on the 'head' table is reasonable.
:bread: PASS: Checking font version fields (head and name table). * [com.google.fonts/check/044](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/044) * :bread: **PASS** All font version fields match.
:bread: PASS: Check if OS/2 xAvgCharWidth is correct. * [com.google.fonts/check/034](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/034) * :bread: **PASS** OS/2 xAvgCharWidth value is correct.
:bread: PASS: Font has correct post table version (2 for TTF, 3 for OTF)? * [com.google.fonts/check/015](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/015) * :bread: **PASS** Font has post table version 2.
:bread: PASS: Description strings in the name table must not contain copyright info. * [com.google.fonts/check/031](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/031) * :bread: **PASS** Description strings in the name table do not contain any copyright string.
:bread: PASS: Checking correctness of monospaced metadata. * [com.google.fonts/check/033](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/033) * :bread: **PASS** Font is not monospaced and all related metadata look good. [code: good]
:bread: PASS: Name table entries should not contain line-breaks. * [com.google.fonts/check/057](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/057) * :bread: **PASS** Name table entries are all single-line (no line-breaks found).
:bread: PASS: Does full font name begin with the font family name? * [com.google.fonts/check/068](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/068) * :bread: **PASS** Full font name begins with the font family name.
:bread: PASS: Font follows the family naming recommendations? * [com.google.fonts/check/071](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/071) * :bread: **PASS** Font follows the family naming recommendations.
:bread: PASS: Name table strings must not contain the string 'Reserved Font Name'. * [com.google.fonts/check/152](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/152) * :bread: **PASS** None of the name table strings contain "Reserved Font Name".
:bread: PASS: Combined length of family and style must not exceed 20 characters. * [com.google.fonts/check/163](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/163) * :bread: **PASS** All name entries are good.
:bread: PASS: Checking Vertical Metric Linegaps. * [com.google.fonts/check/041](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/041) * :bread: **PASS** OS/2 sTypoLineGap and hhea lineGap are both 0.
:bread: PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables? * [com.google.fonts/check/073](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/073) * :bread: **PASS** MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
:bread: PASS: Whitespace and non-breaking space have the same width? * [com.google.fonts/check/050](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/050) * :bread: **PASS** Whitespace and non-breaking space have the same width.
:bread: PASS: Does GPOS table have kerning information? * [com.google.fonts/check/063](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/063) * :bread: **PASS** GPOS table has got kerning information.
:bread: PASS: Is there a "kern" table declared in the font? * [com.google.fonts/check/066](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/066) * :bread: **PASS** Font does not declare an optional "kern" table.
:bread: PASS: Is there any unused data at the end of the glyf table? * [com.google.fonts/check/069](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/069) * :bread: **PASS** There is no unused data at the end of the glyf table.
:bread: PASS: Check for points out of bounds. * [com.google.fonts/check/075](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/075) * :bread: **PASS** All glyph paths have coordinates within bounds!
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance. * [com.google.fonts/check/167](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/167) * :bread: **PASS** Regular:wght is 400.
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance. * [com.google.fonts/check/172](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/172) * :bread: **PASS** Bold:wght is 700.
:bread: PASS: Does the number of glyphs in the loca table match the maxp table? * [com.google.fonts/check/180](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/180) * :bread: **PASS** 'loca' table matches numGlyphs in 'maxp' table.

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
2 6 6 63 5 54
1% 4% 4% 46% 4% 40%
thundernixon commented 6 years ago

Fontbakery report

Fontbakery version: 0.5.2.dev136+g7a5a29b6

[23] Family checks
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **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]
:information_source: INFO: Do we have the latest version of FontBakery installed? * [com.google.fonts/check/fontbakery_version](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fontbakery_version) * :information_source: **INFO** fontbakery (0.5.1) - Well designed Font QA tool, written in Python 3 INSTALLED: 0.5.2.dev136+g7a5a29b6 LATEST: 0.5.1 * :bread: **PASS** Font Bakery is up-to-date
:bread: PASS: Checking all files are in the same directory. * [com.google.fonts/check/002](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/002) * :bread: **PASS** All files are in the same directory.
:bread: PASS: Fonts have equal unicode encodings? * [com.google.fonts/check/013](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/013) * :bread: **PASS** Fonts have equal unicode encodings.
:bread: PASS: Make sure all font files have the same version value. * [com.google.fonts/check/014](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/014) * :bread: **PASS** All font files have the same version.
:bread: PASS: Fonts have consistent PANOSE proportion? * [com.google.fonts/check/009](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/009) * :bread: **PASS** Fonts have consistent PANOSE proportion.
:bread: PASS: Fonts have consistent PANOSE family type? * [com.google.fonts/check/010](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/010) * :bread: **PASS** Fonts have consistent PANOSE family type.
:bread: PASS: Fonts have consistent underline thickness? * [com.google.fonts/check/008](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/008) * :bread: **PASS** Fonts have consistent underline thickness.
:zzz: SKIP: Does DESCRIPTION file contain broken links? * [com.google.fonts/check/003](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/003) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Is this a proper HTML snippet? * [com.google.fonts/check/004](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/004) * :zzz: **SKIP** Unfulfilled Conditions: descfile
:zzz: SKIP: DESCRIPTION.en_us.html must have more than 200 bytes. * [com.google.fonts/check/005](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/005) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes. * [com.google.fonts/check/006](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/006) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Font designer field in METADATA.pb must not be 'unknown'. * [com.google.fonts/check/007](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/007) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API? * [com.google.fonts/check/081](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/081) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only has unique "full_name" values. * [com.google.fonts/check/083](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/083) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs. * [com.google.fonts/check/084](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/084) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"? * [com.google.fonts/check/085](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/085) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb should contain at least "menu" and "latin" subsets. * [com.google.fonts/check/086](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/086) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb subsets should be alphabetically ordered. * [com.google.fonts/check/087](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/087) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Copyright notice is the same in all fonts? * [com.google.fonts/check/088](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/088) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: Check that METADATA.pb family values are all the same. * [com.google.fonts/check/089](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/089) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style. * [com.google.fonts/check/090](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/090) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Regular should be 400. * [com.google.fonts/check/091](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/091) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, has_regular_style

[113] LibreCaslon-VF.ttf
:fire: FAIL: Is 'gasp' table set to optimize rendering? * [com.google.fonts/check/062](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/062) * :fire: **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
:fire: FAIL: Font enables smart dropout control in "prep" table instructions? * [com.google.fonts/check/072](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/072) * :fire: **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.
:warning: WARN: Checking OS/2 achVendID. * [com.google.fonts/check/018](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/018) * :warning: **WARN** OS/2 VendorID value 'IMPA' is not a known registered id. You should set it to your own 4 character code, and register that code with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
:warning: WARN: Is font em size (ideally) equal to 1000? * [com.google.fonts/check/116](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/116) * :warning: **WARN** Font em size (2048) is not equal to 1000.
:warning: WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/153](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/153) * :warning: **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
:warning: WARN: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :information_source: **INFO** Microsoft Font Validator returned an error code. Output follows : LibreCaslon-VF.ttf (file 1 of 1) Complete: LibreCaslon-VF.ttf.report.xml Reports are ready! * :information_source: **INFO** MS-FonVal: The file begins with an Offset Table (file contains a single font) * :information_source: **INFO** MS-FonVal: Not an OpenType table, contents not validated DETAILS: - - This table type is defined in the Apple TrueType spec. * :information_source: **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! * :information_source: **INFO** MS-FonVal: Descender should be greater than or equal to head.yMin DETAILS: Descender = -605, head.yMin = -458 * :information_source: **INFO** MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 4 * :information_source: **INFO** MS-FonVal: maxSizeOfInstructions via method #1 DETAILS: maxSizeOfInstructions=0, computed from the glyf table * :information_source: **INFO** MS-FonVal: No string for Typographic Family name (Name ID 16) * :information_source: **INFO** MS-FonVal: No string for Typographic Subfamily name (Name ID 17) * :information_source: **INFO** MS-FonVal: 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 * :information_source: **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 * :information_source: **INFO** MS-FonVal: The post name has an unexpected value DETAILS: glyph = 509, char = U+F6C3, name = uni0326 * :information_source: **INFO** MS-FonVal: Rasterization not selected for validation * :information_source: **INFO** MS-FonVal: Total time validating file DETAILS: 0:00:16 * :bread: **PASS** MS-FonVal: The numTables field is non-zero DETAILS: 18 * :bread: **PASS** MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid * :bread: **PASS** MS-FonVal: The directory entry tags are in ascending order * :bread: **PASS** MS-FonVal: The directory entry tag names are valid * :bread: **PASS** MS-FonVal: The directory entry table offsets are all multiples of 4 * :bread: **PASS** MS-FonVal: All required tables are present * :bread: **PASS** MS-FonVal: No unnecessary tables are present * :bread: **PASS** MS-FonVal: Tables are in optimal order * :bread: **PASS** MS-FonVal: All signature blocks were in format 1 * :bread: **PASS** MS-FonVal: All signature blocks' reserved values were 0 * :bread: **PASS** MS-FonVal: The digital signature of the file verified correctly * :bread: **PASS** MS-FonVal: All header offsets point within the table * :bread: **PASS** MS-FonVal: The version number is 0x00010000 * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable, DefaultLangSysTable * :bread: **PASS** MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable * :bread: **PASS** MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: - FeatureList, FeatureRecord[0](kern), FeatureTable - FeatureList, FeatureRecord[1](mark), FeatureTable - FeatureList, FeatureRecord[0](dlig), FeatureTable - FeatureList, FeatureRecord[1](dnom), FeatureTable - FeatureList, FeatureRecord[2](frac), FeatureTable - FeatureList, FeatureRecord[3](liga), FeatureTable - FeatureList, FeatureRecord[4](numr), FeatureTable - FeatureList, FeatureRecord[5](onum), FeatureTable - FeatureList, FeatureRecord[6](ordn), FeatureTable - FeatureList, FeatureRecord[7](sinf), FeatureTable - FeatureList, FeatureRecord[8](sups), FeatureTable - FeatureList, FeatureRecord[9](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The FeatureList table is valid DETAILS: FeatureList * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: - LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0] - 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! * :bread: **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) * :bread: **PASS** MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[1], SubTable[0](MarkBasePos), BaseArray * :bread: **PASS** MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](MarkBasePos) * :bread: **PASS** MS-FonVal: The LookupList table is valid DETAILS: LookupList * :bread: **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) * :bread: **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) * :bread: **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) * :bread: **PASS** MS-FonVal: The table length matches the expected length for this version * :bread: **PASS** MS-FonVal: The usWeightClass is consistent with the PANOSE weight value * :bread: **PASS** MS-FonVal: The usWeightClass is a valid value DETAILS: 400 * :bread: **PASS** MS-FonVal: The width class is a valid value DETAILS: 5 * :bread: **PASS** MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding * :bread: **PASS** MS-FonVal: All subscript and superscript values appear valid * :bread: **PASS** MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid * :bread: **PASS** MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range * :bread: **PASS** MS-FonVal: All panose values are in a valid range * :bread: **PASS** MS-FonVal: The Unicode Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x0000, last = 0xfb06 * :bread: **PASS** MS-FonVal: The sTypoAscender and sTypoDescender fields are reasonable values DETAILS: sTypoAscender = 1443, sTypoDescender = -605 * :bread: **PASS** MS-FonVal: The CodePage Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The sxHeight field is nonzero DETAILS: 933 * :bread: **PASS** MS-FonVal: The sCapHeight field is nonzero DETAILS: 1355 * :bread: **PASS** MS-FonVal: The usDefaultChar field is zero * :bread: **PASS** MS-FonVal: The usBreakChar is mapped to a glyf * :bread: **PASS** MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3 * :bread: **PASS** MS-FonVal: The table version number is 0 * :bread: **PASS** MS-FonVal: Each subtable offset is within the table * :bread: **PASS** MS-FonVal: Each subtable length is within the table * :bread: **PASS** MS-FonVal: The subtables are in the correct order * :bread: **PASS** MS-FonVal: There are no duplicate subtables * :bread: **PASS** MS-FonVal: No overlapping subtables were found * :bread: **PASS** MS-FonVal: Each subtable's format number is valid * :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: - PlatID = 0, EncID = 3, Fmt = 4 - PlatID = 3, EncID = 1, Fmt = 4 * :bread: **PASS** MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1 * :bread: **PASS** MS-FonVal: All non mac subtables have a language field of zero * :bread: **PASS** MS-FonVal: Correct format of loca (0 or 1) * :bread: **PASS** MS-FonVal: Table length is 54 bytes * :bread: **PASS** MS-FonVal: The table version number is 0x00010000 * :bread: **PASS** MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.002 * :bread: **PASS** MS-FonVal: Font checksum is correct DETAILS: 0x6d267d42 * :bread: **PASS** MS-FonVal: The magic number is 0x5f0f3cf5 * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present * :bread: **PASS** MS-FonVal: Reserved bit 14 of the flags field is clear * :bread: **PASS** MS-FonVal: Reserved bit 15 of the flags field is clear * :bread: **PASS** MS-FonVal: The unitsPerEm value is a power of two in the range 64..16384 DETAILS: 2048 * :bread: **PASS** MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -280 * :bread: **PASS** MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -458 * :bread: **PASS** MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 2527 * :bread: **PASS** MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1708 * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the post table italic angle * :bread: **PASS** MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2 * :bread: **PASS** MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0 * :bread: **PASS** MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0 * :bread: **PASS** MS-FonVal: The glyphDataFormat value is 0 * :bread: **PASS** MS-FonVal: The Ascender value is greater than zero * :bread: **PASS** MS-FonVal: The Descender is less than zero * :bread: **PASS** MS-FonVal: Ascender is less than or equal to head.yMax * :bread: **PASS** MS-FonVal: LineGap is greater than or equal to 0 * :bread: **PASS** MS-FonVal: The LineGap is greater to or equal the minimum recommended value * :bread: **PASS** MS-FonVal: The advanceWidthMax field equals the calculated value * :bread: **PASS** MS-FonVal: The minLeftSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The minRightSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The xMaxExtent field equals the calculated value * :bread: **PASS** MS-FonVal: The reserved fields are all set to zero * :bread: **PASS** MS-FonVal: The metricDataFormat field is set to zero * :bread: **PASS** MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table * :bread: **PASS** MS-FonVal: The caretSlope angle matches the post.italicAngle * :bread: **PASS** MS-FonVal: The size of the table matches the calculated size * :bread: **PASS** MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1) * :bread: **PASS** MS-FonVal: The entries are sorted in ascending order * :bread: **PASS** MS-FonVal: All entries point within range of the glyf table * :bread: **PASS** MS-FonVal: All glyphs in the glyf table are referenced by the loca table * :bread: **PASS** MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present * :bread: **PASS** MS-FonVal: Table version is 1.0 and the table is 32 bytes long * :bread: **PASS** MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 537 * :bread: **PASS** MS-FonVal: The points, contours, and component values match the calculated values * :bread: **PASS** MS-FonVal: The format selector field is 0 * :bread: **PASS** MS-FonVal: No strings extended past the end of the table * :bread: **PASS** MS-FonVal: The NameRecords array is in sorted order * :bread: **PASS** MS-FonVal: No name records are using reserved Name IDs * :bread: **PASS** MS-FonVal: The table contains strings for both Mac and Microsoft platforms * :bread: **PASS** MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.002" * :bread: **PASS** MS-FonVal: All strings had valid Platform Specific Encoding IDs * :bread: **PASS** MS-FonVal: All Microsoft unicode strings had valid Language IDs * :bread: **PASS** MS-FonVal: The length of every unicode string is an even # of bytes * :bread: **PASS** MS-FonVal: The subfamily string is consistent with the style of the font * :bread: **PASS** MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14) * :bread: **PASS** MS-FonVal: No inconsistencies were found for Copyright strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Trademark strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Description strings * :bread: **PASS** MS-FonVal: The table length is valid * :bread: **PASS** MS-FonVal: The version number is valid * :bread: **PASS** MS-FonVal: The italicAngle value is reasonable and consistent with other tables * :bread: **PASS** MS-FonVal: The underlinePosition value is not less than hhea.Descender * :bread: **PASS** MS-FonVal: The underlineThickness value is reasonable * :bread: **PASS** MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables * :bread: **PASS** MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs * :bread: **PASS** MS-FonVal: The glyphNameIndex array contains valid indexes * :bread: **PASS** MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names * :warning: **WARN** MS-FonVal: The version number is valid, but less than 5 DETAILS: 4 * :warning: **WARN** MS-FonVal: There are undefined bits set in fsSelection field DETAILS: Bit(s) 7 * :warning: **WARN** MS-FonVal: The table does not contain any Apple subtables * :warning: **WARN** MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present * :warning: **WARN** MS-FonVal: Characters are mapped in the Unicode Private Use area * :warning: **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]} * :warning: **WARN** MS-FonVal: The created time is an unlikely value DETAILS: created = 3624388363 (Tuesday, November 6, 2018 10:32 PM) * :warning: **WARN** MS-FonVal: The modified time is an unlikely value DETAILS: modified = 3624401346 (Wednesday, November 7, 2018 2:09 AM) * :warning: **WARN** MS-FonVal: The lowestRecPPEM value may be unreasonably small DETAILS: lowestRecPPEM = 6 * :warning: **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 * :warning: **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 * :warning: **WARN** MS-FonVal: The leftSideBearing is greater than the advance width (unlikely value) DETAILS: glyph# 509 * :warning: **WARN** MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 DETAILS: Number of glyphs with the warning = 155
:warning: WARN: Checking Vertical Metric Linegaps. * [com.google.fonts/check/041](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/041) * :warning: **WARN** hhea lineGap is not equal to 0. [code: hhea]
:warning: WARN: Is there kerning info for non-ligated sequences? * [com.google.fonts/check/065](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/065) * :warning: **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]
:warning: WARN: Are there caret positions declared for every ligature? * [com.google.fonts/check/064](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/064) * :warning: **WARN** This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
:zzz: SKIP: Checking OS/2 usWeightClass. * [com.google.fonts/check/020](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/020) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check copyright namerecords match license file. * [com.google.fonts/check/029](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/029) * :zzz: **SKIP** Unfulfilled Conditions: license
:zzz: SKIP: Font has ttfautohint params? * [com.google.fonts/check/has_ttfautohint_params](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/has_ttfautohint_params) * :zzz: **SKIP** Font appears to our heuristic as not hinted using ttfautohint.
:zzz: SKIP: Checks METADATA.pb font.name field matches family name declared on the name table. * [com.google.fonts/check/092](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/092) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table. * [com.google.fonts/check/093](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/093) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.full_name value matches fullname declared on the name table? * [com.google.fonts/check/094](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/094) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name value should be same as the family name declared on the name table. * [com.google.fonts/check/095](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/095) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, style
:zzz: SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ? * [com.google.fonts/check/096](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/096) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values? * [com.google.fonts/check/097](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/097) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name field contains font name in right format? * [com.google.fonts/check/098](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/098) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.full_name field contains font name in right format? * [com.google.fonts/check/099](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/099) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.filename field contains font name in right format? * [com.google.fonts/check/100](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/100) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.post_script_name field contains font name in right format? * [com.google.fonts/check/101](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/101) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb matches canonical pattern? * [com.google.fonts/check/102](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/102) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. * [com.google.fonts/check/103](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/103) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars. * [com.google.fonts/check/104](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/104) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Filename is set canonically? * [com.google.fonts/check/105](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/105) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, canonical_filename
:zzz: SKIP: METADATA.pb font.style "italic" matches font internals? * [com.google.fonts/check/106](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/106) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.style "normal" matches font internals? * [com.google.fonts/check/107](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/107) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table? * [com.google.fonts/check/108](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/108) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check if fontname is not camel cased. * [com.google.fonts/check/109](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/109) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check font name is the same as family name. * [com.google.fonts/check/110](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/110) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, font_metadata
:zzz: SKIP: METADATA.pb: Check that font weight has a canonical value. * [com.google.fonts/check/111](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/111) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb. * [com.google.fonts/check/112](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/112) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb weight matches postScriptName. * [com.google.fonts/check/113](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/113) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Font styles are named canonically? * [com.google.fonts/check/115](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/115) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Version number has increased since previous release on Google Fonts? * [com.google.fonts/check/117](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/117) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont, github_gfonts_ttFont
:zzz: SKIP: Glyphs are similiar to Google Fonts version? * [com.google.fonts/check/118](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/118) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts? * [com.google.fonts/check/119](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/119) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Checking OS/2 fsSelection value. * [com.google.fonts/check/129](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/129) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking post.italicAngle value. * [com.google.fonts/check/130](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/130) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking head.macStyle value. * [com.google.fonts/check/131](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/131) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com * [com.google.fonts/check/154](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/154) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ? * [com.google.fonts/check/155](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/155) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Font has all mandatory 'name' table entries ? * [com.google.fonts/check/156](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/156) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_FAMILY_NAME entries. * [com.google.fonts/check/157](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/157) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/158](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/158) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: Check name table: FULL_FONT_NAME entries. * [com.google.fonts/check/159](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/159) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/160](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/160) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries. * [com.google.fonts/check/161](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/161) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries. * [com.google.fonts/check/162](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/162) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: FontForge validation outputs error messages? * [com.google.fonts/check/038](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/038) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: FontForge checks. * [com.google.fonts/check/039](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/039) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth? * [com.google.fonts/check/079](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/079) * :zzz: **SKIP** Unfulfilled Conditions: seems_monospaced
:zzz: SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance. * [com.google.fonts/check/168](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/168) * :zzz: **SKIP** Unfulfilled Conditions: regular_wdth_coord
:zzz: SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/169](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/169) * :zzz: **SKIP** Unfulfilled Conditions: regular_slnt_coord
:zzz: SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/170](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/170) * :zzz: **SKIP** Unfulfilled Conditions: regular_ital_coord
:zzz: SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance. * [com.google.fonts/check/171](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/171) * :zzz: **SKIP** Unfulfilled Conditions: regular_opsz_coord
:information_source: INFO: Show hinting filesize impact. * [com.google.fonts/check/054](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/054) * :information_source: **INFO** Hinting filesize impact: | | LibreCaslon-VF.ttf | |:--- | ---:| | Dehinted Size | 123.9kb | | Hinted Size | 123.4kb | | Increase | -508 bytes | | Change | -0.0 % |
:information_source: INFO: Font has old ttfautohint applied? * [com.google.fonts/check/056](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/056) * :information_source: **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']
:information_source: INFO: EPAR table present in font? * [com.google.fonts/check/061](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/061) * :information_source: **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
:information_source: INFO: Check for font-v versioning * [com.google.fonts/check/166](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/166) * :information_source: **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"
:information_source: INFO: Font contains all required tables? * [com.google.fonts/check/052](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/052) * :information_source: **INFO** This font contains the following optional tables [GSUB, GPOS, loca, DSIG] * :bread: **PASS** Font contains all required tables.
:bread: PASS: Checking file is named canonically. * [com.google.fonts/check/001](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/001) * :bread: **PASS** LibreCaslon-VF.ttf is named canonically.
:bread: PASS: Fonts have equal numbers of glyphs? * [com.google.fonts/check/011](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/011) * :bread: **PASS** All font files in this family have an equal total ammount of glyphs.
:bread: PASS: Fonts have equal glyph names? * [com.google.fonts/check/012](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/012) * :bread: **PASS** All font files have identical glyph names.
:bread: PASS: Checking OS/2 fsType. * [com.google.fonts/check/016](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/016) * :bread: **PASS** OS/2 fsType is properly set to zero.
:bread: PASS: Substitute copyright, registered and trademark symbols in name table entries. * [com.google.fonts/check/019](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/019) * :bread: **PASS** No need to substitute copyright, registered and trademark symbols in name table entries of this font.
:bread: PASS: "License URL matches License text on name table? * [com.google.fonts/check/030](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/030) * :bread: **PASS** Font has a valid license URL in NAME table.
:bread: PASS: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/032](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/032) * :bread: **PASS** All description name records have reasonably small lengths.
:bread: PASS: Version format is correct in 'name' table? * [com.google.fonts/check/055](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/055) * :bread: **PASS** Version format in NAME table entries is correct.
:bread: PASS: Make sure family name does not begin with a digit. * [com.google.fonts/check/067](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/067) * :bread: **PASS** Font family name first character is not a digit.
:bread: PASS: Font has all expected currency sign characters? * [com.google.fonts/check/070](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/070) * :bread: **PASS** Font has all expected currency sign characters.
:bread: PASS: Are there non-ASCII characters in ASCII-only NAME table entries? * [com.google.fonts/check/074](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/074) * :bread: **PASS** None of the ASCII-only NAME table entries contain non-ASCII characteres.
:bread: PASS: Length of copyright notice must not exceed 500 characters. * [com.google.fonts/check/164](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/164) * :bread: **PASS** All copyright notice name entries on the 'name' table are shorter than 500 characters.
:bread: PASS: Familyname must be unique according to namecheck.fontdata.com * [com.google.fonts/check/165](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/165) * :bread: **PASS** Font familyname seems to be unique.
:bread: PASS: Check a static ttf can be generated from a variable font. * [com.google.fonts/check/174](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/174) * :bread: **PASS** fontTools.varLib.mutator generated a static font instance
:bread: PASS: Check that variable fonts have an HVAR table. * [com.google.fonts/check/varfont/has_HVAR](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/has_HVAR) * :bread: **PASS** This variable font contains an HVAR table.
:bread: PASS: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/040](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/040) * :bread: **PASS** OS/2 usWinAscent & usWinDescent values look good!
:bread: PASS: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/042](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/042) * :bread: **PASS** OS/2.sTypoAscender/Descender match hhea.ascent/descent.
:bread: PASS: There must not be VTT Talk sources in the font. * [com.google.fonts/check/vttclean](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/vttclean) * :bread: **PASS** There are no tables with VTT Talk sources embedded in the font.
:bread: PASS: Checking with ftxvalidator. * [com.google.fonts/check/035](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/035) * :bread: **PASS** ftxvalidator passed this file
:bread: PASS: Checking with ots-sanitize. * [com.google.fonts/check/036](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/036) * :bread: **PASS** ots-sanitize passed this file
:bread: PASS: Font contains .notdef as first glyph? * [com.google.fonts/check/046](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/046) * :bread: **PASS** Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
:bread: PASS: Font contains glyphs for whitespace characters? * [com.google.fonts/check/047](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/047) * :bread: **PASS** Font contains glyphs for whitespace characters.
:bread: PASS: Font has **proper** whitespace glyph names? * [com.google.fonts/check/048](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/048) * :bread: **PASS** Font has **proper** whitespace glyph names.
:bread: PASS: Whitespace glyphs have ink? * [com.google.fonts/check/049](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/049) * :bread: **PASS** There is no whitespace glyph with ink.
:bread: PASS: Are there unwanted tables? * [com.google.fonts/check/053](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/053) * :bread: **PASS** There are no unwanted tables.
:bread: PASS: Glyph names are all valid? * [com.google.fonts/check/058](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/058) * :bread: **PASS** Glyph names are all valid.
:bread: PASS: Font contains unique glyph names? * [com.google.fonts/check/059](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/059) * :bread: **PASS** Font contains unique glyph names.
:bread: PASS: Checking with fontTools.ttx * [com.google.fonts/check/ttx-roundtrip](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ttx-roundtrip) * :bread: **PASS** Hey! It all looks good!
:bread: PASS: Check glyphs have unique unicode codepoints. * [com.google.fonts/check/076](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/076) * :bread: **PASS** All glyphs have unique unicode codepoint assignments.
:bread: PASS: Check all glyphs have codepoints assigned. * [com.google.fonts/check/077](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/077) * :bread: **PASS** All glyphs have a codepoint value assigned.
:bread: PASS: Checking unitsPerEm value is reasonable. * [com.google.fonts/check/043](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/043) * :bread: **PASS** unitsPerEm value on the 'head' table is reasonable.
:bread: PASS: Checking font version fields (head and name table). * [com.google.fonts/check/044](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/044) * :bread: **PASS** All font version fields match.
:bread: PASS: Check if OS/2 xAvgCharWidth is correct. * [com.google.fonts/check/034](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/034) * :bread: **PASS** OS/2 xAvgCharWidth value is correct.
:bread: PASS: Font has correct post table version (2 for TTF, 3 for OTF)? * [com.google.fonts/check/015](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/015) * :bread: **PASS** Font has post table version 2.
:bread: PASS: Description strings in the name table must not contain copyright info. * [com.google.fonts/check/031](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/031) * :bread: **PASS** Description strings in the name table do not contain any copyright string.
:bread: PASS: Checking correctness of monospaced metadata. * [com.google.fonts/check/033](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/033) * :bread: **PASS** Font is not monospaced and all related metadata look good. [code: good]
:bread: PASS: Name table entries should not contain line-breaks. * [com.google.fonts/check/057](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/057) * :bread: **PASS** Name table entries are all single-line (no line-breaks found).
:bread: PASS: Does full font name begin with the font family name? * [com.google.fonts/check/068](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/068) * :bread: **PASS** Full font name begins with the font family name.
:bread: PASS: Font follows the family naming recommendations? * [com.google.fonts/check/071](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/071) * :bread: **PASS** Font follows the family naming recommendations.
:bread: PASS: Name table strings must not contain the string 'Reserved Font Name'. * [com.google.fonts/check/152](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/152) * :bread: **PASS** None of the name table strings contain "Reserved Font Name".
:bread: PASS: Combined length of family and style must not exceed 20 characters. * [com.google.fonts/check/163](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/163) * :bread: **PASS** All name entries are good.
:bread: PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables? * [com.google.fonts/check/073](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/073) * :bread: **PASS** MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
:bread: PASS: Does the font have a DSIG table? * [com.google.fonts/check/045](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/045) * :bread: **PASS** Digital Signature (DSIG) exists.
:bread: PASS: Whitespace and non-breaking space have the same width? * [com.google.fonts/check/050](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/050) * :bread: **PASS** Whitespace and non-breaking space have the same width.
:bread: PASS: Does GPOS table have kerning information? * [com.google.fonts/check/063](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/063) * :bread: **PASS** GPOS table has got kerning information.
:bread: PASS: Is there a "kern" table declared in the font? * [com.google.fonts/check/066](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/066) * :bread: **PASS** Font does not declare an optional "kern" table.
:bread: PASS: Is there any unused data at the end of the glyf table? * [com.google.fonts/check/069](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/069) * :bread: **PASS** There is no unused data at the end of the glyf table.
:bread: PASS: Check for points out of bounds. * [com.google.fonts/check/075](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/075) * :bread: **PASS** All glyph paths have coordinates within bounds!
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance. * [com.google.fonts/check/167](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/167) * :bread: **PASS** Regular:wght is 400.
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance. * [com.google.fonts/check/172](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/172) * :bread: **PASS** Bold:wght is 700.
:bread: PASS: Does the number of glyphs in the loca table match the maxp table? * [com.google.fonts/check/180](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/180) * :bread: **PASS** 'loca' table matches numGlyphs in 'maxp' table.

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
0 3 7 63 6 57
0% 2% 5% 46% 4% 42%
thundernixon commented 6 years ago

Fontbakery report

Fontbakery version: 0.5.2.dev136+g7a5a29b6

[23] Family checks
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **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]
:information_source: INFO: Do we have the latest version of FontBakery installed? * [com.google.fonts/check/fontbakery_version](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fontbakery_version) * :information_source: **INFO** fontbakery (0.6.0) - Well designed Font QA tool, written in Python 3 INSTALLED: 0.5.2.dev136+g7a5a29b6 LATEST: 0.6.0 * :bread: **PASS** Font Bakery is up-to-date
:bread: PASS: Checking all files are in the same directory. * [com.google.fonts/check/002](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/002) * :bread: **PASS** All files are in the same directory.
:bread: PASS: Fonts have equal unicode encodings? * [com.google.fonts/check/013](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/013) * :bread: **PASS** Fonts have equal unicode encodings.
:bread: PASS: Make sure all font files have the same version value. * [com.google.fonts/check/014](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/014) * :bread: **PASS** All font files have the same version.
:bread: PASS: Fonts have consistent PANOSE proportion? * [com.google.fonts/check/009](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/009) * :bread: **PASS** Fonts have consistent PANOSE proportion.
:bread: PASS: Fonts have consistent PANOSE family type? * [com.google.fonts/check/010](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/010) * :bread: **PASS** Fonts have consistent PANOSE family type.
:bread: PASS: Fonts have consistent underline thickness? * [com.google.fonts/check/008](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/008) * :bread: **PASS** Fonts have consistent underline thickness.
:zzz: SKIP: Does DESCRIPTION file contain broken links? * [com.google.fonts/check/003](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/003) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Is this a proper HTML snippet? * [com.google.fonts/check/004](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/004) * :zzz: **SKIP** Unfulfilled Conditions: descfile
:zzz: SKIP: DESCRIPTION.en_us.html must have more than 200 bytes. * [com.google.fonts/check/005](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/005) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes. * [com.google.fonts/check/006](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/006) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Font designer field in METADATA.pb must not be 'unknown'. * [com.google.fonts/check/007](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/007) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API? * [com.google.fonts/check/081](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/081) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only has unique "full_name" values. * [com.google.fonts/check/083](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/083) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs. * [com.google.fonts/check/084](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/084) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"? * [com.google.fonts/check/085](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/085) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb should contain at least "menu" and "latin" subsets. * [com.google.fonts/check/086](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/086) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb subsets should be alphabetically ordered. * [com.google.fonts/check/087](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/087) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Copyright notice is the same in all fonts? * [com.google.fonts/check/088](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/088) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: Check that METADATA.pb family values are all the same. * [com.google.fonts/check/089](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/089) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style. * [com.google.fonts/check/090](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/090) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Regular should be 400. * [com.google.fonts/check/091](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/091) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, has_regular_style

[113] LibreCaslonText-VF.ttf
:fire: FAIL: Is 'gasp' table set to optimize rendering? * [com.google.fonts/check/062](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/062) * :fire: **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
:fire: FAIL: Font enables smart dropout control in "prep" table instructions? * [com.google.fonts/check/072](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/072) * :fire: **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.
:warning: WARN: Is font em size (ideally) equal to 1000? * [com.google.fonts/check/116](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/116) * :warning: **WARN** Font em size (2048) is not equal to 1000.
:warning: WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/153](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/153) * :warning: **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
:warning: WARN: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :information_source: **INFO** Microsoft Font Validator returned an error code. Output follows : LibreCaslonText-VF.ttf (file 1 of 1) Complete: LibreCaslonText-VF.ttf.report.xml Reports are ready! * :information_source: **INFO** MS-FonVal: The file begins with an Offset Table (file contains a single font) * :information_source: **INFO** MS-FonVal: Not an OpenType table, contents not validated DETAILS: - - This table type is defined in the Apple TrueType spec. * :information_source: **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! * :information_source: **INFO** MS-FonVal: Descender should be greater than or equal to head.yMin DETAILS: Descender = -462, head.yMin = -458 * :information_source: **INFO** MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 4 * :information_source: **INFO** MS-FonVal: maxSizeOfInstructions via method #1 DETAILS: maxSizeOfInstructions=0, computed from the glyf table * :information_source: **INFO** MS-FonVal: No string for Typographic Family name (Name ID 16) * :information_source: **INFO** MS-FonVal: No string for Typographic Subfamily name (Name ID 17) * :information_source: **INFO** MS-FonVal: 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 * :information_source: **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 * :information_source: **INFO** MS-FonVal: Rasterization not selected for validation * :information_source: **INFO** MS-FonVal: Total time validating file DETAILS: 0:00:16 * :bread: **PASS** MS-FonVal: The numTables field is non-zero DETAILS: 18 * :bread: **PASS** MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid * :bread: **PASS** MS-FonVal: The directory entry tags are in ascending order * :bread: **PASS** MS-FonVal: The directory entry tag names are valid * :bread: **PASS** MS-FonVal: The directory entry table offsets are all multiples of 4 * :bread: **PASS** MS-FonVal: All required tables are present * :bread: **PASS** MS-FonVal: No unnecessary tables are present * :bread: **PASS** MS-FonVal: Tables are in optimal order * :bread: **PASS** MS-FonVal: All signature blocks were in format 1 * :bread: **PASS** MS-FonVal: All signature blocks' reserved values were 0 * :bread: **PASS** MS-FonVal: The digital signature of the file verified correctly * :bread: **PASS** MS-FonVal: All header offsets point within the table * :bread: **PASS** MS-FonVal: The Coverage offset is nonzero and points within the GDEF table DETAILS: LigCaretList * :bread: **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] * :bread: **PASS** MS-FonVal: The offsets in the LigGlyph array are valid DETAILS: LigCaretList * :bread: **PASS** MS-FonVal: The version number is 0x00010000 * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable, DefaultLangSysTable * :bread: **PASS** MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable * :bread: **PASS** MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: - FeatureList, FeatureRecord[0](kern), FeatureTable - FeatureList, FeatureRecord[1](mark), FeatureTable - FeatureList, FeatureRecord[0](dlig), FeatureTable - FeatureList, FeatureRecord[1](frac), FeatureTable - FeatureList, FeatureRecord[2](liga), FeatureTable - FeatureList, FeatureRecord[3](onum), FeatureTable - FeatureList, FeatureRecord[4](ordn), FeatureTable - FeatureList, FeatureRecord[5](sinf), FeatureTable - FeatureList, FeatureRecord[6](sups), FeatureTable - FeatureList, FeatureRecord[7](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The FeatureList table is valid DETAILS: FeatureList * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: - LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0] - 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! * :bread: **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) * :bread: **PASS** MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[1], SubTable[0](MarkBasePos), BaseArray * :bread: **PASS** MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](MarkBasePos) * :bread: **PASS** MS-FonVal: The LookupList table is valid DETAILS: LookupList * :bread: **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) * :bread: **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) * :bread: **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) * :bread: **PASS** MS-FonVal: The table length matches the expected length for this version * :bread: **PASS** MS-FonVal: The usWeightClass is consistent with the PANOSE weight value * :bread: **PASS** MS-FonVal: The usWeightClass is a valid value DETAILS: 400 * :bread: **PASS** MS-FonVal: The width class is a valid value DETAILS: 5 * :bread: **PASS** MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding * :bread: **PASS** MS-FonVal: All subscript and superscript values appear valid * :bread: **PASS** MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid * :bread: **PASS** MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range * :bread: **PASS** MS-FonVal: All panose values are in a valid range * :bread: **PASS** MS-FonVal: The Unicode Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x0000, last = 0x2219 * :bread: **PASS** MS-FonVal: The CodePage Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The sxHeight field is nonzero DETAILS: 933 * :bread: **PASS** MS-FonVal: The sCapHeight field is nonzero DETAILS: 1355 * :bread: **PASS** MS-FonVal: The usDefaultChar field is zero * :bread: **PASS** MS-FonVal: The usBreakChar is mapped to a glyf * :bread: **PASS** MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3 * :bread: **PASS** MS-FonVal: The table version number is 0 * :bread: **PASS** MS-FonVal: Each subtable offset is within the table * :bread: **PASS** MS-FonVal: Each subtable length is within the table * :bread: **PASS** MS-FonVal: The subtables are in the correct order * :bread: **PASS** MS-FonVal: There are no duplicate subtables * :bread: **PASS** MS-FonVal: No overlapping subtables were found * :bread: **PASS** MS-FonVal: Each subtable's format number is valid * :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: - PlatID = 0, EncID = 3, Fmt = 4 - PlatID = 3, EncID = 1, Fmt = 4 * :bread: **PASS** MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1 * :bread: **PASS** MS-FonVal: No characters are mapped in the Unicode Private Use area * :bread: **PASS** MS-FonVal: All non mac subtables have a language field of zero * :bread: **PASS** MS-FonVal: Correct format of loca (0 or 1) * :bread: **PASS** MS-FonVal: Table length is 54 bytes * :bread: **PASS** MS-FonVal: The table version number is 0x00010000 * :bread: **PASS** MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.002 * :bread: **PASS** MS-FonVal: Font checksum is correct DETAILS: 0x52d9d41b * :bread: **PASS** MS-FonVal: The magic number is 0x5f0f3cf5 * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present * :bread: **PASS** MS-FonVal: Reserved bit 14 of the flags field is clear * :bread: **PASS** MS-FonVal: Reserved bit 15 of the flags field is clear * :bread: **PASS** MS-FonVal: The unitsPerEm value is a power of two in the range 64..16384 DETAILS: 2048 * :bread: **PASS** MS-FonVal: The created time is not zero DETAILS: created = 3624388363 (Tuesday, November 6, 2018 10:32 PM) * :bread: **PASS** MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -280 * :bread: **PASS** MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -458 * :bread: **PASS** MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 2528 * :bread: **PASS** MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1708 * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the post table italic angle * :bread: **PASS** MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2 * :bread: **PASS** MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0 * :bread: **PASS** MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0 * :bread: **PASS** MS-FonVal: The glyphDataFormat value is 0 * :bread: **PASS** MS-FonVal: The Ascender value is greater than zero * :bread: **PASS** MS-FonVal: The Descender is less than zero * :bread: **PASS** MS-FonVal: Ascender is less than or equal to head.yMax * :bread: **PASS** MS-FonVal: LineGap is greater than or equal to 0 * :bread: **PASS** MS-FonVal: Ascender is same value as OS/2.usWinAscent * :bread: **PASS** MS-FonVal: Descender value is the same as OS/2.usWinDescent * :bread: **PASS** MS-FonVal: The LineGap is greater to or equal the minimum recommended value * :bread: **PASS** MS-FonVal: The advanceWidthMax field equals the calculated value * :bread: **PASS** MS-FonVal: The minLeftSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The minRightSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The xMaxExtent field equals the calculated value * :bread: **PASS** MS-FonVal: The reserved fields are all set to zero * :bread: **PASS** MS-FonVal: The metricDataFormat field is set to zero * :bread: **PASS** MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table * :bread: **PASS** MS-FonVal: The caretSlope angle matches the post.italicAngle * :bread: **PASS** MS-FonVal: The size of the table matches the calculated size * :bread: **PASS** MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1) * :bread: **PASS** MS-FonVal: The entries are sorted in ascending order * :bread: **PASS** MS-FonVal: All entries point within range of the glyf table * :bread: **PASS** MS-FonVal: All glyphs in the glyf table are referenced by the loca table * :bread: **PASS** MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present * :bread: **PASS** MS-FonVal: Table version is 1.0 and the table is 32 bytes long * :bread: **PASS** MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 537 * :bread: **PASS** MS-FonVal: The points, contours, and component values match the calculated values * :bread: **PASS** MS-FonVal: The format selector field is 0 * :bread: **PASS** MS-FonVal: No strings extended past the end of the table * :bread: **PASS** MS-FonVal: The NameRecords array is in sorted order * :bread: **PASS** MS-FonVal: No name records are using reserved Name IDs * :bread: **PASS** MS-FonVal: The table contains strings for both Mac and Microsoft platforms * :bread: **PASS** MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.002" * :bread: **PASS** MS-FonVal: All strings had valid Platform Specific Encoding IDs * :bread: **PASS** MS-FonVal: All Microsoft unicode strings had valid Language IDs * :bread: **PASS** MS-FonVal: The length of every unicode string is an even # of bytes * :bread: **PASS** MS-FonVal: The subfamily string is consistent with the style of the font * :bread: **PASS** MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14) * :bread: **PASS** MS-FonVal: No inconsistencies were found for Copyright strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Trademark strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Description strings * :bread: **PASS** MS-FonVal: The table length is valid * :bread: **PASS** MS-FonVal: The version number is valid * :bread: **PASS** MS-FonVal: The italicAngle value is reasonable and consistent with other tables * :bread: **PASS** MS-FonVal: The underlinePosition value is not less than hhea.Descender * :bread: **PASS** MS-FonVal: The underlineThickness value is reasonable * :bread: **PASS** MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables * :bread: **PASS** MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs * :bread: **PASS** MS-FonVal: The glyphNameIndex array contains valid indexes * :bread: **PASS** MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names * :warning: **WARN** MS-FonVal: The version number is valid, but less than 5 DETAILS: 4 * :warning: **WARN** MS-FonVal: There are undefined bits set in fsSelection field DETAILS: Bit(s) 7 * :warning: **WARN** MS-FonVal: The value of sTypoAscender minus sTypoDescender is greater than unitsPerEm DETAILS: sTypoAscender = 1708, sTypoDescender = -462 * :warning: **WARN** MS-FonVal: The table does not contain any Apple subtables * :warning: **WARN** MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present * :warning: **WARN** MS-FonVal: The modified time is an unlikely value DETAILS: modified = 3624629123 (Friday, November 9, 2018 5:25 PM) * :warning: **WARN** MS-FonVal: The lowestRecPPEM value may be unreasonably small DETAILS: lowestRecPPEM = 6 * :warning: **WARN** MS-FonVal: The leftSideBearing is greater than the advance width (unlikely value) DETAILS: glyph# 509 * :warning: **WARN** MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 DETAILS: Number of glyphs with the warning = 159
:warning: WARN: Combined length of family and style must not exceed 20 characters. * [com.google.fonts/check/163](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/163) * :warning: **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'
:warning: WARN: Is there kerning info for non-ligated sequences? * [com.google.fonts/check/065](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/065) * :warning: **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]
:zzz: SKIP: Checking OS/2 usWeightClass. * [com.google.fonts/check/020](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/020) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check copyright namerecords match license file. * [com.google.fonts/check/029](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/029) * :zzz: **SKIP** Unfulfilled Conditions: license
:zzz: SKIP: Font has ttfautohint params? * [com.google.fonts/check/has_ttfautohint_params](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/has_ttfautohint_params) * :zzz: **SKIP** Font appears to our heuristic as not hinted using ttfautohint.
:zzz: SKIP: Checks METADATA.pb font.name field matches family name declared on the name table. * [com.google.fonts/check/092](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/092) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table. * [com.google.fonts/check/093](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/093) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.full_name value matches fullname declared on the name table? * [com.google.fonts/check/094](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/094) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name value should be same as the family name declared on the name table. * [com.google.fonts/check/095](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/095) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, style
:zzz: SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ? * [com.google.fonts/check/096](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/096) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values? * [com.google.fonts/check/097](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/097) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name field contains font name in right format? * [com.google.fonts/check/098](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/098) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.full_name field contains font name in right format? * [com.google.fonts/check/099](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/099) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.filename field contains font name in right format? * [com.google.fonts/check/100](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/100) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.post_script_name field contains font name in right format? * [com.google.fonts/check/101](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/101) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb matches canonical pattern? * [com.google.fonts/check/102](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/102) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. * [com.google.fonts/check/103](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/103) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars. * [com.google.fonts/check/104](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/104) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Filename is set canonically? * [com.google.fonts/check/105](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/105) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, canonical_filename
:zzz: SKIP: METADATA.pb font.style "italic" matches font internals? * [com.google.fonts/check/106](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/106) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.style "normal" matches font internals? * [com.google.fonts/check/107](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/107) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table? * [com.google.fonts/check/108](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/108) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check if fontname is not camel cased. * [com.google.fonts/check/109](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/109) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check font name is the same as family name. * [com.google.fonts/check/110](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/110) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, font_metadata
:zzz: SKIP: METADATA.pb: Check that font weight has a canonical value. * [com.google.fonts/check/111](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/111) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb. * [com.google.fonts/check/112](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/112) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb weight matches postScriptName. * [com.google.fonts/check/113](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/113) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Font styles are named canonically? * [com.google.fonts/check/115](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/115) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Version number has increased since previous release on Google Fonts? * [com.google.fonts/check/117](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/117) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont, github_gfonts_ttFont
:zzz: SKIP: Glyphs are similiar to Google Fonts version? * [com.google.fonts/check/118](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/118) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts? * [com.google.fonts/check/119](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/119) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Checking OS/2 fsSelection value. * [com.google.fonts/check/129](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/129) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking post.italicAngle value. * [com.google.fonts/check/130](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/130) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking head.macStyle value. * [com.google.fonts/check/131](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/131) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com * [com.google.fonts/check/154](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/154) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ? * [com.google.fonts/check/155](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/155) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Font has all mandatory 'name' table entries ? * [com.google.fonts/check/156](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/156) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_FAMILY_NAME entries. * [com.google.fonts/check/157](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/157) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/158](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/158) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: Check name table: FULL_FONT_NAME entries. * [com.google.fonts/check/159](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/159) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/160](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/160) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries. * [com.google.fonts/check/161](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/161) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries. * [com.google.fonts/check/162](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/162) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: FontForge validation outputs error messages? * [com.google.fonts/check/038](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/038) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: FontForge checks. * [com.google.fonts/check/039](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/039) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth? * [com.google.fonts/check/079](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/079) * :zzz: **SKIP** Unfulfilled Conditions: seems_monospaced
:zzz: SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance. * [com.google.fonts/check/168](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/168) * :zzz: **SKIP** Unfulfilled Conditions: regular_wdth_coord
:zzz: SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/169](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/169) * :zzz: **SKIP** Unfulfilled Conditions: regular_slnt_coord
:zzz: SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/170](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/170) * :zzz: **SKIP** Unfulfilled Conditions: regular_ital_coord
:zzz: SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance. * [com.google.fonts/check/171](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/171) * :zzz: **SKIP** Unfulfilled Conditions: regular_opsz_coord
:information_source: INFO: Show hinting filesize impact. * [com.google.fonts/check/054](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/054) * :information_source: **INFO** Hinting filesize impact: | | LibreCaslonText-VF.ttf | |:--- | ---:| | Dehinted Size | 124.2kb | | Hinted Size | 123.7kb | | Increase | -516 bytes | | Change | -0.0 % |
:information_source: INFO: Font has old ttfautohint applied? * [com.google.fonts/check/056](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/056) * :information_source: **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']
:information_source: INFO: EPAR table present in font? * [com.google.fonts/check/061](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/061) * :information_source: **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
:information_source: INFO: Check for font-v versioning * [com.google.fonts/check/166](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/166) * :information_source: **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"
:information_source: INFO: Font contains all required tables? * [com.google.fonts/check/052](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/052) * :information_source: **INFO** This font contains the following optional tables [GPOS, loca, GSUB, DSIG] * :bread: **PASS** Font contains all required tables.
:bread: PASS: Checking file is named canonically. * [com.google.fonts/check/001](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/001) * :bread: **PASS** LibreCaslonText-VF.ttf is named canonically.
:bread: PASS: Fonts have equal numbers of glyphs? * [com.google.fonts/check/011](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/011) * :bread: **PASS** All font files in this family have an equal total ammount of glyphs.
:bread: PASS: Fonts have equal glyph names? * [com.google.fonts/check/012](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/012) * :bread: **PASS** All font files have identical glyph names.
:bread: PASS: Checking OS/2 fsType. * [com.google.fonts/check/016](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/016) * :bread: **PASS** OS/2 fsType is properly set to zero.
:bread: PASS: Checking OS/2 achVendID. * [com.google.fonts/check/018](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/018) * :bread: **PASS** OS/2 VendorID 'GOOG' looks good!
:bread: PASS: Substitute copyright, registered and trademark symbols in name table entries. * [com.google.fonts/check/019](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/019) * :bread: **PASS** No need to substitute copyright, registered and trademark symbols in name table entries of this font.
:bread: PASS: "License URL matches License text on name table? * [com.google.fonts/check/030](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/030) * :bread: **PASS** Font has a valid license URL in NAME table.
:bread: PASS: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/032](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/032) * :bread: **PASS** All description name records have reasonably small lengths.
:bread: PASS: Version format is correct in 'name' table? * [com.google.fonts/check/055](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/055) * :bread: **PASS** Version format in NAME table entries is correct.
:bread: PASS: Make sure family name does not begin with a digit. * [com.google.fonts/check/067](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/067) * :bread: **PASS** Font family name first character is not a digit.
:bread: PASS: Font has all expected currency sign characters? * [com.google.fonts/check/070](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/070) * :bread: **PASS** Font has all expected currency sign characters.
:bread: PASS: Are there non-ASCII characters in ASCII-only NAME table entries? * [com.google.fonts/check/074](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/074) * :bread: **PASS** None of the ASCII-only NAME table entries contain non-ASCII characteres.
:bread: PASS: Length of copyright notice must not exceed 500 characters. * [com.google.fonts/check/164](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/164) * :bread: **PASS** All copyright notice name entries on the 'name' table are shorter than 500 characters.
:bread: PASS: Familyname must be unique according to namecheck.fontdata.com * [com.google.fonts/check/165](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/165) * :bread: **PASS** Font familyname seems to be unique.
:bread: PASS: Check a static ttf can be generated from a variable font. * [com.google.fonts/check/174](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/174) * :bread: **PASS** fontTools.varLib.mutator generated a static font instance
:bread: PASS: Check that variable fonts have an HVAR table. * [com.google.fonts/check/varfont/has_HVAR](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/has_HVAR) * :bread: **PASS** This variable font contains an HVAR table.
:bread: PASS: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/040](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/040) * :bread: **PASS** OS/2 usWinAscent & usWinDescent values look good!
:bread: PASS: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/042](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/042) * :bread: **PASS** OS/2.sTypoAscender/Descender match hhea.ascent/descent.
:bread: PASS: There must not be VTT Talk sources in the font. * [com.google.fonts/check/vttclean](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/vttclean) * :bread: **PASS** There are no tables with VTT Talk sources embedded in the font.
:bread: PASS: Checking with ftxvalidator. * [com.google.fonts/check/035](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/035) * :bread: **PASS** ftxvalidator passed this file
:bread: PASS: Checking with ots-sanitize. * [com.google.fonts/check/036](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/036) * :bread: **PASS** ots-sanitize passed this file
:bread: PASS: Font contains .notdef as first glyph? * [com.google.fonts/check/046](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/046) * :bread: **PASS** Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
:bread: PASS: Font contains glyphs for whitespace characters? * [com.google.fonts/check/047](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/047) * :bread: **PASS** Font contains glyphs for whitespace characters.
:bread: PASS: Font has **proper** whitespace glyph names? * [com.google.fonts/check/048](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/048) * :bread: **PASS** Font has **proper** whitespace glyph names.
:bread: PASS: Whitespace glyphs have ink? * [com.google.fonts/check/049](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/049) * :bread: **PASS** There is no whitespace glyph with ink.
:bread: PASS: Are there unwanted tables? * [com.google.fonts/check/053](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/053) * :bread: **PASS** There are no unwanted tables.
:bread: PASS: Glyph names are all valid? * [com.google.fonts/check/058](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/058) * :bread: **PASS** Glyph names are all valid.
:bread: PASS: Font contains unique glyph names? * [com.google.fonts/check/059](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/059) * :bread: **PASS** Font contains unique glyph names.
:bread: PASS: Checking with fontTools.ttx * [com.google.fonts/check/ttx-roundtrip](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ttx-roundtrip) * :bread: **PASS** Hey! It all looks good!
:bread: PASS: Check glyphs have unique unicode codepoints. * [com.google.fonts/check/076](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/076) * :bread: **PASS** All glyphs have unique unicode codepoint assignments.
:bread: PASS: Check all glyphs have codepoints assigned. * [com.google.fonts/check/077](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/077) * :bread: **PASS** All glyphs have a codepoint value assigned.
:bread: PASS: Checking unitsPerEm value is reasonable. * [com.google.fonts/check/043](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/043) * :bread: **PASS** unitsPerEm value on the 'head' table is reasonable.
:bread: PASS: Checking font version fields (head and name table). * [com.google.fonts/check/044](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/044) * :bread: **PASS** All font version fields match.
:bread: PASS: Check if OS/2 xAvgCharWidth is correct. * [com.google.fonts/check/034](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/034) * :bread: **PASS** OS/2 xAvgCharWidth value is correct.
:bread: PASS: Font has correct post table version (2 for TTF, 3 for OTF)? * [com.google.fonts/check/015](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/015) * :bread: **PASS** Font has post table version 2.
:bread: PASS: Description strings in the name table must not contain copyright info. * [com.google.fonts/check/031](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/031) * :bread: **PASS** Description strings in the name table do not contain any copyright string.
:bread: PASS: Checking correctness of monospaced metadata. * [com.google.fonts/check/033](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/033) * :bread: **PASS** Font is not monospaced and all related metadata look good. [code: good]
:bread: PASS: Name table entries should not contain line-breaks. * [com.google.fonts/check/057](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/057) * :bread: **PASS** Name table entries are all single-line (no line-breaks found).
:bread: PASS: Does full font name begin with the font family name? * [com.google.fonts/check/068](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/068) * :bread: **PASS** Full font name begins with the font family name.
:bread: PASS: Font follows the family naming recommendations? * [com.google.fonts/check/071](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/071) * :bread: **PASS** Font follows the family naming recommendations.
:bread: PASS: Name table strings must not contain the string 'Reserved Font Name'. * [com.google.fonts/check/152](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/152) * :bread: **PASS** None of the name table strings contain "Reserved Font Name".
:bread: PASS: Checking Vertical Metric Linegaps. * [com.google.fonts/check/041](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/041) * :bread: **PASS** OS/2 sTypoLineGap and hhea lineGap are both 0.
:bread: PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables? * [com.google.fonts/check/073](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/073) * :bread: **PASS** MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
:bread: PASS: Does the font have a DSIG table? * [com.google.fonts/check/045](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/045) * :bread: **PASS** Digital Signature (DSIG) exists.
:bread: PASS: Whitespace and non-breaking space have the same width? * [com.google.fonts/check/050](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/050) * :bread: **PASS** Whitespace and non-breaking space have the same width.
:bread: PASS: Does GPOS table have kerning information? * [com.google.fonts/check/063](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/063) * :bread: **PASS** GPOS table has got kerning information.
:bread: PASS: Are there caret positions declared for every ligature? * [com.google.fonts/check/064](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/064) * :bread: **PASS** Looks good!
:bread: PASS: Is there a "kern" table declared in the font? * [com.google.fonts/check/066](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/066) * :bread: **PASS** Font does not declare an optional "kern" table.
:bread: PASS: Is there any unused data at the end of the glyf table? * [com.google.fonts/check/069](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/069) * :bread: **PASS** There is no unused data at the end of the glyf table.
:bread: PASS: Check for points out of bounds. * [com.google.fonts/check/075](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/075) * :bread: **PASS** All glyph paths have coordinates within bounds!
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance. * [com.google.fonts/check/167](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/167) * :bread: **PASS** Regular:wght is 400.
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance. * [com.google.fonts/check/172](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/172) * :bread: **PASS** Bold:wght is 700.
:bread: PASS: Does the number of glyphs in the loca table match the maxp table? * [com.google.fonts/check/180](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/180) * :bread: **PASS** 'loca' table matches numGlyphs in 'maxp' table.

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
0 3 5 63 6 59
0% 2% 4% 46% 4% 43%
thundernixon commented 6 years ago

Fontbakery report

Fontbakery version: 0.5.2.dev136+g7a5a29b6

[23] Family checks
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **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]
:information_source: INFO: Do we have the latest version of FontBakery installed? * [com.google.fonts/check/fontbakery_version](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fontbakery_version) * :information_source: **INFO** fontbakery (0.6.0) - Well designed Font QA tool, written in Python 3 INSTALLED: 0.5.2.dev136+g7a5a29b6 LATEST: 0.6.0 * :bread: **PASS** Font Bakery is up-to-date
:bread: PASS: Checking all files are in the same directory. * [com.google.fonts/check/002](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/002) * :bread: **PASS** All files are in the same directory.
:bread: PASS: Fonts have equal unicode encodings? * [com.google.fonts/check/013](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/013) * :bread: **PASS** Fonts have equal unicode encodings.
:bread: PASS: Make sure all font files have the same version value. * [com.google.fonts/check/014](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/014) * :bread: **PASS** All font files have the same version.
:bread: PASS: Fonts have consistent PANOSE proportion? * [com.google.fonts/check/009](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/009) * :bread: **PASS** Fonts have consistent PANOSE proportion.
:bread: PASS: Fonts have consistent PANOSE family type? * [com.google.fonts/check/010](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/010) * :bread: **PASS** Fonts have consistent PANOSE family type.
:bread: PASS: Fonts have consistent underline thickness? * [com.google.fonts/check/008](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/008) * :bread: **PASS** Fonts have consistent underline thickness.
:zzz: SKIP: Does DESCRIPTION file contain broken links? * [com.google.fonts/check/003](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/003) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Is this a proper HTML snippet? * [com.google.fonts/check/004](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/004) * :zzz: **SKIP** Unfulfilled Conditions: descfile
:zzz: SKIP: DESCRIPTION.en_us.html must have more than 200 bytes. * [com.google.fonts/check/005](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/005) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes. * [com.google.fonts/check/006](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/006) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Font designer field in METADATA.pb must not be 'unknown'. * [com.google.fonts/check/007](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/007) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API? * [com.google.fonts/check/081](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/081) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only has unique "full_name" values. * [com.google.fonts/check/083](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/083) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs. * [com.google.fonts/check/084](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/084) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"? * [com.google.fonts/check/085](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/085) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb should contain at least "menu" and "latin" subsets. * [com.google.fonts/check/086](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/086) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb subsets should be alphabetically ordered. * [com.google.fonts/check/087](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/087) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Copyright notice is the same in all fonts? * [com.google.fonts/check/088](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/088) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: Check that METADATA.pb family values are all the same. * [com.google.fonts/check/089](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/089) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style. * [com.google.fonts/check/090](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/090) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Regular should be 400. * [com.google.fonts/check/091](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/091) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, has_regular_style

[113] LibreCaslonText-VF.ttf
:fire: FAIL: Is 'gasp' table set to optimize rendering? * [com.google.fonts/check/062](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/062) * :fire: **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled. 👉 _Waiting on hinting analysis & decisions from Marc & Micah_
:fire: FAIL: Font enables smart dropout control in "prep" table instructions? * [com.google.fonts/check/072](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/072) * :fire: **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_
:warning: WARN: Is font em size (ideally) equal to 1000? * [com.google.fonts/check/116](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/116) * :warning: **WARN** Font em size (2048) is not equal to 1000. 👉 _2048 is acceptable, too. Going to file an issue about this message._
:warning: WARN: Check if each glyph has the recommended amount of contours. 👉 _It's a variable font._ * [com.google.fonts/check/153](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/153) * :warning: **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
:warning: 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_ * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :information_source: **INFO** Microsoft Font Validator returned an error code. Output follows : LibreCaslonText-VF.ttf (file 1 of 1) Complete: LibreCaslonText-VF.ttf.report.xml Reports are ready! * :information_source: **INFO** MS-FonVal: The file begins with an Offset Table (file contains a single font) * :information_source: **INFO** MS-FonVal: Not an OpenType table, contents not validated DETAILS: - - This table type is defined in the Apple TrueType spec. * :information_source: **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! * :information_source: **INFO** MS-FonVal: Descender should be greater than or equal to head.yMin DETAILS: Descender = -462, head.yMin = -458 * :information_source: **INFO** MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 4 * :information_source: **INFO** MS-FonVal: maxSizeOfInstructions via method #1 DETAILS: maxSizeOfInstructions=0, computed from the glyf table * :information_source: **INFO** MS-FonVal: No string for Typographic Family name (Name ID 16) * :information_source: **INFO** MS-FonVal: No string for Typographic Subfamily name (Name ID 17) * :information_source: **INFO** MS-FonVal: 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 * :information_source: **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 * :information_source: **INFO** MS-FonVal: Rasterization not selected for validation * :information_source: **INFO** MS-FonVal: Total time validating file DETAILS: 0:00:16 * :bread: **PASS** MS-FonVal: The numTables field is non-zero DETAILS: 18 * :bread: **PASS** MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid * :bread: **PASS** MS-FonVal: The directory entry tags are in ascending order * :bread: **PASS** MS-FonVal: The directory entry tag names are valid * :bread: **PASS** MS-FonVal: The directory entry table offsets are all multiples of 4 * :bread: **PASS** MS-FonVal: All required tables are present * :bread: **PASS** MS-FonVal: No unnecessary tables are present * :bread: **PASS** MS-FonVal: Tables are in optimal order * :bread: **PASS** MS-FonVal: All signature blocks were in format 1 * :bread: **PASS** MS-FonVal: All signature blocks' reserved values were 0 * :bread: **PASS** MS-FonVal: The digital signature of the file verified correctly * :bread: **PASS** MS-FonVal: All header offsets point within the table * :bread: **PASS** MS-FonVal: The Coverage offset is nonzero and points within the GDEF table DETAILS: LigCaretList * :bread: **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] * :bread: **PASS** MS-FonVal: The offsets in the LigGlyph array are valid DETAILS: LigCaretList * :bread: **PASS** MS-FonVal: The version number is 0x00010000 * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable, DefaultLangSysTable * :bread: **PASS** MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable * :bread: **PASS** MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: - FeatureList, FeatureRecord[0](kern), FeatureTable - FeatureList, FeatureRecord[1](mark), FeatureTable - FeatureList, FeatureRecord[0](dlig), FeatureTable - FeatureList, FeatureRecord[1](frac), FeatureTable - FeatureList, FeatureRecord[2](liga), FeatureTable - FeatureList, FeatureRecord[3](onum), FeatureTable - FeatureList, FeatureRecord[4](ordn), FeatureTable - FeatureList, FeatureRecord[5](sinf), FeatureTable - FeatureList, FeatureRecord[6](sups), FeatureTable - FeatureList, FeatureRecord[7](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The FeatureList table is valid DETAILS: FeatureList * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: - LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0] - 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! * :bread: **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) * :bread: **PASS** MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[1], SubTable[0](MarkBasePos), BaseArray * :bread: **PASS** MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](MarkBasePos) * :bread: **PASS** MS-FonVal: The LookupList table is valid DETAILS: LookupList * :bread: **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) * :bread: **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) * :bread: **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) * :bread: **PASS** MS-FonVal: The table length matches the expected length for this version * :bread: **PASS** MS-FonVal: The usWeightClass is consistent with the PANOSE weight value * :bread: **PASS** MS-FonVal: The usWeightClass is a valid value DETAILS: 400 * :bread: **PASS** MS-FonVal: The width class is a valid value DETAILS: 5 * :bread: **PASS** MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding * :bread: **PASS** MS-FonVal: All subscript and superscript values appear valid * :bread: **PASS** MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid * :bread: **PASS** MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range * :bread: **PASS** MS-FonVal: All panose values are in a valid range * :bread: **PASS** MS-FonVal: The Unicode Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x0000, last = 0x2219 * :bread: **PASS** MS-FonVal: The CodePage Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The sxHeight field is nonzero DETAILS: 933 * :bread: **PASS** MS-FonVal: The sCapHeight field is nonzero DETAILS: 1355 * :bread: **PASS** MS-FonVal: The usDefaultChar field is zero * :bread: **PASS** MS-FonVal: The usBreakChar is mapped to a glyf * :bread: **PASS** MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3 * :bread: **PASS** MS-FonVal: The table version number is 0 * :bread: **PASS** MS-FonVal: Each subtable offset is within the table * :bread: **PASS** MS-FonVal: Each subtable length is within the table * :bread: **PASS** MS-FonVal: The subtables are in the correct order * :bread: **PASS** MS-FonVal: There are no duplicate subtables * :bread: **PASS** MS-FonVal: No overlapping subtables were found * :bread: **PASS** MS-FonVal: Each subtable's format number is valid * :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: - PlatID = 0, EncID = 3, Fmt = 4 - PlatID = 3, EncID = 1, Fmt = 4 * :bread: **PASS** MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1 * :bread: **PASS** MS-FonVal: No characters are mapped in the Unicode Private Use area * :bread: **PASS** MS-FonVal: All non mac subtables have a language field of zero * :bread: **PASS** MS-FonVal: Correct format of loca (0 or 1) * :bread: **PASS** MS-FonVal: Table length is 54 bytes * :bread: **PASS** MS-FonVal: The table version number is 0x00010000 * :bread: **PASS** MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.002 * :bread: **PASS** MS-FonVal: Font checksum is correct DETAILS: 0x52d9d41b * :bread: **PASS** MS-FonVal: The magic number is 0x5f0f3cf5 * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present * :bread: **PASS** MS-FonVal: Reserved bit 14 of the flags field is clear * :bread: **PASS** MS-FonVal: Reserved bit 15 of the flags field is clear * :bread: **PASS** MS-FonVal: The unitsPerEm value is a power of two in the range 64..16384 DETAILS: 2048 * :bread: **PASS** MS-FonVal: The created time is not zero DETAILS: created = 3624388363 (Tuesday, November 6, 2018 10:32 PM) * :bread: **PASS** MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -280 * :bread: **PASS** MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -458 * :bread: **PASS** MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 2528 * :bread: **PASS** MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1708 * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the post table italic angle * :bread: **PASS** MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2 * :bread: **PASS** MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0 * :bread: **PASS** MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0 * :bread: **PASS** MS-FonVal: The glyphDataFormat value is 0 * :bread: **PASS** MS-FonVal: The Ascender value is greater than zero * :bread: **PASS** MS-FonVal: The Descender is less than zero * :bread: **PASS** MS-FonVal: Ascender is less than or equal to head.yMax * :bread: **PASS** MS-FonVal: LineGap is greater than or equal to 0 * :bread: **PASS** MS-FonVal: Ascender is same value as OS/2.usWinAscent * :bread: **PASS** MS-FonVal: Descender value is the same as OS/2.usWinDescent * :bread: **PASS** MS-FonVal: The LineGap is greater to or equal the minimum recommended value * :bread: **PASS** MS-FonVal: The advanceWidthMax field equals the calculated value * :bread: **PASS** MS-FonVal: The minLeftSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The minRightSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The xMaxExtent field equals the calculated value * :bread: **PASS** MS-FonVal: The reserved fields are all set to zero * :bread: **PASS** MS-FonVal: The metricDataFormat field is set to zero * :bread: **PASS** MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table * :bread: **PASS** MS-FonVal: The caretSlope angle matches the post.italicAngle * :bread: **PASS** MS-FonVal: The size of the table matches the calculated size * :bread: **PASS** MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1) * :bread: **PASS** MS-FonVal: The entries are sorted in ascending order * :bread: **PASS** MS-FonVal: All entries point within range of the glyf table * :bread: **PASS** MS-FonVal: All glyphs in the glyf table are referenced by the loca table * :bread: **PASS** MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present * :bread: **PASS** MS-FonVal: Table version is 1.0 and the table is 32 bytes long * :bread: **PASS** MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 537 * :bread: **PASS** MS-FonVal: The points, contours, and component values match the calculated values * :bread: **PASS** MS-FonVal: The format selector field is 0 * :bread: **PASS** MS-FonVal: No strings extended past the end of the table * :bread: **PASS** MS-FonVal: The NameRecords array is in sorted order * :bread: **PASS** MS-FonVal: No name records are using reserved Name IDs * :bread: **PASS** MS-FonVal: The table contains strings for both Mac and Microsoft platforms * :bread: **PASS** MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.002" * :bread: **PASS** MS-FonVal: All strings had valid Platform Specific Encoding IDs * :bread: **PASS** MS-FonVal: All Microsoft unicode strings had valid Language IDs * :bread: **PASS** MS-FonVal: The length of every unicode string is an even # of bytes * :bread: **PASS** MS-FonVal: The subfamily string is consistent with the style of the font * :bread: **PASS** MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14) * :bread: **PASS** MS-FonVal: No inconsistencies were found for Copyright strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Trademark strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Description strings * :bread: **PASS** MS-FonVal: The table length is valid * :bread: **PASS** MS-FonVal: The version number is valid * :bread: **PASS** MS-FonVal: The italicAngle value is reasonable and consistent with other tables * :bread: **PASS** MS-FonVal: The underlinePosition value is not less than hhea.Descender * :bread: **PASS** MS-FonVal: The underlineThickness value is reasonable * :bread: **PASS** MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables * :bread: **PASS** MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs * :bread: **PASS** MS-FonVal: The glyphNameIndex array contains valid indexes * :bread: **PASS** MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names * :warning: **WARN** MS-FonVal: The version number is valid, but less than 5 DETAILS: 4 * :warning: **WARN** MS-FonVal: There are undefined bits set in fsSelection field DETAILS: Bit(s) 7 * :warning: **WARN** MS-FonVal: The value of sTypoAscender minus sTypoDescender is greater than unitsPerEm DETAILS: sTypoAscender = 1708, sTypoDescender = -462 * :warning: **WARN** MS-FonVal: The table does not contain any Apple subtables * :warning: **WARN** MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present * :warning: **WARN** MS-FonVal: The modified time is an unlikely value DETAILS: modified = 3624629123 (Friday, November 9, 2018 5:25 PM) * :warning: **WARN** MS-FonVal: The lowestRecPPEM value may be unreasonably small DETAILS: lowestRecPPEM = 6 * :warning: **WARN** MS-FonVal: The leftSideBearing is greater than the advance width (unlikely value) DETAILS: glyph# 509 * :warning: **WARN** MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 DETAILS: Number of glyphs with the warning = 159
:warning: 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](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/163) * :warning: **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'
:warning: WARN: Is there kerning info for non-ligated sequences? 👉 _I kerned the sequences that needed kerning._ * [com.google.fonts/check/065](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/065) * :warning: **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]
:zzz: SKIP: Checking OS/2 usWeightClass. * [com.google.fonts/check/020](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/020) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check copyright namerecords match license file. * [com.google.fonts/check/029](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/029) * :zzz: **SKIP** Unfulfilled Conditions: license
:zzz: SKIP: Font has ttfautohint params? * [com.google.fonts/check/has_ttfautohint_params](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/has_ttfautohint_params) * :zzz: **SKIP** Font appears to our heuristic as not hinted using ttfautohint.
:zzz: SKIP: Checks METADATA.pb font.name field matches family name declared on the name table. * [com.google.fonts/check/092](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/092) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table. * [com.google.fonts/check/093](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/093) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.full_name value matches fullname declared on the name table? * [com.google.fonts/check/094](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/094) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name value should be same as the family name declared on the name table. * [com.google.fonts/check/095](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/095) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, style
:zzz: SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ? * [com.google.fonts/check/096](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/096) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values? * [com.google.fonts/check/097](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/097) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name field contains font name in right format? * [com.google.fonts/check/098](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/098) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.full_name field contains font name in right format? * [com.google.fonts/check/099](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/099) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.filename field contains font name in right format? * [com.google.fonts/check/100](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/100) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.post_script_name field contains font name in right format? * [com.google.fonts/check/101](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/101) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb matches canonical pattern? * [com.google.fonts/check/102](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/102) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. * [com.google.fonts/check/103](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/103) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars. * [com.google.fonts/check/104](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/104) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Filename is set canonically? * [com.google.fonts/check/105](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/105) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, canonical_filename
:zzz: SKIP: METADATA.pb font.style "italic" matches font internals? * [com.google.fonts/check/106](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/106) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.style "normal" matches font internals? * [com.google.fonts/check/107](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/107) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table? * [com.google.fonts/check/108](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/108) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check if fontname is not camel cased. * [com.google.fonts/check/109](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/109) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check font name is the same as family name. * [com.google.fonts/check/110](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/110) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, font_metadata
:zzz: SKIP: METADATA.pb: Check that font weight has a canonical value. * [com.google.fonts/check/111](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/111) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb. * [com.google.fonts/check/112](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/112) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb weight matches postScriptName. * [com.google.fonts/check/113](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/113) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Font styles are named canonically? * [com.google.fonts/check/115](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/115) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Version number has increased since previous release on Google Fonts? * [com.google.fonts/check/117](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/117) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont, github_gfonts_ttFont
:zzz: SKIP: Glyphs are similiar to Google Fonts version? * [com.google.fonts/check/118](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/118) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts? * [com.google.fonts/check/119](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/119) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Checking OS/2 fsSelection value. * [com.google.fonts/check/129](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/129) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking post.italicAngle value. * [com.google.fonts/check/130](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/130) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking head.macStyle value. * [com.google.fonts/check/131](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/131) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com * [com.google.fonts/check/154](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/154) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ? * [com.google.fonts/check/155](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/155) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Font has all mandatory 'name' table entries ? * [com.google.fonts/check/156](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/156) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_FAMILY_NAME entries. * [com.google.fonts/check/157](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/157) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/158](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/158) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: Check name table: FULL_FONT_NAME entries. * [com.google.fonts/check/159](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/159) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/160](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/160) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries. * [com.google.fonts/check/161](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/161) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries. * [com.google.fonts/check/162](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/162) * :zzz: **SKIP** Unfulfilled Conditions: style_with_spaces
:zzz: SKIP: FontForge validation outputs error messages? * [com.google.fonts/check/038](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/038) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: FontForge checks. * [com.google.fonts/check/039](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/039) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth? * [com.google.fonts/check/079](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/079) * :zzz: **SKIP** Unfulfilled Conditions: seems_monospaced
:zzz: SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance. * [com.google.fonts/check/168](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/168) * :zzz: **SKIP** Unfulfilled Conditions: regular_wdth_coord
:zzz: SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/169](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/169) * :zzz: **SKIP** Unfulfilled Conditions: regular_slnt_coord
:zzz: SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/170](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/170) * :zzz: **SKIP** Unfulfilled Conditions: regular_ital_coord
:zzz: SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance. * [com.google.fonts/check/171](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/171) * :zzz: **SKIP** Unfulfilled Conditions: regular_opsz_coord
:information_source: INFO: Show hinting filesize impact. * [com.google.fonts/check/054](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/054) * :information_source: **INFO** Hinting filesize impact: | | LibreCaslonText-VF.ttf | |:--- | ---:| | Dehinted Size | 124.2kb | | Hinted Size | 123.7kb | | Increase | -516 bytes | | Change | -0.0 % |
:information_source: INFO: Font has old ttfautohint applied? * [com.google.fonts/check/056](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/056) * :information_source: **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']
:information_source: INFO: EPAR table present in font? * [com.google.fonts/check/061](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/061) * :information_source: **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
:information_source: INFO: Check for font-v versioning * [com.google.fonts/check/166](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/166) * :information_source: **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"
:information_source: INFO: Font contains all required tables? * [com.google.fonts/check/052](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/052) * :information_source: **INFO** This font contains the following optional tables [GPOS, loca, GSUB, DSIG] * :bread: **PASS** Font contains all required tables.
:bread: PASS: Checking file is named canonically. * [com.google.fonts/check/001](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/001) * :bread: **PASS** LibreCaslonText-VF.ttf is named canonically.
:bread: PASS: Fonts have equal numbers of glyphs? * [com.google.fonts/check/011](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/011) * :bread: **PASS** All font files in this family have an equal total ammount of glyphs.
:bread: PASS: Fonts have equal glyph names? * [com.google.fonts/check/012](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/012) * :bread: **PASS** All font files have identical glyph names.
:bread: PASS: Checking OS/2 fsType. * [com.google.fonts/check/016](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/016) * :bread: **PASS** OS/2 fsType is properly set to zero.
:bread: PASS: Checking OS/2 achVendID. * [com.google.fonts/check/018](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/018) * :bread: **PASS** OS/2 VendorID 'GOOG' looks good!
:bread: PASS: Substitute copyright, registered and trademark symbols in name table entries. * [com.google.fonts/check/019](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/019) * :bread: **PASS** No need to substitute copyright, registered and trademark symbols in name table entries of this font.
:bread: PASS: "License URL matches License text on name table? * [com.google.fonts/check/030](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/030) * :bread: **PASS** Font has a valid license URL in NAME table.
:bread: PASS: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/032](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/032) * :bread: **PASS** All description name records have reasonably small lengths.
:bread: PASS: Version format is correct in 'name' table? * [com.google.fonts/check/055](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/055) * :bread: **PASS** Version format in NAME table entries is correct.
:bread: PASS: Make sure family name does not begin with a digit. * [com.google.fonts/check/067](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/067) * :bread: **PASS** Font family name first character is not a digit.
:bread: PASS: Font has all expected currency sign characters? * [com.google.fonts/check/070](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/070) * :bread: **PASS** Font has all expected currency sign characters.
:bread: PASS: Are there non-ASCII characters in ASCII-only NAME table entries? * [com.google.fonts/check/074](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/074) * :bread: **PASS** None of the ASCII-only NAME table entries contain non-ASCII characteres.
:bread: PASS: Length of copyright notice must not exceed 500 characters. * [com.google.fonts/check/164](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/164) * :bread: **PASS** All copyright notice name entries on the 'name' table are shorter than 500 characters.
:bread: PASS: Familyname must be unique according to namecheck.fontdata.com * [com.google.fonts/check/165](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/165) * :bread: **PASS** Font familyname seems to be unique.
:bread: PASS: Check a static ttf can be generated from a variable font. * [com.google.fonts/check/174](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/174) * :bread: **PASS** fontTools.varLib.mutator generated a static font instance
:bread: PASS: Check that variable fonts have an HVAR table. * [com.google.fonts/check/varfont/has_HVAR](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/has_HVAR) * :bread: **PASS** This variable font contains an HVAR table.
:bread: PASS: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/040](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/040) * :bread: **PASS** OS/2 usWinAscent & usWinDescent values look good!
:bread: PASS: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/042](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/042) * :bread: **PASS** OS/2.sTypoAscender/Descender match hhea.ascent/descent.
:bread: PASS: There must not be VTT Talk sources in the font. * [com.google.fonts/check/vttclean](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/vttclean) * :bread: **PASS** There are no tables with VTT Talk sources embedded in the font.
:bread: PASS: Checking with ftxvalidator. * [com.google.fonts/check/035](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/035) * :bread: **PASS** ftxvalidator passed this file
:bread: PASS: Checking with ots-sanitize. * [com.google.fonts/check/036](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/036) * :bread: **PASS** ots-sanitize passed this file
:bread: PASS: Font contains .notdef as first glyph? * [com.google.fonts/check/046](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/046) * :bread: **PASS** Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
:bread: PASS: Font contains glyphs for whitespace characters? * [com.google.fonts/check/047](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/047) * :bread: **PASS** Font contains glyphs for whitespace characters.
:bread: PASS: Font has **proper** whitespace glyph names? * [com.google.fonts/check/048](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/048) * :bread: **PASS** Font has **proper** whitespace glyph names.
:bread: PASS: Whitespace glyphs have ink? * [com.google.fonts/check/049](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/049) * :bread: **PASS** There is no whitespace glyph with ink.
:bread: PASS: Are there unwanted tables? * [com.google.fonts/check/053](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/053) * :bread: **PASS** There are no unwanted tables.
:bread: PASS: Glyph names are all valid? * [com.google.fonts/check/058](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/058) * :bread: **PASS** Glyph names are all valid.
:bread: PASS: Font contains unique glyph names? * [com.google.fonts/check/059](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/059) * :bread: **PASS** Font contains unique glyph names.
:bread: PASS: Checking with fontTools.ttx * [com.google.fonts/check/ttx-roundtrip](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ttx-roundtrip) * :bread: **PASS** Hey! It all looks good!
:bread: PASS: Check glyphs have unique unicode codepoints. * [com.google.fonts/check/076](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/076) * :bread: **PASS** All glyphs have unique unicode codepoint assignments.
:bread: PASS: Check all glyphs have codepoints assigned. * [com.google.fonts/check/077](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/077) * :bread: **PASS** All glyphs have a codepoint value assigned.
:bread: PASS: Checking unitsPerEm value is reasonable. * [com.google.fonts/check/043](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/043) * :bread: **PASS** unitsPerEm value on the 'head' table is reasonable.
:bread: PASS: Checking font version fields (head and name table). * [com.google.fonts/check/044](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/044) * :bread: **PASS** All font version fields match.
:bread: PASS: Check if OS/2 xAvgCharWidth is correct. * [com.google.fonts/check/034](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/034) * :bread: **PASS** OS/2 xAvgCharWidth value is correct.
:bread: PASS: Font has correct post table version (2 for TTF, 3 for OTF)? * [com.google.fonts/check/015](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/015) * :bread: **PASS** Font has post table version 2.
:bread: PASS: Description strings in the name table must not contain copyright info. * [com.google.fonts/check/031](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/031) * :bread: **PASS** Description strings in the name table do not contain any copyright string.
:bread: PASS: Checking correctness of monospaced metadata. * [com.google.fonts/check/033](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/033) * :bread: **PASS** Font is not monospaced and all related metadata look good. [code: good]
:bread: PASS: Name table entries should not contain line-breaks. * [com.google.fonts/check/057](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/057) * :bread: **PASS** Name table entries are all single-line (no line-breaks found).
:bread: PASS: Does full font name begin with the font family name? * [com.google.fonts/check/068](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/068) * :bread: **PASS** Full font name begins with the font family name.
:bread: PASS: Font follows the family naming recommendations? * [com.google.fonts/check/071](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/071) * :bread: **PASS** Font follows the family naming recommendations.
:bread: PASS: Name table strings must not contain the string 'Reserved Font Name'. * [com.google.fonts/check/152](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/152) * :bread: **PASS** None of the name table strings contain "Reserved Font Name".
:bread: PASS: Checking Vertical Metric Linegaps. * [com.google.fonts/check/041](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/041) * :bread: **PASS** OS/2 sTypoLineGap and hhea lineGap are both 0.
:bread: PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables? * [com.google.fonts/check/073](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/073) * :bread: **PASS** MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
:bread: PASS: Does the font have a DSIG table? * [com.google.fonts/check/045](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/045) * :bread: **PASS** Digital Signature (DSIG) exists.
:bread: PASS: Whitespace and non-breaking space have the same width? * [com.google.fonts/check/050](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/050) * :bread: **PASS** Whitespace and non-breaking space have the same width.
:bread: PASS: Does GPOS table have kerning information? * [com.google.fonts/check/063](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/063) * :bread: **PASS** GPOS table has got kerning information.
:bread: PASS: Are there caret positions declared for every ligature? * [com.google.fonts/check/064](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/064) * :bread: **PASS** Looks good!
:bread: PASS: Is there a "kern" table declared in the font? * [com.google.fonts/check/066](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/066) * :bread: **PASS** Font does not declare an optional "kern" table.
:bread: PASS: Is there any unused data at the end of the glyf table? * [com.google.fonts/check/069](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/069) * :bread: **PASS** There is no unused data at the end of the glyf table.
:bread: PASS: Check for points out of bounds. * [com.google.fonts/check/075](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/075) * :bread: **PASS** All glyph paths have coordinates within bounds!
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance. * [com.google.fonts/check/167](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/167) * :bread: **PASS** Regular:wght is 400.
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance. * [com.google.fonts/check/172](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/172) * :bread: **PASS** Bold:wght is 700.
:bread: PASS: Does the number of glyphs in the loca table match the maxp table? * [com.google.fonts/check/180](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/180) * :bread: **PASS** 'loca' table matches numGlyphs in 'maxp' table.

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
0 3 5 63 6 59
0% 2% 4% 46% 4% 43%
thundernixon commented 6 years ago

Fontbakery report: Libre Caslon Text Italic

Fontbakery report

Fontbakery version: 0.5.2.dev136+g7a5a29b6

[23] Family checks
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **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]
:information_source: INFO: Do we have the latest version of FontBakery installed? * [com.google.fonts/check/fontbakery_version](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fontbakery_version) * :information_source: **INFO** fontbakery (0.6.0) - Well designed Font QA tool, written in Python 3 INSTALLED: 0.5.2.dev136+g7a5a29b6 LATEST: 0.6.0 * :bread: **PASS** Font Bakery is up-to-date
:bread: PASS: Checking all files are in the same directory. * [com.google.fonts/check/002](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/002) * :bread: **PASS** All files are in the same directory.
:bread: PASS: Fonts have equal unicode encodings? * [com.google.fonts/check/013](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/013) * :bread: **PASS** Fonts have equal unicode encodings.
:bread: PASS: Make sure all font files have the same version value. * [com.google.fonts/check/014](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/014) * :bread: **PASS** All font files have the same version.
:bread: PASS: Fonts have consistent PANOSE proportion? * [com.google.fonts/check/009](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/009) * :bread: **PASS** Fonts have consistent PANOSE proportion.
:bread: PASS: Fonts have consistent PANOSE family type? * [com.google.fonts/check/010](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/010) * :bread: **PASS** Fonts have consistent PANOSE family type.
:bread: PASS: Fonts have consistent underline thickness? * [com.google.fonts/check/008](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/008) * :bread: **PASS** Fonts have consistent underline thickness.
:zzz: SKIP: Does DESCRIPTION file contain broken links? * [com.google.fonts/check/003](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/003) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Is this a proper HTML snippet? * [com.google.fonts/check/004](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/004) * :zzz: **SKIP** Unfulfilled Conditions: descfile
:zzz: SKIP: DESCRIPTION.en_us.html must have more than 200 bytes. * [com.google.fonts/check/005](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/005) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes. * [com.google.fonts/check/006](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/006) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Font designer field in METADATA.pb must not be 'unknown'. * [com.google.fonts/check/007](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/007) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API? * [com.google.fonts/check/081](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/081) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only has unique "full_name" values. * [com.google.fonts/check/083](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/083) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs. * [com.google.fonts/check/084](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/084) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"? * [com.google.fonts/check/085](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/085) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb should contain at least "menu" and "latin" subsets. * [com.google.fonts/check/086](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/086) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb subsets should be alphabetically ordered. * [com.google.fonts/check/087](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/087) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Copyright notice is the same in all fonts? * [com.google.fonts/check/088](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/088) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: Check that METADATA.pb family values are all the same. * [com.google.fonts/check/089](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/089) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style. * [com.google.fonts/check/090](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/090) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Regular should be 400. * [com.google.fonts/check/091](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/091) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, has_regular_style

[113] LibreCaslonText-Italic.ttf
:fire: FAIL: Is 'gasp' table set to optimize rendering? * [com.google.fonts/check/062](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/062) * :fire: **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
:fire: FAIL: Checking post.italicAngle value. * [com.google.fonts/check/130](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/130) * :fire: **FAIL** The value of post.italicAngle must be changed from -22.583 to -20. [code: >20 degrees]
:fire: FAIL: Font enables smart dropout control in "prep" table instructions? * [com.google.fonts/check/072](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/072) * :fire: **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.
:warning: WARN: Is font em size (ideally) equal to 1000? * [com.google.fonts/check/116](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/116) * :warning: **WARN** Font em size (2048) is not equal to 1000.
:warning: WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/153](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/153) * :warning: **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
:warning: WARN: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :information_source: **INFO** Microsoft Font Validator returned an error code. Output follows : LibreCaslonText-Italic.ttf (file 1 of 1) Complete: LibreCaslonText-Italic.ttf.report.xml Reports are ready! * :information_source: **INFO** MS-FonVal: The file begins with an Offset Table (file contains a single font) * :information_source: **INFO** MS-FonVal: Descender should be greater than or equal to head.yMin DETAILS: Descender = -462, head.yMin = -452 * :information_source: **INFO** MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 5 * :information_source: **INFO** MS-FonVal: maxSizeOfInstructions via method #1 DETAILS: maxSizeOfInstructions=0, computed from the glyf table * :information_source: **INFO** MS-FonVal: No string for Typographic Family name (Name ID 16) * :information_source: **INFO** MS-FonVal: No string for Typographic Subfamily name (Name ID 17) * :information_source: **INFO** MS-FonVal: 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 * :information_source: **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 * :information_source: **INFO** MS-FonVal: Rasterization not selected for validation * :information_source: **INFO** MS-FonVal: Total time validating file DETAILS: 0:00:04 * :bread: **PASS** MS-FonVal: The numTables field is non-zero DETAILS: 14 * :bread: **PASS** MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid * :bread: **PASS** MS-FonVal: The directory entry tags are in ascending order * :bread: **PASS** MS-FonVal: The directory entry tag names are valid * :bread: **PASS** MS-FonVal: The directory entry table offsets are all multiples of 4 * :bread: **PASS** MS-FonVal: All required tables are present * :bread: **PASS** MS-FonVal: No unnecessary tables are present * :bread: **PASS** MS-FonVal: Tables are in optimal order * :bread: **PASS** MS-FonVal: All signature blocks were in format 1 * :bread: **PASS** MS-FonVal: All signature blocks' reserved values were 0 * :bread: **PASS** MS-FonVal: The digital signature of the file verified correctly * :bread: **PASS** MS-FonVal: The version numbers 0x00010000 or 0x0001002 are okay DETAILS: 0x00010000 * :bread: **PASS** MS-FonVal: All header offsets point within the table * :bread: **PASS** MS-FonVal: The Coverage offset is nonzero and points within the GDEF table DETAILS: LigCaretList * :bread: **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] * :bread: **PASS** MS-FonVal: The offsets in the LigGlyph array are valid DETAILS: LigCaretList * :bread: **PASS** MS-FonVal: The version number is 0x00010000 * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable, DefaultLangSysTable * :bread: **PASS** MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable * :bread: **PASS** MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: - FeatureList, FeatureRecord[0](kern), FeatureTable - FeatureList, FeatureRecord[1](mark), FeatureTable - FeatureList, FeatureRecord[0](dlig), FeatureTable - FeatureList, FeatureRecord[1](frac), FeatureTable - FeatureList, FeatureRecord[2](liga), FeatureTable - FeatureList, FeatureRecord[3](onum), FeatureTable - FeatureList, FeatureRecord[4](ordn), FeatureTable - FeatureList, FeatureRecord[5](sinf), FeatureTable - FeatureList, FeatureRecord[6](ss01), FeatureTable - FeatureList, FeatureRecord[7](sups), FeatureTable - FeatureList, FeatureRecord[8](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The FeatureList table is valid DETAILS: FeatureList * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: - LookupList, Lookup[0], SubTable[0](PairPos, fmt 1), PairSet[0] - 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! * :bread: **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) * :bread: **PASS** MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[1], SubTable[0](MarkBasePos), BaseArray * :bread: **PASS** MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](MarkBasePos) * :bread: **PASS** MS-FonVal: The LookupList table is valid DETAILS: LookupList * :bread: **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) * :bread: **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) * :bread: **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) * :bread: **PASS** MS-FonVal: The table length matches the expected length for this version * :bread: **PASS** MS-FonVal: The xAvgCharWidth field equals the calculated value * :bread: **PASS** MS-FonVal: The usWeightClass is consistent with the PANOSE weight value * :bread: **PASS** MS-FonVal: The usWeightClass is a valid value DETAILS: 400 * :bread: **PASS** MS-FonVal: The width class is a valid value DETAILS: 5 * :bread: **PASS** MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding * :bread: **PASS** MS-FonVal: All subscript and superscript values appear valid * :bread: **PASS** MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid * :bread: **PASS** MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range * :bread: **PASS** MS-FonVal: All panose values are in a valid range * :bread: **PASS** MS-FonVal: The Unicode Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x0000, last = 0x2219 * :bread: **PASS** MS-FonVal: The CodePage Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The sxHeight field is nonzero DETAILS: 933 * :bread: **PASS** MS-FonVal: The sCapHeight field is nonzero DETAILS: 1355 * :bread: **PASS** MS-FonVal: The usDefaultChar field is zero * :bread: **PASS** MS-FonVal: The usBreakChar is mapped to a glyf * :bread: **PASS** MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3 * :bread: **PASS** MS-FonVal: The table version number is 0 * :bread: **PASS** MS-FonVal: Each subtable offset is within the table * :bread: **PASS** MS-FonVal: Each subtable length is within the table * :bread: **PASS** MS-FonVal: The subtables are in the correct order * :bread: **PASS** MS-FonVal: There are no duplicate subtables * :bread: **PASS** MS-FonVal: No overlapping subtables were found * :bread: **PASS** MS-FonVal: Each subtable's format number is valid * :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: - PlatID = 0, EncID = 3, Fmt = 4 - PlatID = 3, EncID = 1, Fmt = 4 * :bread: **PASS** MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1 * :bread: **PASS** MS-FonVal: No characters are mapped in the Unicode Private Use area * :bread: **PASS** MS-FonVal: All non mac subtables have a language field of zero * :bread: **PASS** MS-FonVal: Correct format of loca (0 or 1) * :bread: **PASS** MS-FonVal: Table length is 54 bytes * :bread: **PASS** MS-FonVal: The table version number is 0x00010000 * :bread: **PASS** MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.002 * :bread: **PASS** MS-FonVal: Font checksum is correct DETAILS: 0x39a06178 * :bread: **PASS** MS-FonVal: The magic number is 0x5f0f3cf5 * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present * :bread: **PASS** MS-FonVal: Reserved bit 14 of the flags field is clear * :bread: **PASS** MS-FonVal: Reserved bit 15 of the flags field is clear * :bread: **PASS** MS-FonVal: The unitsPerEm value is a power of two in the range 64..16384 DETAILS: 2048 * :bread: **PASS** MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -602 * :bread: **PASS** MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -452 * :bread: **PASS** MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 2765 * :bread: **PASS** MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1708 * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the post table italic angle * :bread: **PASS** MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2 * :bread: **PASS** MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0 * :bread: **PASS** MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0 * :bread: **PASS** MS-FonVal: The glyphDataFormat value is 0 * :bread: **PASS** MS-FonVal: The Ascender value is greater than zero * :bread: **PASS** MS-FonVal: The Descender is less than zero * :bread: **PASS** MS-FonVal: Ascender is less than or equal to head.yMax * :bread: **PASS** MS-FonVal: LineGap is greater than or equal to 0 * :bread: **PASS** MS-FonVal: Ascender is same value as OS/2.usWinAscent * :bread: **PASS** MS-FonVal: Descender value is the same as OS/2.usWinDescent * :bread: **PASS** MS-FonVal: The LineGap is greater to or equal the minimum recommended value * :bread: **PASS** MS-FonVal: The advanceWidthMax field equals the calculated value * :bread: **PASS** MS-FonVal: The minLeftSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The minRightSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The xMaxExtent field equals the calculated value * :bread: **PASS** MS-FonVal: The reserved fields are all set to zero * :bread: **PASS** MS-FonVal: The metricDataFormat field is set to zero * :bread: **PASS** MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table * :bread: **PASS** MS-FonVal: The caretSlope angle matches the post.italicAngle * :bread: **PASS** MS-FonVal: The size of the table matches the calculated size * :bread: **PASS** MS-FonVal: The horizontal metrics are all within an allowable range of values * :bread: **PASS** MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1) * :bread: **PASS** MS-FonVal: The entries are sorted in ascending order * :bread: **PASS** MS-FonVal: All entries point within range of the glyf table * :bread: **PASS** MS-FonVal: All glyphs in the glyf table are referenced by the loca table * :bread: **PASS** MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present * :bread: **PASS** MS-FonVal: Table version is 1.0 and the table is 32 bytes long * :bread: **PASS** MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 541 * :bread: **PASS** MS-FonVal: The points, contours, and component values match the calculated values * :bread: **PASS** MS-FonVal: The format selector field is 0 * :bread: **PASS** MS-FonVal: No strings extended past the end of the table * :bread: **PASS** MS-FonVal: The NameRecords array is in sorted order * :bread: **PASS** MS-FonVal: No name records are using reserved Name IDs * :bread: **PASS** MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.002" * :bread: **PASS** MS-FonVal: All strings had valid Platform Specific Encoding IDs * :bread: **PASS** MS-FonVal: All Microsoft unicode strings had valid Language IDs * :bread: **PASS** MS-FonVal: The length of every unicode string is an even # of bytes * :bread: **PASS** MS-FonVal: The subfamily string is consistent with the style of the font * :bread: **PASS** MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14) * :bread: **PASS** MS-FonVal: No inconsistencies were found for Copyright strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Trademark strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Description strings * :bread: **PASS** MS-FonVal: The table length is valid * :bread: **PASS** MS-FonVal: The version number is valid * :bread: **PASS** MS-FonVal: The italicAngle value is reasonable and consistent with other tables * :bread: **PASS** MS-FonVal: The underlinePosition value is not less than hhea.Descender * :bread: **PASS** MS-FonVal: The underlineThickness value is reasonable * :bread: **PASS** MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables * :bread: **PASS** MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs * :bread: **PASS** MS-FonVal: The glyphNameIndex array contains valid indexes * :bread: **PASS** MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names * :warning: **WARN** MS-FonVal: The version number is valid, but less than 5 DETAILS: 4 * :warning: **WARN** MS-FonVal: There are undefined bits set in fsSelection field DETAILS: Bit(s) 7 * :warning: **WARN** MS-FonVal: The value of sTypoAscender minus sTypoDescender is greater than unitsPerEm DETAILS: sTypoAscender = 1708, sTypoDescender = -462 * :warning: **WARN** MS-FonVal: The table does not contain any Apple subtables * :warning: **WARN** MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: {'Glyph index': [8, 18, 36, 58, 87, 119, 140, 141, 159, 169, 187, 210, 242, 274, 275, 282]} * :warning: **WARN** MS-FonVal: The created time is an unlikely value DETAILS: created = 3624644357 (Friday, November 9, 2018 9:39 PM) * :warning: **WARN** MS-FonVal: The modified time is an unlikely value DETAILS: modified = 3624647553 (Friday, November 9, 2018 10:32 PM) * :warning: **WARN** MS-FonVal: The lowestRecPPEM value may be unreasonably small DETAILS: lowestRecPPEM = 6 * :warning: **WARN** MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 DETAILS: Number of glyphs with the warning = 163
:warning: WARN: Font contains .notdef as first glyph? * [com.google.fonts/check/046](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/046) * :warning: **WARN** Font should contain the .notdef glyph as the first glyph, it should not have a Unicode value assigned and should contain a drawing.
:warning: WARN: Combined length of family and style must not exceed 20 characters. * [com.google.fonts/check/163](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/163) * :warning: **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'
:warning: WARN: Is there kerning info for non-ligated sequences? * [com.google.fonts/check/065](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/065) * :warning: **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]
:zzz: SKIP: Check copyright namerecords match license file. * [com.google.fonts/check/029](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/029) * :zzz: **SKIP** Unfulfilled Conditions: license
:zzz: SKIP: Font has ttfautohint params? * [com.google.fonts/check/has_ttfautohint_params](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/has_ttfautohint_params) * :zzz: **SKIP** Font appears to our heuristic as not hinted using ttfautohint.
:zzz: SKIP: Checks METADATA.pb font.name field matches family name declared on the name table. * [com.google.fonts/check/092](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/092) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table. * [com.google.fonts/check/093](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/093) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.full_name value matches fullname declared on the name table? * [com.google.fonts/check/094](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/094) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name value should be same as the family name declared on the name table. * [com.google.fonts/check/095](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/095) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ? * [com.google.fonts/check/096](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/096) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values? * [com.google.fonts/check/097](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/097) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name field contains font name in right format? * [com.google.fonts/check/098](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/098) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.full_name field contains font name in right format? * [com.google.fonts/check/099](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/099) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.filename field contains font name in right format? * [com.google.fonts/check/100](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/100) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.post_script_name field contains font name in right format? * [com.google.fonts/check/101](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/101) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb matches canonical pattern? * [com.google.fonts/check/102](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/102) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. * [com.google.fonts/check/103](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/103) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars. * [com.google.fonts/check/104](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/104) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Filename is set canonically? * [com.google.fonts/check/105](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/105) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, canonical_filename
:zzz: SKIP: METADATA.pb font.style "italic" matches font internals? * [com.google.fonts/check/106](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/106) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.style "normal" matches font internals? * [com.google.fonts/check/107](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/107) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table? * [com.google.fonts/check/108](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/108) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check if fontname is not camel cased. * [com.google.fonts/check/109](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/109) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check font name is the same as family name. * [com.google.fonts/check/110](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/110) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, font_metadata
:zzz: SKIP: METADATA.pb: Check that font weight has a canonical value. * [com.google.fonts/check/111](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/111) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb. * [com.google.fonts/check/112](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/112) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb weight matches postScriptName. * [com.google.fonts/check/113](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/113) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Font styles are named canonically? * [com.google.fonts/check/115](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/115) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Version number has increased since previous release on Google Fonts? * [com.google.fonts/check/117](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/117) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont, github_gfonts_ttFont
:zzz: SKIP: Glyphs are similiar to Google Fonts version? * [com.google.fonts/check/118](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/118) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts? * [com.google.fonts/check/119](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/119) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com * [com.google.fonts/check/154](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/154) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ? * [com.google.fonts/check/155](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/155) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Check a static ttf can be generated from a variable font. * [com.google.fonts/check/174](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/174) * :zzz: **SKIP** Unfulfilled Conditions: is_variable_font
:zzz: SKIP: Check that variable fonts have an HVAR table. * [com.google.fonts/check/varfont/has_HVAR](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/has_HVAR) * :zzz: **SKIP** Unfulfilled Conditions: is_variable_font
:zzz: SKIP: FontForge validation outputs error messages? * [com.google.fonts/check/038](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/038) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: FontForge checks. * [com.google.fonts/check/039](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/039) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth? * [com.google.fonts/check/079](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/079) * :zzz: **SKIP** Unfulfilled Conditions: seems_monospaced
:zzz: SKIP: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance. * [com.google.fonts/check/167](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/167) * :zzz: **SKIP** Unfulfilled Conditions: is_variable_font, regular_wght_coord
:zzz: SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance. * [com.google.fonts/check/168](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/168) * :zzz: **SKIP** Unfulfilled Conditions: is_variable_font, regular_wdth_coord
:zzz: SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/169](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/169) * :zzz: **SKIP** Unfulfilled Conditions: is_variable_font, regular_slnt_coord
:zzz: SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/170](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/170) * :zzz: **SKIP** Unfulfilled Conditions: is_variable_font, regular_ital_coord
:zzz: SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance. * [com.google.fonts/check/171](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/171) * :zzz: **SKIP** Unfulfilled Conditions: is_variable_font, regular_opsz_coord
:zzz: SKIP: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance. * [com.google.fonts/check/172](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/172) * :zzz: **SKIP** Unfulfilled Conditions: is_variable_font, bold_wght_coord
:information_source: INFO: Show hinting filesize impact. * [com.google.fonts/check/054](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/054) * :information_source: **INFO** Hinting filesize impact: | | LibreCaslonText-Italic.ttf | |:--- | ---:| | Dehinted Size | 86.2kb | | Hinted Size | 85.7kb | | Increase | -512 bytes | | Change | -0.0 % |
:information_source: INFO: Font has old ttfautohint applied? * [com.google.fonts/check/056](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/056) * :information_source: **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']
:information_source: INFO: EPAR table present in font? * [com.google.fonts/check/061](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/061) * :information_source: **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
:information_source: INFO: Check for font-v versioning * [com.google.fonts/check/166](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/166) * :information_source: **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"
:information_source: INFO: Font contains all required tables? * [com.google.fonts/check/052](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/052) * :information_source: **INFO** This font contains the following optional tables [DSIG, GSUB, loca, GPOS] * :bread: **PASS** Font contains all required tables.
:bread: PASS: Checking file is named canonically. * [com.google.fonts/check/001](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/001) * :bread: **PASS** LibreCaslonText-Italic.ttf is named canonically.
:bread: PASS: Fonts have equal numbers of glyphs? * [com.google.fonts/check/011](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/011) * :bread: **PASS** All font files in this family have an equal total ammount of glyphs.
:bread: PASS: Fonts have equal glyph names? * [com.google.fonts/check/012](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/012) * :bread: **PASS** All font files have identical glyph names.
:bread: PASS: Checking OS/2 fsType. * [com.google.fonts/check/016](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/016) * :bread: **PASS** OS/2 fsType is properly set to zero.
:bread: PASS: Checking OS/2 achVendID. * [com.google.fonts/check/018](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/018) * :bread: **PASS** OS/2 VendorID 'GOOG' looks good!
:bread: PASS: Substitute copyright, registered and trademark symbols in name table entries. * [com.google.fonts/check/019](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/019) * :bread: **PASS** No need to substitute copyright, registered and trademark symbols in name table entries of this font.
:bread: PASS: Checking OS/2 usWeightClass. * [com.google.fonts/check/020](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/020) * :bread: **PASS** OS/2 usWeightClass value looks good!
:bread: PASS: "License URL matches License text on name table? * [com.google.fonts/check/030](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/030) * :bread: **PASS** Font has a valid license URL in NAME table.
:bread: PASS: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/032](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/032) * :bread: **PASS** All description name records have reasonably small lengths.
:bread: PASS: Version format is correct in 'name' table? * [com.google.fonts/check/055](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/055) * :bread: **PASS** Version format in NAME table entries is correct.
:bread: PASS: Make sure family name does not begin with a digit. * [com.google.fonts/check/067](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/067) * :bread: **PASS** Font family name first character is not a digit.
:bread: PASS: Font has all expected currency sign characters? * [com.google.fonts/check/070](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/070) * :bread: **PASS** Font has all expected currency sign characters.
:bread: PASS: Are there non-ASCII characters in ASCII-only NAME table entries? * [com.google.fonts/check/074](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/074) * :bread: **PASS** None of the ASCII-only NAME table entries contain non-ASCII characteres.
:bread: PASS: Checking OS/2 fsSelection value. * [com.google.fonts/check/129](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/129) * :bread: **PASS** OS/2 fsSelection REGULAR bit is properly set. * :bread: **PASS** OS/2 fsSelection ITALIC bit is properly set. * :bread: **PASS** OS/2 fsSelection BOLD bit is properly set.
:bread: PASS: Checking head.macStyle value. * [com.google.fonts/check/131](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/131) * :bread: **PASS** head macStyle ITALIC bit is properly set. * :bread: **PASS** head macStyle BOLD bit is properly set.
:bread: PASS: Font has all mandatory 'name' table entries ? * [com.google.fonts/check/156](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/156) * :bread: **PASS** Font contains values for all mandatory name table entries.
:bread: PASS: Check name table: FONT_FAMILY_NAME entries. * [com.google.fonts/check/157](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/157) * :bread: **PASS** FONT_FAMILY_NAME entries are all good.
:bread: PASS: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/158](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/158) * :bread: **PASS** FONT_SUBFAMILY_NAME entries are all good.
:bread: PASS: Check name table: FULL_FONT_NAME entries. * [com.google.fonts/check/159](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/159) * :bread: **PASS** FULL_FONT_NAME entries are all good.
:bread: PASS: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/160](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/160) * :bread: **PASS** POSTCRIPT_NAME entries are all good.
:bread: PASS: Check name table: TYPOGRAPHIC_FAMILY_NAME entries. * [com.google.fonts/check/161](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/161) * :bread: **PASS** TYPOGRAPHIC_FAMILY_NAME entries are all good.
:bread: PASS: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries. * [com.google.fonts/check/162](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/162) * :bread: **PASS** TYPOGRAPHIC_SUBFAMILY_NAME entries are all good.
:bread: PASS: Length of copyright notice must not exceed 500 characters. * [com.google.fonts/check/164](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/164) * :bread: **PASS** All copyright notice name entries on the 'name' table are shorter than 500 characters.
:bread: PASS: Familyname must be unique according to namecheck.fontdata.com * [com.google.fonts/check/165](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/165) * :bread: **PASS** Font familyname seems to be unique.
:bread: PASS: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/040](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/040) * :bread: **PASS** OS/2 usWinAscent & usWinDescent values look good!
:bread: PASS: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/042](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/042) * :bread: **PASS** OS/2.sTypoAscender/Descender match hhea.ascent/descent.
:bread: PASS: There must not be VTT Talk sources in the font. * [com.google.fonts/check/vttclean](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/vttclean) * :bread: **PASS** There are no tables with VTT Talk sources embedded in the font.
:bread: PASS: Checking with ftxvalidator. * [com.google.fonts/check/035](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/035) * :bread: **PASS** ftxvalidator passed this file
:bread: PASS: Checking with ots-sanitize. * [com.google.fonts/check/036](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/036) * :bread: **PASS** ots-sanitize passed this file
:bread: PASS: Font contains glyphs for whitespace characters? * [com.google.fonts/check/047](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/047) * :bread: **PASS** Font contains glyphs for whitespace characters.
:bread: PASS: Font has **proper** whitespace glyph names? * [com.google.fonts/check/048](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/048) * :bread: **PASS** Font has **proper** whitespace glyph names.
:bread: PASS: Whitespace glyphs have ink? * [com.google.fonts/check/049](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/049) * :bread: **PASS** There is no whitespace glyph with ink.
:bread: PASS: Are there unwanted tables? * [com.google.fonts/check/053](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/053) * :bread: **PASS** There are no unwanted tables.
:bread: PASS: Glyph names are all valid? * [com.google.fonts/check/058](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/058) * :bread: **PASS** Glyph names are all valid.
:bread: PASS: Font contains unique glyph names? * [com.google.fonts/check/059](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/059) * :bread: **PASS** Font contains unique glyph names.
:bread: PASS: Checking with fontTools.ttx * [com.google.fonts/check/ttx-roundtrip](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ttx-roundtrip) * :bread: **PASS** Hey! It all looks good!
:bread: PASS: Check glyphs have unique unicode codepoints. * [com.google.fonts/check/076](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/076) * :bread: **PASS** All glyphs have unique unicode codepoint assignments.
:bread: PASS: Check all glyphs have codepoints assigned. * [com.google.fonts/check/077](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/077) * :bread: **PASS** All glyphs have a codepoint value assigned.
:bread: PASS: Checking unitsPerEm value is reasonable. * [com.google.fonts/check/043](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/043) * :bread: **PASS** unitsPerEm value on the 'head' table is reasonable.
:bread: PASS: Checking font version fields (head and name table). * [com.google.fonts/check/044](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/044) * :bread: **PASS** All font version fields match.
:bread: PASS: Check if OS/2 xAvgCharWidth is correct. * [com.google.fonts/check/034](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/034) * :bread: **PASS** OS/2 xAvgCharWidth value is correct.
:bread: PASS: Font has correct post table version (2 for TTF, 3 for OTF)? * [com.google.fonts/check/015](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/015) * :bread: **PASS** Font has post table version 2.
:bread: PASS: Description strings in the name table must not contain copyright info. * [com.google.fonts/check/031](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/031) * :bread: **PASS** Description strings in the name table do not contain any copyright string.
:bread: PASS: Checking correctness of monospaced metadata. * [com.google.fonts/check/033](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/033) * :bread: **PASS** Font is not monospaced and all related metadata look good. [code: good]
:bread: PASS: Name table entries should not contain line-breaks. * [com.google.fonts/check/057](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/057) * :bread: **PASS** Name table entries are all single-line (no line-breaks found).
:bread: PASS: Does full font name begin with the font family name? * [com.google.fonts/check/068](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/068) * :bread: **PASS** Full font name begins with the font family name.
:bread: PASS: Font follows the family naming recommendations? * [com.google.fonts/check/071](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/071) * :bread: **PASS** Font follows the family naming recommendations.
:bread: PASS: Name table strings must not contain the string 'Reserved Font Name'. * [com.google.fonts/check/152](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/152) * :bread: **PASS** None of the name table strings contain "Reserved Font Name".
:bread: PASS: Checking Vertical Metric Linegaps. * [com.google.fonts/check/041](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/041) * :bread: **PASS** OS/2 sTypoLineGap and hhea lineGap are both 0.
:bread: PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables? * [com.google.fonts/check/073](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/073) * :bread: **PASS** MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
:bread: PASS: Does the font have a DSIG table? * [com.google.fonts/check/045](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/045) * :bread: **PASS** Digital Signature (DSIG) exists.
:bread: PASS: Whitespace and non-breaking space have the same width? * [com.google.fonts/check/050](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/050) * :bread: **PASS** Whitespace and non-breaking space have the same width.
:bread: PASS: Does GPOS table have kerning information? * [com.google.fonts/check/063](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/063) * :bread: **PASS** GPOS table has got kerning information.
:bread: PASS: Are there caret positions declared for every ligature? * [com.google.fonts/check/064](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/064) * :bread: **PASS** Looks good!
:bread: PASS: Is there a "kern" table declared in the font? * [com.google.fonts/check/066](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/066) * :bread: **PASS** Font does not declare an optional "kern" table.
:bread: PASS: Is there any unused data at the end of the glyf table? * [com.google.fonts/check/069](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/069) * :bread: **PASS** There is no unused data at the end of the glyf table.
:bread: PASS: Check for points out of bounds. * [com.google.fonts/check/075](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/075) * :bread: **PASS** All glyph paths have coordinates within bounds!
:bread: PASS: Does the number of glyphs in the loca table match the maxp table? * [com.google.fonts/check/180](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/180) * :bread: **PASS** 'loca' table matches numGlyphs in 'maxp' table.

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
0 4 6 56 6 64
0% 3% 4% 41% 4% 47%