50 KiB
Fontbakery report
[23] Family checks
🔥 FAIL: Check font has a license.
- com.google.fonts/check/028
- 🔥 FAIL No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: none]
🍞 PASS: Checking all files are in the same directory.
- com.google.fonts/check/002
- 🍞 PASS All files are in the same directory.
🍞 PASS: Fonts have equal unicode encodings?
- com.google.fonts/check/013
- 🍞 PASS Fonts have equal unicode encodings.
🍞 PASS: Make sure all font files have the same version value.
- com.google.fonts/check/014
- 🍞 PASS All font files have the same version.
🍞 PASS: Fonts have consistent PANOSE proportion?
- com.google.fonts/check/009
- 🍞 PASS Fonts have consistent PANOSE proportion.
🍞 PASS: Fonts have consistent PANOSE family type?
- com.google.fonts/check/010
- 🍞 PASS Fonts have consistent PANOSE family type.
🍞 PASS: Fonts have consistent underline thickness?
- com.google.fonts/check/008
- 🍞 PASS Fonts have consistent underline thickness.
💤 SKIP: Copyright notice is the same in all fonts?
- com.google.fonts/check/088
- 💤 SKIP Unfulfilled Conditions: metadata
💤 SKIP: Check that METADATA family values are all the same.
- com.google.fonts/check/089
- 💤 SKIP Unfulfilled Conditions: metadata
💤 SKIP: METADATA.pb should contain at least "menu" and "latin" subsets.
- com.google.fonts/check/086
- 💤 SKIP Unfulfilled Conditions: metadata
💤 SKIP: METADATA.pb subsets should be alphabetically ordered.
- com.google.fonts/check/087
- 💤 SKIP Unfulfilled Conditions: metadata
💤 SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs.
- com.google.fonts/check/084
- 💤 SKIP Unfulfilled Conditions: metadata
💤 SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
- com.google.fonts/check/085
- 💤 SKIP Unfulfilled Conditions: metadata
💤 SKIP: METADATA.pb: check if fonts field only has unique "full_name" values.
- com.google.fonts/check/083
- 💤 SKIP Unfulfilled Conditions: metadata
💤 SKIP: METADATA.pb: Ensure designer simple short name.
- com.google.fonts/check/080
- 💤 SKIP Unfulfilled Conditions: metadata
💤 SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API?
- com.google.fonts/check/081
- 💤 SKIP Unfulfilled Conditions: metadata
💤 SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes.
- com.google.fonts/check/006
- 💤 SKIP Unfulfilled Conditions: description
💤 SKIP: Font designer field in METADATA.pb must not be 'unknown'.
- com.google.fonts/check/007
- 💤 SKIP Unfulfilled Conditions: metadata
💤 SKIP: Is this a proper HTML snippet?
- com.google.fonts/check/004
- 💤 SKIP Unfulfilled Conditions: descfile
💤 SKIP: DESCRIPTION.en_us.html must have more than 200 bytes.
- com.google.fonts/check/005
- 💤 SKIP Unfulfilled Conditions: description
💤 SKIP: Does DESCRIPTION file contain broken links?
- com.google.fonts/check/003
- 💤 SKIP Unfulfilled Conditions: description
💤 SKIP: Regular should be 400.
- com.google.fonts/check/091
- 💤 SKIP Unfulfilled Conditions: metadata, has_regular_style
💤 SKIP: According Google Fonts standards, families should have a Regular style.
- com.google.fonts/check/090
- 💤 SKIP Unfulfilled Conditions: metadata
[109] WorkSans-VF.ttf
💔 ERROR: Checking with Microsoft Font Validator.
- com.google.fonts/check/037
- 💔 ERROR Mono runtime and/or Microsoft Font Validator are not available!
- 💔 ERROR Failed with OSError: [Errno 2] No such file or directory
🔥 FAIL: Check a static ttf can be generated from a variable font.
- com.google.fonts/check/174
- 🔥 FAIL fontTools.varLib.mutator failed to generated a static font instance AssertionError()
🔥 FAIL: Checking file is named canonically.
- com.google.fonts/check/001
- 🔥 FAIL Style name used in "WorkSans-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".
⚠️ WARN: Checking OS/2 achVendID.
- com.google.fonts/check/018
- ⚠️ WARN OS/2 VendorID value 'WEI<45>' 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]
⚠️ WARN: Check if each glyph has the recommended amount of contours.
- com.google.fonts/check/153
- ⚠️ WARN This check inspects the glyph outlines and detects the total number of counters in each of them. The expected values are infered from the typical ammounts of counters observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.
The following glyphs do not have the recommended number of contours:
Glyph name: numbersign Counters detected: 4 Expected: 2 Glyph name: dollar Counters detected: 2 Expected: 1 or 3 Glyph name: asterisk Counters detected: 5 Expected: 1 or 4 Glyph name: plus Counters detected: 2 Expected: 1 Glyph name: H Counters detected: 3 Expected: 1 Glyph name: K Counters detected: 3 Expected: 1 or 2 Glyph name: Q Counters detected: 3 Expected: 2 Glyph name: R Counters detected: 3 Expected: 1 or 2 Glyph name: a Counters detected: 1 Expected: 2 Glyph name: e Counters detected: 1 Expected: 2 Glyph name: f Counters detected: 2 Expected: 1 Glyph name: g Counters detected: 5 Expected: 2 or 3 Glyph name: k Counters detected: 3 Expected: 1 or 2 Glyph name: uni207A Counters detected: 2 Expected: 1 Glyph name: uni208A Counters detected: 2 Expected: 1 Glyph name: currency Counters detected: 6 Expected: 2 Glyph name: uni20A6 Counters detected: 2 Expected: 1, 3 or 5 Glyph name: uni20A9 Counters detected: 2 Expected: 1, 3, 4 or 7 Glyph name: Euro Counters detected: 3 Expected: 1 or 2 Glyph name: registered Counters detected: 5 Expected: 3 or 4 Glyph name: plusminus Counters detected: 3 Expected: 1 or 2 Glyph name: uni20BA Counters detected: 3 Expected: 1 Glyph name: uni20BC Counters detected: 2 Expected: 1 Glyph name: Eth Counters detected: 3 Expected: 2 Glyph name: multiply Counters detected: 2 Expected: 1 Glyph name: Oslash Counters detected: 5 Expected: 3 Glyph name: agrave Counters detected: 2 Expected: 3 Glyph name: aacute Counters detected: 2 Expected: 3 Glyph name: acircumflex Counters detected: 2 Expected: 3 Glyph name: atilde Counters detected: 2 Expected: 3 Glyph name: adieresis Counters detected: 3 Expected: 4 Glyph name: aring Counters detected: 3 Expected: 4 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: 4 Expected: 2 Glyph name: uni2199 Counters detected: 2 Expected: 1 Glyph name: amacron Counters detected: 2 Expected: 3 Glyph name: abreve Counters detected: 2 Expected: 3 Glyph name: Dcroat Counters detected: 3 Expected: 2 Glyph name: dcroat Counters detected: 3 Expected: 2 Glyph name: uni2113 Counters detected: 1 Expected: 2 Glyph name: ebreve Counters detected: 2 Expected: 3 Glyph name: edotaccent Counters detected: 2 Expected: 3 Glyph name: ecaron Counters detected: 2 Expected: 3 Glyph name: gcircumflex Counters detected: 6 Expected: 3 or 4 Glyph name: gbreve Counters detected: 6 Expected: 3 or 4 Glyph name: gdotaccent Counters detected: 6 Expected: 3 or 4 Glyph name: uni0123 Counters detected: 6 Expected: 3 or 4 Glyph name: Hcircumflex Counters detected: 4 Expected: 2 Glyph name: hbar Counters detected: 2 Expected: 1 Glyph name: uni0136 Counters detected: 4 Expected: 2 or 3 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: eng Counters detected: 2 Expected: 1 Glyph name: uni0156 Counters detected: 4 Expected: 3 Glyph name: Rcaron Counters detected: 4 Expected: 3 Glyph name: uni0163 Counters detected: 3 Expected: 1 or 2 Glyph name: tcaron Counters detected: 3 Expected: 2 Glyph name: Tbar Counters detected: 2 Expected: 1 Glyph name: tbar Counters detected: 3 Expected: 1 Glyph name: Uogonek Counters detected: 2 Expected: 1 Glyph name: uogonek Counters detected: 2 Expected: 1 Glyph name: uni018F Counters detected: 1 Expected: 2 Glyph name: arrowleft Counters detected: 2 Expected: 1 Glyph name: arrowup Counters detected: 2 Expected: 1 Glyph name: arrowright Counters detected: 2 Expected: 1 Glyph name: arrowdown Counters detected: 2 Expected: 1 Glyph name: arrowboth Counters detected: 3 Expected: 1 Glyph name: arrowupdn Counters detected: 3 Expected: 1 Glyph name: uni2196 Counters detected: 2 Expected: 1 Glyph name: uni2197 Counters detected: 2 Expected: 1 Glyph name: uni2198 Counters detected: 2 Expected: 1 Glyph name: ohorn Counters detected: 3 Expected: 2 Glyph name: Uhorn Counters detected: 2 Expected: 1 Glyph name: uhorn Counters detected: 2 Expected: 1 Glyph name: uni21BA Counters detected: 2 Expected: 1 Glyph name: gcaron Counters detected: 6 Expected: 3 or 4 Glyph name: uni01EA Counters detected: 3 Expected: 2 Glyph name: uni01EB Counters detected: 3 Expected: 2 Glyph name: Oslashacute Counters detected: 6 Expected: 4 Glyph name: uni0201 Counters detected: 3 Expected: 4 Glyph name: uni0203 Counters detected: 2 Expected: 3 Glyph name: uni0205 Counters detected: 3 Expected: 4 Glyph name: uni0207 Counters detected: 2 Expected: 3 Glyph name: uni0210 Counters detected: 5 Expected: 4 Glyph name: uni021B Counters detected: 3 Expected: 2 Glyph name: infinity Counters detected: 2 Expected: 3 Glyph name: uni0259 Counters detected: 1 Expected: 2 Glyph name: notequal Counters detected: 3 Expected: 1 Glyph name: fl Counters detected: 3 Expected: 1 or 2 Glyph name: x Counters detected: 2 Expected: 1 Glyph name: colonmonetary Counters detected: 7 Expected: 1 or 3 Glyph name: lira Counters detected: 3 Expected: 1 Glyph name: logicalnot Counters detected: 2 Expected: 1 Glyph name: partialdiff Counters detected: 1 Expected: 2 Glyph name: t Counters detected: 2 Expected: 1 Glyph name: product Counters detected: 3 Expected: 1 Glyph name: uni0212 Counters detected: 4 Expected: 3 Glyph name: lozenge Counters detected: 4 Expected: 2 Glyph name: uni1E08 Counters detected: 3 Expected: 2 Glyph name: uni1E09 Counters detected: 3 Expected: 2 Glyph name: uni1E15 Counters detected: 3 Expected: 4 Glyph name: uni1E17 Counters detected: 3 Expected: 4 Glyph name: uni1E1C Counters detected: 3 Expected: 2 Glyph name: uni1E21 Counters detected: 6 Expected: 3 or 4 Glyph name: uni1E24 Counters detected: 4 Expected: 2 Glyph name: uni1E2A Counters detected: 4 Expected: 2 Glyph name: fi Counters detected: 4 Expected: 1, 2 or 3 Glyph name: uni1E5A Counters detected: 4 Expected: 3 Glyph name: uni1E5E Counters detected: 4 Expected: 3 Glyph name: uni1E6D Counters detected: 3 Expected: 2 Glyph name: uni1E6F Counters detected: 3 Expected: 2 Glyph name: emacron Counters detected: 2 Expected: 3 Glyph name: uni1E97 Counters detected: 4 Expected: 3 Glyph name: uni1EA1 Counters detected: 2 Expected: 3 Glyph name: uni1EA3 Counters detected: 2 Expected: 3 Glyph name: uni1EA5 Counters detected: 3 Expected: 4 Glyph name: uni1EA9 Counters detected: 3 Expected: 4 Glyph name: uni1EAB Counters detected: 3 Expected: 4 Glyph name: uni1EAD Counters detected: 3 Expected: 4 Glyph name: uni1EAF Counters detected: 3 Expected: 4 Glyph name: uni1EB1 Counters detected: 3 Expected: 4 Glyph name: uni1EB3 Counters detected: 3 Expected: 4 Glyph name: uni1EB5 Counters detected: 3 Expected: 4 Glyph name: uni1EB7 Counters detected: 3 Expected: 4 Glyph name: uni1EB9 Counters detected: 2 Expected: 3 Glyph name: uni1EBB Counters detected: 2 Expected: 3 Glyph name: uni1EBD Counters detected: 2 Expected: 3 Glyph name: uni1EBF Counters detected: 3 Expected: 4 Glyph name: uni1EC1 Counters detected: 3 Expected: 4 Glyph name: uni1EC3 Counters detected: 3 Expected: 4 Glyph name: uni1EC5 Counters detected: 3 Expected: 4 Glyph name: uni1EC7 Counters detected: 3 Expected: 4 Glyph name: uni1EDB Counters detected: 4 Expected: 3 Glyph name: uni1EDD Counters detected: 4 Expected: 3 Glyph name: uni1EDF Counters detected: 4 Expected: 3 Glyph name: uni1EE1 Counters detected: 4 Expected: 3 Glyph name: uni1EE3 Counters detected: 4 Expected: 3 Glyph name: Hbar Counters detected: 4 Expected: 2 Glyph name: uni1EE8 Counters detected: 3 Expected: 2 Glyph name: uni1EE9 Counters detected: 3 Expected: 2 Glyph name: uni1EEA Counters detected: 3 Expected: 2 Glyph name: uni1EEB Counters detected: 3 Expected: 2 Glyph name: uni1EEC Counters detected: 3 Expected: 2 Glyph name: uni1EED Counters detected: 3 Expected: 2 Glyph name: uni1EEE Counters detected: 3 Expected: 2 Glyph name: uni1EEF Counters detected: 3 Expected: 2 Glyph name: uni1EF0 Counters detected: 3 Expected: 2 Glyph name: uni1EF1 Counters detected: 3 Expected: 2 Glyph name: florin Counters detected: 2 Expected: 1 Glyph name: trademark Counters detected: 3 Expected: 2 Glyph name: uni275D Counters detected: 2 Expected: 1 Glyph name: uni275E Counters detected: 2 Expected: 1 Glyph name: uni2761 Counters detected: 3 Expected: 2 Glyph name: uni1EA7 Counters detected: 3 Expected: 4 Glyph name: oe Counters detected: 2 Expected: 3 Glyph name: Racute Counters detected: 4 Expected: 3
⚠️ WARN: Check if OS/2 xAvgCharWidth is correct.
- com.google.fonts/check/034
- ⚠️ WARN OS/2 xAvgCharWidth is 599 but should be 597 which corresponds to the weighted average of the widths of the latin lowercase glyphs in the font. These are similar values, which may be a symptom of the slightly different calculation of the xAvgCharWidth value in font editors. There's further discussion on this at https://github.com/googlefonts/fontbakery/issues/1622
⚠️ WARN: Is there kerning info for non-ligated sequences?
- com.google.fonts/check/065
- ⚠️ WARN GPOS table lacks kerning info for the following non-ligated sequences: [u'c_h', u'c_t', u'Iacute_J', u'f_f', u'f_i', u'f_l', u'N_o', u's_t', u'T_h', u'parenleft.case_eight', u'parenleft.case_five', u'parenleft.case_four', u'parenleft.case_nine', u'parenleft.case_one', u'parenleft.case_seven', u'parenleft.case_six', u'parenleft.case_three', u'parenleft.case_two', u'parenleft_eight', u'parenleft_eight.osf', u'parenleft_eight.tf', u'parenleft_eight.tosf', u'parenleft_five', u'parenleft_five.osf', u'parenleft_five.tf', u'parenleft_five.tosf', u'parenleft_four', u'parenleft_four.osf', u'parenleft_four.tf', u'parenleft_four.tosf', u'parenleft_nine', u'parenleft_nine.osf', u'parenleft_nine.tf', u'parenleft_nine.tosf', u'parenleft_one', u'parenleft_one.osf', u'parenleft_one.tf', u'parenleft_one.tosf', u'parenleft_seven', u'parenleft_seven.osf', u'parenleft_seven.tf', u'parenleft_seven.tosf', u'parenleft_six', u'parenleft_six.osf', u'parenleft_six.tf', u'parenleft_six.tosf', u'parenleft_three', u'parenleft_three.osf', u'parenleft_three.tf', u'parenleft_three.tosf', u'parenleft_two', u'parenleft_two.osf', u'parenleft_two.tf', u'parenleft_two.tosf', u'iacute_j'] [code: lacks-kern-info]
⚠️ WARN: Is there a caret position declared for every ligature?
- com.google.fonts/check/064
- ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN: Check for points out of bounds.
- com.google.fonts/check/075
- ⚠️ WARN The following glyphs have coordinates which are out of bounds: [('uni1ED1', 557.3, 835.8000000000001), ('uni03020301', 257.3, 835.8000000000001), ('uni1EBF.sc', 555.3, 895.8000000000001), ('uni1EA5.ss01', 558.3, 835.8000000000001), ('uni1EBE', 597.3, 995.8000000000001), ('uni1EBF', 548.3, 835.8000000000001), ('uni03020301.case', 257.3, 995.8000000000001)] This happens a lot when points are not extremes, which is usually bad. However, fixing this alert by adding points on extremes may do more harm than good, especially with italics, calligraphic-script, handwriting, rounded and other fonts. So it is common to ignore this message
💤 SKIP: Check if fontname is not camel cased.
- com.google.fonts/check/109
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
- com.google.fonts/check/108
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: METADATA.pb font.style "normal" matches font internals?
- com.google.fonts/check/107
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: METADATA.pb font.style "italic" matches font internals?
- com.google.fonts/check/106
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Filename is set canonically in METADATA.pb?
- com.google.fonts/check/105
- 💤 SKIP Unfulfilled Conditions: font_metadata, canonical_filename
💤 SKIP: Copyright notice shouldn't exceed 500 chars.
- com.google.fonts/check/104
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Copyright notice on METADATA.pb does not contain Reserved Font Name?
- com.google.fonts/check/103
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Copyright notice on METADATA.pb matches canonical pattern?
- com.google.fonts/check/102
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: METADATA.pb font.filename field contains font name in right format?
- com.google.fonts/check/100
- 💤 SKIP Unfulfilled Conditions: style, font_metadata
💤 SKIP: METADATA.pb font.post_script_name field contains font name in right format?
- com.google.fonts/check/101
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts?
- com.google.fonts/check/119
- 💤 SKIP Unfulfilled Conditions: api_gfonts_ttFont
💤 SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
- com.google.fonts/check/161
- 💤 SKIP Unfulfilled Conditions: style
💤 SKIP: Check name table: POSTSCRIPT_NAME entries.
- com.google.fonts/check/160
- 💤 SKIP Unfulfilled Conditions: style
💤 SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
- com.google.fonts/check/162
- 💤 SKIP Unfulfilled Conditions: style
💤 SKIP: METADATA.pb font.full_name field contains font name in right format?
- com.google.fonts/check/099
- 💤 SKIP Unfulfilled Conditions: style, font_metadata
💤 SKIP: METADATA.pb font.name field contains font name in right format?
- com.google.fonts/check/098
- 💤 SKIP Unfulfilled Conditions: style, font_metadata
💤 SKIP: METADATA.pb font.name value should be same as the family name declared on the name table.
- com.google.fonts/check/095
- 💤 SKIP Unfulfilled Conditions: font_metadata, style
💤 SKIP: METADATA.pb family.filename and family.post_script_name fields have equivalent values?
- com.google.fonts/check/097
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: METADATA.pb family.full_name and family.post_script_name fields have equivalent values ?
- com.google.fonts/check/096
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Checks METADATA.pb font.name field matches family name declared on the name table.
- com.google.fonts/check/092
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Check name table: FULL_FONT_NAME entries.
- com.google.fonts/check/159
- 💤 SKIP Unfulfilled Conditions: style
💤 SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
- com.google.fonts/check/154
- 💤 SKIP Unfulfilled Conditions: api_gfonts_ttFont
💤 SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
- com.google.fonts/check/155
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Check name table: FONT_FAMILY_NAME entries.
- com.google.fonts/check/157
- 💤 SKIP Unfulfilled Conditions: style
💤 SKIP: Check copyright namerecords match license file.
- com.google.fonts/check/029
- 💤 SKIP Unfulfilled Conditions: license
💤 SKIP: METADATA.pb font.fullname value matches fullname declared on the name table?
- com.google.fonts/check/094
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
- com.google.fonts/check/093
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Checking head.macStyle value.
- com.google.fonts/check/131
- 💤 SKIP Unfulfilled Conditions: style
💤 SKIP: Check that font weight has a canonical value.
- com.google.fonts/check/111
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Check name table: FONT_SUBFAMILY_NAME entries.
- com.google.fonts/check/158
- 💤 SKIP Unfulfilled Conditions: style
💤 SKIP: Checking OS/2 fsSelection value.
- com.google.fonts/check/129
- 💤 SKIP Unfulfilled Conditions: style
💤 SKIP: Glyphs are similiar to Google Fonts version?
- com.google.fonts/check/118
- 💤 SKIP Unfulfilled Conditions: api_gfonts_ttFont
💤 SKIP: Check font name is the same as family name.
- com.google.fonts/check/110
- 💤 SKIP Unfulfilled Conditions: metadata, font_metadata
💤 SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb.
- com.google.fonts/check/112
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Metadata weight matches postScriptName.
- com.google.fonts/check/113
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Font styles are named canonically?
- com.google.fonts/check/115
- 💤 SKIP Unfulfilled Conditions: font_metadata
💤 SKIP: Version number has increased since previous release on Google Fonts?
- com.google.fonts/check/117
- 💤 SKIP Unfulfilled Conditions: api_gfonts_ttFont, github_gfonts_ttFont
💤 SKIP: Checking post.italicAngle value.
- com.google.fonts/check/130
- 💤 SKIP Unfulfilled Conditions: style
💤 SKIP: Font has all mandatory 'name' table entries ?
- com.google.fonts/check/156
- 💤 SKIP Unfulfilled Conditions: style
💤 SKIP: FontForge checks.
- com.google.fonts/check/039
- 💤 SKIP Unfulfilled Conditions: fontforge_check_results
💤 SKIP: FontForge validation outputs error messages?
- com.google.fonts/check/038
- 💤 SKIP Unfulfilled Conditions: fontforge_check_results
💤 SKIP: Checking OS/2 usWeightClass.
- com.google.fonts/check/020
- 💤 SKIP Unfulfilled Conditions: expected_os2_weight
💤 SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
- com.google.fonts/check/079
- 💤 SKIP Unfulfilled Conditions: seems_monospaced
💤 SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
- com.google.fonts/check/170
- 💤 SKIP Unfulfilled Conditions: regular_ital_coord
💤 SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
- com.google.fonts/check/168
- 💤 SKIP Unfulfilled Conditions: regular_wdth_coord
💤 SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
- com.google.fonts/check/169
- 💤 SKIP Unfulfilled Conditions: regular_slnt_coord
💤 SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
- com.google.fonts/check/171
- 💤 SKIP Unfulfilled Conditions: regular_opsz_coord
ℹ️ INFO: EPAR table present in font?
- com.google.fonts/check/061
- ℹ️ INFO EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
ℹ️ INFO: Check for font-v versioning
- com.google.fonts/check/166
- ℹ️ INFO Version string is: "Version 2.000" The version string must ideally include a git commit hash and either a 'dev' or a 'release' suffix such as in the example below: "Version 1.3; git-0d08353-release"
ℹ️ INFO: Show hinting filesize impact.
- com.google.fonts/check/054
- ℹ️ INFO Hinting filesize impact:
WorkSans-VF.ttf | |
---|---|
Dehinted Size | 327.7kb |
Hinted Size | 327.0kb |
Increase | -780 bytes |
Change | -0.0 % |
ℹ️ INFO: Font has old ttfautohint applied?
- com.google.fonts/check/056
- ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: [u'Version 2.000']
ℹ️ INFO: Font contains all required tables?
- com.google.fonts/check/052
- ℹ️ INFO This font contains the following optional tables [DSIG, gasp, loca, GSUB, GPOS, prep]
- 🍞 PASS Font contains all required tables.
🍞 PASS: Make sure family name does not begin with a digit.
- com.google.fonts/check/067
- 🍞 PASS Font family name first character is not a digit.
🍞 PASS: Is 'gasp' table set to optimize rendering?
- com.google.fonts/check/062
- 🍞 PASS 'gasp' table is correctly set, with one gaspRange:value of 0xFFFF:0x0F.
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
- com.google.fonts/check/165
- 🍞 PASS Font familyname seems to be unique.
🍞 PASS: Font has all expected currency sign characters?
- com.google.fonts/check/070
- 🍞 PASS Font has all expected currency sign characters.
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
- com.google.fonts/check/074
- 🍞 PASS None of the ASCII-only NAME table entries contain non-ASCII characteres.
🍞 PASS: Length of copyright notice must not exceed 500 characters.
- com.google.fonts/check/164
- 🍞 PASS All copyright notice name entries on the 'name' table are shorter than 500 characters.
🍞 PASS: Checking OS/2 fsType.
- com.google.fonts/check/016
- 🍞 PASS OS/2 fsType is properly set to zero (80's DRM scheme is disabled).
🍞 PASS: Fonts have equal numbers of glyphs?
- com.google.fonts/check/011
- 🍞 PASS All font files in this family have an equal total ammount of glyphs.
🍞 PASS: Fonts have equal glyph names?
- com.google.fonts/check/012
- 🍞 PASS All font files have identical glyph names.
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
- com.google.fonts/check/019
- 🍞 PASS No need to substitute copyright, registered and trademark symbols in name table entries of this font.
🍞 PASS: "License URL matches License text on name table?
- com.google.fonts/check/030
- 🍞 PASS Font has a valid license URL in NAME table.
🍞 PASS: Is font em size (ideally) equal to 1000?
- com.google.fonts/check/116
- 🍞 PASS Font em size is equal to 1000.
🍞 PASS: Version format is correct in 'name' table?
- com.google.fonts/check/055
- 🍞 PASS Version format in NAME table entries is correct.
🍞 PASS: Checking with ftxvalidator.
- com.google.fonts/check/035
- 🍞 PASS ftxvalidator passed this file
🍞 PASS: Font has **proper** whitespace glyph names?
- com.google.fonts/check/048
- 🍞 PASS Font has proper whitespace glyph names.
🍞 PASS: Checking with ots-sanitize.
- com.google.fonts/check/036
- 🍞 PASS ots-sanitize passed this file
🍞 PASS: Font contains the first few mandatory glyphs (.null or NULL, CR and space)?
- com.google.fonts/check/046
- 🍞 PASS Font contains the first few mandatory glyphs (.null or NULL, CR and space).
🍞 PASS: Are there unwanted tables?
- com.google.fonts/check/053
- 🍞 PASS There are no unwanted tables.
🍞 PASS: Font contains glyphs for whitespace characters?
- com.google.fonts/check/047
- 🍞 PASS Font contains glyphs for whitespace characters.
🍞 PASS: Font contains unique glyph names?
- com.google.fonts/check/059
- 🍞 PASS Font contains unique glyph names.
🍞 PASS: Glyph names are all valid?
- com.google.fonts/check/058
- 🍞 PASS Glyph names are all valid.
🍞 PASS: Whitespace glyphs have ink?
- com.google.fonts/check/049
- 🍞 PASS There is no whitespace glyph with ink.
🍞 PASS: Check all glyphs have codepoints assigned.
- com.google.fonts/check/077
- 🍞 PASS All glyphs have a codepoint value assigned.
🍞 PASS: Check glyphs have unique unicode codepoints.
- com.google.fonts/check/076
- 🍞 PASS All glyphs have unique unicode codepoint assignments.
🍞 PASS: Checking font version fields (head and name table).
- com.google.fonts/check/044
- 🍞 PASS All font version fields match.
🍞 PASS: Checking unitsPerEm value is reasonable.
- com.google.fonts/check/043
- 🍞 PASS unitsPerEm value on the 'head' table is reasonable.
🍞 PASS: Checking OS/2 Metrics match hhea Metrics.
- com.google.fonts/check/042
- 🍞 PASS OS/2.sTypoAscender/Descender match hhea.ascent/descent.
🍞 PASS: Checking OS/2 usWinAscent & usWinDescent.
- com.google.fonts/check/040
- 🍞 PASS OS/2 usWinAscent & usWinDescent values look good!
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
- com.google.fonts/check/015
- 🍞 PASS Font has post table version 2.
🍞 PASS: Font follows the family naming recommendations?
- com.google.fonts/check/071
- 🍞 PASS Font follows the family naming recommendations.
🍞 PASS: Does full font name begin with the font family name?
- com.google.fonts/check/068
- 🍞 PASS Full font name begins with the font family name.
🍞 PASS: Combined length of family and style must not exceed 20 characters.
- com.google.fonts/check/163
- 🍞 PASS All name entries are good.
🍞 PASS: Checking correctness of monospaced metadata.
- com.google.fonts/check/033
- 🍞 PASS Font is not monospaced and all related metadata look good. [code: good]
🍞 PASS: Description strings in the name table must not exceed 100 characters.
- com.google.fonts/check/032
- 🍞 PASS Description name records do not exceed 100 characters.
🍞 PASS: Description strings in the name table must not contain copyright info.
- com.google.fonts/check/031
- 🍞 PASS Description strings in the name table do not contain any copyright string.
🍞 PASS: Name table strings must not contain the string 'Reserved Font Name'.
- com.google.fonts/check/152
- 🍞 PASS None of the name table strings contain "Reserved Font Name".
🍞 PASS: Name table entries should not contain line-breaks.
- com.google.fonts/check/057
- 🍞 PASS Name table entries are all single-line (no line-breaks found).
🍞 PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
- com.google.fonts/check/073
- 🍞 PASS MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
🍞 PASS: Checking Vertical Metric Linegaps.
- com.google.fonts/check/041
- 🍞 PASS OS/2 sTypoLineGap and hhea lineGap are both 0.
🍞 PASS: Does the font have a DSIG table?
- com.google.fonts/check/045
- 🍞 PASS Digital Signature (DSIG) exists.
🍞 PASS: Whitespace and non-breaking space have the same width?
- com.google.fonts/check/050
- 🍞 PASS Whitespace and non-breaking space have the same width.
🍞 PASS: Does GPOS table have kerning information?
- com.google.fonts/check/063
- 🍞 PASS GPOS table has got kerning information.
🍞 PASS: Is there a "kern" table declared in the font?
- com.google.fonts/check/066
- 🍞 PASS Font does not declare an optional "kern" table.
🍞 PASS: Is there any unused data at the end of the glyf table?
- com.google.fonts/check/069
- 🍞 PASS There is no unused data at the end of the glyf table.
🍞 PASS: Font enables smart dropout control in "prep" table instructions?
- com.google.fonts/check/072
- 🍞 PASS Program at 'prep' table contains instructions enabling smart dropout control.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
- com.google.fonts/check/172
- 🍞 PASS Bold:wght is 700.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
- com.google.fonts/check/167
- 🍞 PASS Regular:wght is 400.
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?
- com.google.fonts/check/180
- 🍞 PASS 'loca' table matches numGlyphs in 'maxp' table.
Summary
💔 ERROR | 🔥 FAIL | ⚠️ WARN | 💤 SKIP | ℹ️ INFO | 🍞 PASS |
---|---|---|---|---|---|
1 | 3 | 6 | 63 | 5 | 54 |
1% | 2% | 5% | 48% | 4% | 41% |