2019-03-26 11:06:24 +13:00
## Fontbakery report
2019-04-03 09:43:19 +13:00
Fontbakery version: 0.7.1
2019-03-26 11:06:24 +13:00
< details >
< summary > < b > [31] Family checks< / b > < / summary >
< details >
< summary > 🔥 < b > FAIL:< / b > METADATA.pb: According Google Fonts standards, families should have a Regular style.< / summary >
* [com.google.fonts/check/metadata/has_regular ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/has_regular )
* 🔥 **FAIL** This family lacks a Regular (style: normal and weight: 400) as required by Google Fonts standards.
< / details >
< details >
< summary > ℹ < b > INFO:< / b > Do we have the latest version of FontBakery installed?< / summary >
* [com.google.fonts/check/fontbakery_version ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fontbakery_version )
2019-04-03 09:43:19 +13:00
* ℹ **INFO** fontbakery (0.7.1) - Well designed Font QA tool, written in Python 3
INSTALLED: 0.7.1 (latest)
2019-03-26 11:06:24 +13:00
* 🍞 **PASS** Font Bakery is up-to-date
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Does DESCRIPTION file contain broken links?< / summary >
* [com.google.fonts/check/description/broken_links ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/description/broken_links )
* 🍞 **PASS** All links in the DESCRIPTION file look good!
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Is this a proper HTML snippet?< / summary >
* [com.google.fonts/check/description/valid_html ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/description/valid_html )
* 🍞 **PASS** ./DESCRIPTION.en_us.html is a propper HTML file.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > DESCRIPTION.en_us.html must have more than 200 bytes.< / summary >
* [com.google.fonts/check/description/min_length ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/description/min_length )
* 🍞 **PASS** DESCRIPTION.en_us.html is larger than 200 bytes.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > DESCRIPTION.en_us.html must have less than 1000 bytes.< / summary >
* [com.google.fonts/check/description/max_length ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/description/max_length )
* 🍞 **PASS** DESCRIPTION.en_us.html is smaller than 1000 bytes.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check METADATA.pb parse correctly. < / summary >
* [com.google.fonts/check/metadata/parses ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/parses )
* 🍞 **PASS** METADATA.pb parsed successfuly.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Font designer field in METADATA.pb must not be 'unknown'.< / summary >
* [com.google.fonts/check/metadata/unknown_designer ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/unknown_designer )
* 🍞 **PASS** Font designer field is not 'unknown'.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Fonts have equal glyph names?< / summary >
* [com.google.fonts/check/family/equal_glyph_names ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/equal_glyph_names )
* 🍞 **PASS** All font files have identical glyph names.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check font has a license.< / summary >
* [com.google.fonts/check/family/has_license ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/has_license )
* 🍞 **PASS** Found license at './OFL.txt'
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb: check if fonts field only has unique "full_name" values.< / summary >
* [com.google.fonts/check/metadata/unique_full_name_values ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/unique_full_name_values )
* 🍞 **PASS** METADATA.pb "fonts" field only has unique "full_name" values.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb: check if fonts field only contains unique style:weight pairs.< / summary >
* [com.google.fonts/check/metadata/unique_weight_style_pairs ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/unique_weight_style_pairs )
* 🍞 **PASS** METADATA.pb "fonts" field only has unique style:weight pairs.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb license is "APACHE2", "UFL" or "OFL"?< / summary >
* [com.google.fonts/check/metadata/license ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/license )
* 🍞 **PASS** Font license is declared in METADATA.pb as "OFL"
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb should contain at least "menu" and "latin" subsets.< / summary >
* [com.google.fonts/check/metadata/menu_and_latin ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/menu_and_latin )
* 🍞 **PASS** METADATA.pb contains "menu" and "latin" subsets.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb subsets should be alphabetically ordered.< / summary >
* [com.google.fonts/check/metadata/subsets_order ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/subsets_order )
* 🍞 **PASS** METADATA.pb subsets are sorted in alphabetical order.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb: Copyright notice is the same in all fonts?< / summary >
* [com.google.fonts/check/metadata/copyright ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/copyright )
* 🍞 **PASS** Copyright is consistent across family
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check that METADATA.pb family values are all the same.< / summary >
* [com.google.fonts/check/metadata/familyname ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/familyname )
* 🍞 **PASS** METADATA.pb: Family name is the same in all metadata "fonts" items.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > All tabular figures must have the same width across the RIBBI-family.< / summary >
* [com.google.fonts/check/family/tnum_horizontal_metrics ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/tnum_horizontal_metrics )
* 🍞 **PASS** OK
< / details >
< details >
2019-04-03 09:43:19 +13:00
< summary > 🍞 < b > PASS:< / b > Does font file include unacceptable control character glyphs?< / summary >
2019-03-26 11:06:24 +13:00
2019-04-03 09:43:19 +13:00
* [com.google.fonts/check/family/control_chars ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/control_chars )
* 🍞 **PASS** Unacceptable control characters were not identified.
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking all files are in the same directory.< / summary >
* [com.google.fonts/check/family/single_directory ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/single_directory )
* 🍞 **PASS** All files are in the same directory.
< / details >
< details >
< summary > 🍞 < b > PASS:</ b > Is the command `ftxvalidator` (Apple Font Tool Suite) available?</ summary >
* [com.google.fonts/check/ftxvalidator_is_available ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ftxvalidator_is_available )
* 🍞 **PASS** ftxvalidator is available.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Fonts have equal unicode encodings?< / summary >
* [com.google.fonts/check/family/equal_unicode_encodings ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/equal_unicode_encodings )
* 🍞 **PASS** Fonts have equal unicode encodings.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Make sure all font files have the same version value.< / summary >
* [com.google.fonts/check/family/equal_font_versions ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/equal_font_versions )
* 🍞 **PASS** All font files have the same version.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Fonts have consistent PANOSE proportion?< / summary >
* [com.google.fonts/check/family/panose_proportion ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/panose_proportion )
* 🍞 **PASS** Fonts have consistent PANOSE proportion.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Fonts have consistent PANOSE family type?< / summary >
* [com.google.fonts/check/family/panose_familytype ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/panose_familytype )
* 🍞 **PASS** Fonts have consistent PANOSE family type.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check that OS/2.fsSelection bold & italic settings are unique for each NameID1< / summary >
* [com.adobe.fonts/check/family/bold_italic_unique_for_nameid1 ](https://github.com/googlefonts/fontbakery/search?q=com.adobe.fonts/check/family/bold_italic_unique_for_nameid1 )
* 🍞 **PASS** The OS/2.fsSelection bold & italic settings were unique within each compatible family group.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Fonts have consistent underline thickness?< / summary >
* [com.google.fonts/check/family/underline_thickness ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/underline_thickness )
* 🍞 **PASS** Fonts have consistent underline thickness.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Verify that each group of fonts with the same nameID 1 has maximum of 4 fonts< / summary >
* [com.adobe.fonts/check/family/max_4_fonts_per_family_name ](https://github.com/googlefonts/fontbakery/search?q=com.adobe.fonts/check/family/max_4_fonts_per_family_name )
* 🍞 **PASS** There were no more than 4 fonts per family name.
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > Fonts have equal numbers of glyphs?< / summary >
* [com.google.fonts/check/family/equal_numbers_of_glyphs ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/equal_numbers_of_glyphs )
* 💤 **SKIP** Unfulfilled Conditions: stylenames_are_canonical
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > METADATA.pb: Regular should be 400.< / summary >
* [com.google.fonts/check/metadata/regular_is_400 ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/regular_is_400 )
* 💤 **SKIP** Unfulfilled Conditions: has_regular_style
< / details >
< details >
< summary > ⚠ < b > WARN:< / b > METADATA.pb: Fontfamily is listed on Google Fonts API?< / summary >
* [com.google.fonts/check/metadata/listed_on_gfonts ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/listed_on_gfonts )
* ⚠ **WARN** Family not found via Google Fonts API.
< / details >
< br >
< / details >
< details >
2019-04-03 09:43:19 +13:00
< summary > < b > [122] FiraCode-Light.ttf< / b > < / summary >
2019-03-26 11:06:24 +13:00
< details >
< summary > 🔥 < b > FAIL:< / b > Checking file is named canonically.< / summary >
* [com.google.fonts/check/canonical_filename ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/canonical_filename )
* 🔥 **FAIL** This is a variable font, but it is using a naming scheme typical of a static font.
* 🔥 **FAIL** Please change the font filename to use one of the following valid suffixes for variable fonts: VF, Italic-VF, Roman-VF
< / details >
< details >
< summary > 🔥 < b > FAIL:< / b > Copyright notices match canonical pattern in METADATA.pb< / summary >
* [com.google.fonts/check/metadata/valid_copyright ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/valid_copyright )
* 🔥 **FAIL** METADATA.pb: Copyright notices should match a pattern similar to: 'Copyright 2017 The Familyname Project Authors (git url)'
2019-03-27 05:52:01 +13:00
But instead we have got: 'Copyright 2012-2015 The Mozilla Foundation, Telefonica S.A., and Nikita Prokopov (https://github.com/tonsky/FiraCode)'
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > 🔥 < b > FAIL:< / b > Copyright notices match canonical pattern in fonts< / summary >
* [com.google.fonts/check/font_copyright ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/font_copyright )
* 🔥 **FAIL** Name Table entry: Copyright notices should match a pattern similar to: 'Copyright 2017 The Familyname Project Authors (git url)'
2019-03-27 05:52:01 +13:00
But instead we have got: 'Copyright 2012-2015 The Mozilla Foundation, Telefonica S.A., and Nikita Prokopov (https://github.com/tonsky/FiraCode)'
2019-03-26 11:06:24 +13:00
< / details >
< details >
2019-03-27 09:04:28 +13:00
< summary > 🔥 < b > FAIL:< / b > Variable font weight coordinates must be multiples of 100.< / summary >
2019-03-26 11:06:24 +13:00
2019-03-27 09:04:28 +13:00
* [com.google.fonts/check/varfont_weight_instances ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont_weight_instances )
2019-03-28 02:14:05 +13:00
* 🔥 **FAIL** Found an variable font instance with 'wght'=391.66667. This should instead be a multiple of 100.
* 🔥 **FAIL** Found an variable font instance with 'wght'=441.66667. This should instead be a multiple of 100.
* 🔥 **FAIL** Found an variable font instance with 'wght'=508.33333. This should instead be a multiple of 100.
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > 🔥 < b > FAIL:< / b > Glyph names are all valid?< / summary >
* [com.google.fonts/check/valid_glyphnames ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/valid_glyphnames )
* 🔥 **FAIL** The following glyph names do not comply with naming conventions: ['numbersign_numbersign_numbersign.liga', 'numbersign_numbersign_numbersign_numbersign.liga', 'numbersign_underscore_parenleft.liga', 'backslash_backslash_backslash.rem', 'numbersign_numbersign_numbersign.liga.rem', 'numbersign_numbersign_numbersign_numbersign.liga.rem', 'semicolon_semicolon_semicolon.rem', 'quadrantUpperLeftAndLowerLeftAndLowerRight', 'quadrantUpperLeftAndUpperRightAndLowerLeft', 'quadrantUpperLeftAndUpperRightAndLowerRight', 'quadrantUpperRightAndLowerLeftAndLowerRight', 'whiteSquareWithUpperLeftQuadrant', 'whiteSquareWithLowerLeftQuadrant', 'whiteSquareWithLowerRightQuadrant', 'whiteSquareWithUpperRightQuadrant', 'asciitilde_asciitilde_greater.liga', 'ampersand_ampersand_ampersand.rem', 'asciitilde_asciitilde_asciitilde.rem'] A glyph name may be up to 31 characters in length, must be entirely comprised of characters from the following set: A-Z a-z 0-9 .(period) _(underscore). and must not start with a digit or period. There are a few exceptions such as the special character ".notdef". The glyph names "twocents", "a1", and "_ " are all valid, while "2cents" and ".twocents" are not.
2019-03-28 02:14:05 +13:00
< / details >
< details >
< summary > 🔥 < b > FAIL:< / b > The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.< / summary >
* [com.google.fonts/check/varfont/regular_wght_coord ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/regular_wght_coord )
* 🔥 **FAIL** The 'wght' axis coordinate of the 'Regular' instance must be 400. Got a '391.66667' coordinate instead.
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > ⚠ < b > WARN:< / b > Checking OS/2 achVendID.< / summary >
* [com.google.fonts/check/vendor_id ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/vendor_id )
* ⚠ **WARN** OS/2 VendorID value 'CTDB' 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]
< / details >
< details >
2019-04-03 09:43:19 +13:00
< summary > ⚠ < b > WARN:< / b > Combined length of family and style must not exceed 20 characters.< / summary >
2019-03-26 11:06:24 +13:00
2019-04-03 09:43:19 +13:00
* [com.google.fonts/check/name/family_and_style_max_length ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/family_and_style_max_length )
* ⚠ **WARN** The combined length of family and style exceeds 20 chars in the following 'WINDOWS' entries: FONT_FAMILY_NAME = 'Fira Code Light' / SUBFAMILY_NAME = 'Regular'
2019-03-26 11:06:24 +13:00
< / details >
< details >
2019-04-03 09:43:19 +13:00
< summary > ⚠ < b > WARN:< / b > Checking correctness of monospaced metadata.< / summary >
2019-03-26 11:06:24 +13:00
2019-04-03 09:43:19 +13:00
* [com.google.fonts/check/monospace ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/monospace )
* ⚠ **WARN** Font is monospaced but 26 glyphs (1.5330188679245282%) have a different width. You should check the widths of: ['uni200B', 'uniFEFF', 'uni0308', 'uni0307', 'gravecomb', 'acutecomb', 'uni030B', 'uni0302', 'uni030C', 'uni0306', 'uni030A', 'tildecomb', 'uni0304', 'uni0305', 'uni030F', 'uni0313', 'uni0314', 'uni0326', 'uni0327', 'uni0342', 'uni0345', 'null', '_part.numbersign', 'uniE000', 'uniE001', 'uniE002'] [code: mono-outliers]
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > ⚠ < b > WARN:< / b > Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?< / summary >
* [com.google.fonts/check/monospace_max_advancewidth ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/monospace_max_advancewidth )
* ⚠ **WARN** This seems to be a monospaced font, so advanceWidth value should be the same across all glyphs, but 99.88% of them have a different value: A, Aacute, Abreve, Acircumflex, Adieresis, Agrave, Amacron, Aogonek, Aring, Atilde, AE, AEacute, B, C, Cacute, Ccaron, Ccedilla, Ccircumflex, Cdotaccent, D, Eth, Dcaron, Dcroat, E, Eacute, Ebreve, Ecaron, Ecircumflex, Edieresis, Edotaccent, Egrave, Emacron, Eogonek, F, G, Gbreve, Gcircumflex, uni0122, Gdotaccent, H, Hbar, Hcircumflex, I, IJ, Iacute, Ibreve, Icircumflex, Idieresis, Idotaccent, Igrave, Imacron, Iogonek, Itilde, J, Jcircumflex, K, uni0136, L, Lacute, Lcaron, uni013B, Ldot, Lslash, M, N, Nacute, Ncaron, uni0145, Eng, Ntilde, O, Oacute, Obreve, Ocircumflex, Odieresis, Ograve, Ohungarumlaut, Omacron, Oslash, Oslashacute, Otilde, OE, P, Thorn, Q, R, Racute, Rcaron, uni0156, S, Sacute, Scaron, Scedilla, Scircumflex, uni0218, T, Tbar, Tcaron, uni0162, uni021A, U, Uacute, Ubreve, Ucircumflex, Udieresis, Ugrave, Uhungarumlaut, Umacron, Uogonek, Uring, Utilde, V, W, Wacute, Wcircumflex, Wdieresis, Wgrave, X, Y, Yacute, Ycircumflex, Ydieresis, Ygrave, Z, Zacute, Zcaron, Zdotaccent, Cacute.loclPLK, Nacute.loclPLK, Oacute.loclPLK, Sacute.loclPLK, Zacute.loclPLK, a, aacute, abreve, acircumflex, adieresis, agrave, amacron, aogonek, aring, atilde, ae, aeacute, b, c, cacute, ccaron, ccedilla, ccircumflex, cdotaccent, d, eth, dcaron, dcroat, e, eacute, ebreve, ecaron, ecircumflex, edieresis, edotaccent, egrave, emacron, eogonek, f, g, gbreve, gcircumflex, uni0123, gdotaccent, h, hbar, hcircumflex, i, dotlessi, iacute, ibreve, icircumflex, idieresis, i.loclTRK, igrave, ij, imacron, iogonek, itilde, j, uni0237, jcircumflex, k, uni0137, kgreenlandic, l, lacute, lcaron, uni013C, ldot, lslash, m, n, nacute, napostrophe, ncaron, uni0146, eng, ntilde, o, oacute, obreve, ocircumflex, odieresis, ograve, ohungarumlaut, omacron, oslash, oslashacute, otilde, oe, p, thorn, q, r, racute, rcaron, uni0157, s, sacute, scaron, scedilla, scircumflex, uni0219, germandbls, t, tbar, tcaron, uni0163, uni021B, u, uacute, ubreve, ucircumflex, udieresis, ugrave, uhungarumlaut, umacron, uogonek, uring, utilde, v, w, wacute, wcircumflex, wdieresis, wgrave, x, y, yacute, ycircumflex, ydieresis, ygrave, z, zacute, zcaron, zdotaccent, cacute.loclPLK, nacute.loclPLK, oacute.loclPLK, sacute.loclPLK, zacute.loclPLK, x.multiply, r.001, w_w_w.liga, fi, fl, ordfeminine, ordmasculine, uni207F, uni052C, uni052A, uni052E, uni0528, uni0410, uni0411, uni0412, uni0413, uni0403, uni0490, uni0414, uni0415, uni0400, uni0401, uni0416, uni0417, uni0418, uni0419, uni040D, uni048A, uni041A, uni040C, uni041B, uni041C, uni041D, uni041E, uni041F, uni0420, uni0421, uni0422, uni0423, uni040E, uni0424, uni0425, uni0427, uni0426, uni0428, uni0429, uni040F, uni042C, uni042A, uni042B, uni0409, uni040A, uni0405, uni0404, uni042D, uni0406, uni0407, uni0408, uni040B, uni042E, uni042F, uni0402, uni0460, uni0462, uni0464, uni0466, uni0468, uni046A, uni046C, uni046E, uni0470, uni0472, uni0474, uni0476, uni0478, uni0492, uni0494, uni0496, uni0498, uni049A, uni049C, uni049E, uni04A0, uni04A2, uni04A4, uni04A6, uni0524, uni04A8, uni04AA, uni04AC, Ustraitcy, Ustraitstrokecy, uni04B2, uni04B4, uni04B6, uni04B8, uni04BA, uni0526, uni04BC, uni04BE, uni04C0, uni04C1, uni04C3, uni04C5, uni04C7, uni04C9, uni04CB, uni04CD, uni04D0, uni04D2, uni04D4, uni04D6, uni04D8, uni04DA, uni04DC, uni04DE, uni04E0, uni04E2, uni04E4, uni04E6, uni04E8, uni04EA, uni04EC, uni04EE, uni04F0, uni04F2, uni04F4, uni04F6, uni04F8, uni04FA, uni04FC, uni04FE, uni0500, uni0502, uni0504, uni0506, uni0508, uni050A, uni050C, uni050E, uni0510, uni0512, uni0514, uni0516, uni0518, uni051A, uni051C, uni051E, uni0520, uni0522, uni048C, uni048E, uni0430, uni0431, uni0432, uni0433, uni0453, uni0491, uni0434, uni0435, uni0450, uni0451, uni0436, uni0437, uni0438, uni0439, uni045D, uni048B, uni043A, uni045C, uni043B, uni043C, uni043D, uni043E, uni043F, uni0440, uni0441, uni0442, uni0443, uni045E, uni0444, uni0445, uni0447, uni0446, uni0448, uni0449, uni045F, uni044C, uni044A, uni044B,
* ⚠ **WARN** Double-width and/or zero-width glyphs were detected. These glyphs should be set to the same width as all others and then add GPOS single pos lookups that zeros/doubles the widths as needed: uni200B, uniFEFF, uni0308, uni0307, gravecomb, acutecomb, uni030B, uni0302, uni030C, uni0306, uni030A, tildecomb, uni0304, uni0305, uni030F, uni0313, uni0314, uni0326, uni0327, uni0342, uni0345, null, uniE000, uniE001, uniE002 [code: variable-monospaced]
< / details >
< details >
< summary > ⚠ < b > WARN:< / b > Does GPOS table have kerning information?< / summary >
* [com.google.fonts/check/gpos_kerning_info ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/gpos_kerning_info )
* ⚠ **WARN** GPOS table lacks kerning information.
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > Font has ttfautohint params? < / summary >
* [com.google.fonts/check/has_ttfautohint_params ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/has_ttfautohint_params )
* 💤 **SKIP** Font appears to our heuristic as not hinted using ttfautohint.
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > METADATA.pb font.filename and font.post_script_name fields have equivalent values?< / summary >
* [com.google.fonts/check/metadata/match_filename_postscript ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/match_filename_postscript )
* 💤 **SKIP** Unfulfilled Conditions: not is_variable_font
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > METADATA.pb font.style "italic" matches font internals?< / summary >
* [com.google.fonts/check/metadata/italic_style ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/italic_style )
* 💤 **SKIP** This check only applies to italic fonts.
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > Version number has increased since previous release on Google Fonts?< / summary >
* [com.google.fonts/check/version_bump ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/version_bump )
* 💤 **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > Glyphs are similiar to Google Fonts version?< / summary >
* [com.google.fonts/check/production_glyphs_similarity ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/production_glyphs_similarity )
* 💤 **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > Check if each glyph has the recommended amount of contours.< / summary >
* [com.google.fonts/check/contour_count ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/contour_count )
* 💤 **SKIP** Unfulfilled Conditions: not is_variable_font
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > Check font has same encoded glyphs as version hosted on fonts.google.com< / summary >
* [com.google.fonts/check/production_encoded_glyphs ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/production_encoded_glyphs )
* 💤 **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > PPEM must be an integer on hinted fonts.< / summary >
* [com.google.fonts/check/integer_ppem_if_hinted ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/integer_ppem_if_hinted )
* 💤 **SKIP** Unfulfilled Conditions: is_hinted
2019-04-03 09:43:19 +13:00
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > Are there caret positions declared for every ligature?< / summary >
* [com.google.fonts/check/ligature_carets ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ligature_carets )
* 💤 **SKIP** Unfulfilled Conditions: ligature_glyphs
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > Is there kerning info for non-ligated sequences?< / summary >
* [com.google.fonts/check/kerning_for_non_ligated_sequences ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/kerning_for_non_ligated_sequences )
* 💤 **SKIP** Unfulfilled Conditions: ligatures, has_kerning_info
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > FontForge validation outputs error messages?< / summary >
* [com.google.fonts/check/fontforge_stderr ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fontforge_stderr )
* 💤 **SKIP** Unfulfilled Conditions: fontforge_check_results
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > FontForge checks.< / summary >
* [com.google.fonts/check/fontforge ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fontforge )
* 💤 **SKIP** Unfulfilled Conditions: fontforge_check_results
< / details >
< details >
2019-04-03 09:43:19 +13:00
< summary > 💤 < b > SKIP:< / b > Is the CFF subr/gsubr call depth > 10?< / summary >
2019-03-26 11:06:24 +13:00
2019-04-03 09:43:19 +13:00
* [com.adobe.fonts/check/cff_call_depth ](https://github.com/googlefonts/fontbakery/search?q=com.adobe.fonts/check/cff_call_depth )
2019-03-26 11:06:24 +13:00
* 💤 **SKIP** Unfulfilled Conditions: is_cff
< / details >
< details >
2019-04-03 09:43:19 +13:00
< summary > 💤 < b > SKIP:< / b > Is the CFF2 subr/gsubr call depth > 10?< / summary >
2019-03-26 11:06:24 +13:00
2019-04-03 09:43:19 +13:00
* [com.adobe.fonts/check/cff2_call_depth ](https://github.com/googlefonts/fontbakery/search?q=com.adobe.fonts/check/cff2_call_depth )
* 💤 **SKIP** Unfulfilled Conditions: is_cff2
2019-03-26 11:06:24 +13:00
< / details >
< details >
2019-04-03 09:43:19 +13:00
< summary > 💤 < b > SKIP:< / b > CFF table FontName must match name table ID 6 (PostScript name).< / summary >
2019-03-26 11:06:24 +13:00
2019-04-03 09:43:19 +13:00
* [com.adobe.fonts/check/name/postscript_vs_cff ](https://github.com/googlefonts/fontbakery/search?q=com.adobe.fonts/check/name/postscript_vs_cff )
* 💤 **SKIP** Unfulfilled Conditions: is_cff
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.< / summary >
* [com.google.fonts/check/varfont/regular_wdth_coord ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/regular_wdth_coord )
* 💤 **SKIP** Unfulfilled Conditions: regular_wdth_coord
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.< / summary >
* [com.google.fonts/check/varfont/regular_slnt_coord ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/regular_slnt_coord )
* 💤 **SKIP** Unfulfilled Conditions: regular_slnt_coord
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.< / summary >
* [com.google.fonts/check/varfont/regular_ital_coord ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/regular_ital_coord )
* 💤 **SKIP** Unfulfilled Conditions: regular_ital_coord
< / details >
< details >
< summary > 💤 < b > SKIP:< / b > The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.< / summary >
* [com.google.fonts/check/varfont/regular_opsz_coord ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/regular_opsz_coord )
* 💤 **SKIP** Unfulfilled Conditions: regular_opsz_coord
< / details >
< details >
< summary > ℹ < b > INFO:< / b > Show hinting filesize impact.< / summary >
* [com.google.fonts/check/hinting_impact ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/hinting_impact )
* ℹ **INFO** Hinting filesize impact:
| | FiraCode-Light.ttf |
|:--- | ---:|
2019-03-28 02:14:05 +13:00
| Dehinted Size | 238.0kb |
2019-03-27 05:52:01 +13:00
| Hinted Size | 236.1kb |
2019-03-27 09:04:28 +13:00
| Increase | -1992 bytes |
2019-03-26 11:06:24 +13:00
| Change | -0.8 % |
< / details >
< details >
< summary > ℹ < b > INFO:< / b > Font has old ttfautohint applied?< / summary >
* [com.google.fonts/check/old_ttfautohint ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/old_ttfautohint )
* ℹ **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.207']
< / details >
< details >
< summary > ℹ < b > INFO:< / b > EPAR table present in font?< / summary >
* [com.google.fonts/check/epar ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/epar )
* ℹ **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
< / details >
< details >
< summary > ℹ < b > INFO:< / b > Is 'gasp' table set to optimize rendering?< / summary >
* [com.google.fonts/check/gasp ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/gasp )
* ℹ **INFO** These are the ppm ranges declared on the gasp table:
PPM < = 65535:
flag = 0x0F
- Use gridfitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
* 🍞 **PASS** 'gasp' table is correctly set, with one gaspRange:value of 0xFFFF:0x0F.
< / details >
< details >
< summary > ℹ < b > INFO:< / b > Check for font-v versioning < / summary >
* [com.google.fonts/check/fontv ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fontv )
* ℹ **INFO** Version string is: "Version 1.207"
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"
< / details >
< details >
< summary > ℹ < b > INFO:< / b > Font contains all required tables?< / summary >
* [com.google.fonts/check/required_tables ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/required_tables )
2019-04-03 09:43:19 +13:00
* ℹ **INFO** This font contains the following optional tables [GSUB, gasp, DSIG, loca, prep, GPOS]
2019-03-26 11:06:24 +13:00
* 🍞 **PASS** Font contains all required tables.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking OS/2 fsType.< / summary >
* [com.google.fonts/check/fstype ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fstype )
* 🍞 **PASS** OS/2 fsType is properly set to zero.
2019-03-27 05:52:01 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Substitute copyright, registered and trademark symbols in name table entries.< / summary >
* [com.google.fonts/check/name/unwanted_chars ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/unwanted_chars )
* 🍞 **PASS** No need to substitute copyright, registered and trademark symbols in name table entries of this font.
2019-03-28 02:14:05 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking OS/2 usWeightClass.< / summary >
* [com.google.fonts/check/usweightclass ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/usweightclass )
* 🍞 **PASS** OS/2 usWeightClass value looks good!
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check copyright namerecords match license file.< / summary >
* [com.google.fonts/check/name/license ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/license )
* 🍞 **PASS** Licensing entry on name table is correctly set.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > "License URL matches License text on name table?< / summary >
* [com.google.fonts/check/name/license_url ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/license_url )
* 🍞 **PASS** Font has a valid license URL in NAME table.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Description strings in the name table must not exceed 200 characters.< / summary >
* [com.google.fonts/check/name/description_max_length ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/description_max_length )
* 🍞 **PASS** All description name records have reasonably small lengths.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Version format is correct in 'name' table?< / summary >
* [com.google.fonts/check/name/version_format ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/version_format )
* 🍞 **PASS** Version format in NAME table entries is correct.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Make sure family name does not begin with a digit.< / summary >
* [com.google.fonts/check/name/familyname_first_char ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/familyname_first_char )
* 🍞 **PASS** Font family name first character is not a digit.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Font has all expected currency sign characters?< / summary >
* [com.google.fonts/check/currency_chars ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/currency_chars )
* 🍞 **PASS** Font has all expected currency sign characters.
2019-03-27 05:52:01 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Are there non-ASCII characters in ASCII-only NAME table entries?< / summary >
* [com.google.fonts/check/name/ascii_only_entries ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/ascii_only_entries )
* 🍞 **PASS** None of the ASCII-only NAME table entries contain non-ASCII characteres.
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checks METADATA.pb font.name field matches family name declared on the name table.< / summary >
* [com.google.fonts/check/metadata/nameid/family_name ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/nameid/family_name )
* 🍞 **PASS** Family name "Fira Code" is identical in METADATA.pb and on the TTF file.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.< / summary >
* [com.google.fonts/check/metadata/nameid/post_script_name ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/nameid/post_script_name )
* 🍞 **PASS** Postscript name "FiraCode-Light" is identical in METADATA.pb and on the TTF file.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb font.full_name value matches fullname declared on the name table?< / summary >
* [com.google.fonts/check/metadata/nameid/full_name ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/nameid/full_name )
* 🍞 **PASS** Font fullname "Fira Code Light" is identical in METADATA.pb and on the TTF file.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb font.name value should be same as the family name declared on the name table.< / summary >
* [com.google.fonts/check/metadata/nameid/font_name ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/nameid/font_name )
* 🍞 **PASS** OK: Family name "Fira Code" is identical in METADATA.pb and on the TTF file.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?< / summary >
* [com.google.fonts/check/metadata/match_fullname_postscript ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/match_fullname_postscript )
* 🍞 **PASS** METADATA.pb font fields "full_name" and "post_script_name" have equivalent values.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb font.name field contains font name in right format?< / summary >
* [com.google.fonts/check/metadata/valid_name_values ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/valid_name_values )
* 🍞 **PASS** METADATA.pb font.name field contains font name in right format.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb font.full_name field contains font name in right format?< / summary >
* [com.google.fonts/check/metadata/valid_full_name_values ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/valid_full_name_values )
* 🍞 **PASS** METADATA.pb font.full_name field contains font name in right format. ('Fira Code' in 'Fira Code Light')
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb font.filename field contains font name in right format?< / summary >
* [com.google.fonts/check/metadata/valid_filename_values ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/valid_filename_values )
* 🍞 **PASS** METADATA.pb filename field contains font name in right format.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb font.post_script_name field contains font name in right format?< / summary >
* [com.google.fonts/check/metadata/valid_post_script_name_values ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/valid_post_script_name_values )
* 🍞 **PASS** METADATA.pb postScriptName field contains font name in right format.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Copyright notice on METADATA.pb should not contain 'Reserved Font Name'.< / summary >
* [com.google.fonts/check/metadata/reserved_font_name ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/reserved_font_name )
* 🍞 **PASS** METADATA.pb copyright field does not contain "Reserved Font Name".
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb: Copyright notice shouldn't exceed 500 chars.< / summary >
* [com.google.fonts/check/metadata/copyright_max_length ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/copyright_max_length )
* 🍞 **PASS** Copyright notice string is shorter than 500 chars.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb: Filename is set canonically?< / summary >
* [com.google.fonts/check/metadata/canonical_filename ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/canonical_filename )
* 🍞 **PASS** Filename in METADATA.pb is set canonically.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb font.style "normal" matches font internals?< / summary >
* [com.google.fonts/check/metadata/normal_style ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/normal_style )
* 🍞 **PASS** METADATA.pb font.style "normal" matches font internals.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb font.name and font.full_name fields match the values declared on the name table?< / summary >
* [com.google.fonts/check/metadata/nameid/family_and_full_names ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/nameid/family_and_full_names )
* 🍞 **PASS** METADATA.pb familyname and fullName fields match corresponding name table entries.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb: Check if fontname is not camel cased.< / summary >
* [com.google.fonts/check/metadata/fontname_not_camel_cased ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/fontname_not_camel_cased )
* 🍞 **PASS** Font name is not camel-cased.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb: Check font name is the same as family name.< / summary >
* [com.google.fonts/check/metadata/match_name_familyname ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/match_name_familyname )
* 🍞 **PASS** Font name is the same as family name.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb: Check that font weight has a canonical value.< / summary >
* [com.google.fonts/check/metadata/canonical_weight_value ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/canonical_weight_value )
* 🍞 **PASS** Font weight has a canonical value.
2019-03-28 02:14:05 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking OS/2 usWeightClass matches weight specified at METADATA.pb.< / summary >
* [com.google.fonts/check/metadata/os2_weightclass ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/os2_weightclass )
* 🍞 **PASS** OS/2 usWeightClass matches weight specified at METADATA.pb
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb weight matches postScriptName.< / summary >
* [com.google.fonts/check/metadata/match_weight_postscript ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/match_weight_postscript )
* 🍞 **PASS** Weight value matches postScriptName.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > METADATA.pb: Font styles are named canonically?< / summary >
* [com.google.fonts/check/metatada/canonical_style_names ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metatada/canonical_style_names )
* 🍞 **PASS** Font styles are named canonically.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Stricter unitsPerEm criteria for Google Fonts. < / summary >
* [com.google.fonts/check/unitsperem_strict ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/unitsperem_strict )
* 🍞 **PASS** Font em size is good (unitsPerEm = 2000).
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking OS/2 fsSelection value.< / summary >
* [com.google.fonts/check/fsselection ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fsselection )
* 🍞 **PASS** OS/2 fsSelection REGULAR bit is properly set.
* 🍞 **PASS** OS/2 fsSelection ITALIC bit is properly set.
* 🍞 **PASS** OS/2 fsSelection BOLD bit is properly set.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking post.italicAngle value.< / summary >
* [com.google.fonts/check/italic_angle ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/italic_angle )
* 🍞 **PASS** Value of post.italicAngle is 0.0 with style='Light'.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking head.macStyle value.< / summary >
* [com.google.fonts/check/mac_style ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/mac_style )
* 🍞 **PASS** head macStyle ITALIC bit is properly set.
* 🍞 **PASS** head macStyle BOLD bit is properly set.
2019-03-27 05:52:01 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?< / summary >
* [com.google.fonts/check/metadata/nameid/copyright ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/nameid/copyright )
* 🍞 **PASS** Copyright field for this font on METADATA.pb matches copyright notice entries on the name table.
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Font has all mandatory 'name' table entries ?< / summary >
* [com.google.fonts/check/name/mandatory_entries ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/mandatory_entries )
* 🍞 **PASS** Font contains values for all mandatory name table entries.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check name table: FONT_FAMILY_NAME entries. < / summary >
* [com.google.fonts/check/name/familyname ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/familyname )
* 🍞 **PASS** FONT_FAMILY_NAME entries are all good.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check name table: FONT_SUBFAMILY_NAME entries. < / summary >
* [com.google.fonts/check/name/subfamilyname ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/subfamilyname )
* 🍞 **PASS** FONT_SUBFAMILY_NAME entries are all good.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check name table: FULL_FONT_NAME entries. < / summary >
* [com.google.fonts/check/name/fullfontname ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/fullfontname )
* 🍞 **PASS** FULL_FONT_NAME entries are all good.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check name table: POSTSCRIPT_NAME entries. < / summary >
* [com.google.fonts/check/name/postscriptname ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/postscriptname )
* 🍞 **PASS** POSTCRIPT_NAME entries are all good.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check name table: TYPOGRAPHIC_FAMILY_NAME entries. < / summary >
* [com.google.fonts/check/name/typographicfamilyname ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/typographicfamilyname )
* 🍞 **PASS** TYPOGRAPHIC_FAMILY_NAME entries are all good.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries. < / summary >
* [com.google.fonts/check/name/typographicsubfamilyname ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/typographicsubfamilyname )
* 🍞 **PASS** TYPOGRAPHIC_SUBFAMILY_NAME entries are all good.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Length of copyright notice must not exceed 500 characters. < / summary >
* [com.google.fonts/check/name/copyright_length ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/copyright_length )
* 🍞 **PASS** All copyright notice name entries on the 'name' table are shorter than 500 characters.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Familyname must be unique according to namecheck.fontdata.com < / summary >
* [com.google.fonts/check/fontdata_namecheck ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fontdata_namecheck )
* 🍞 **PASS** Font familyname seems to be unique.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check a static ttf can be generated from a variable font. < / summary >
* [com.google.fonts/check/varfont/generate_static ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/generate_static )
* 🍞 **PASS** fontTools.varLib.mutator generated a static font instance
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check that variable fonts have an HVAR table. < / summary >
* [com.google.fonts/check/varfont/has_HVAR ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/has_HVAR )
* 🍞 **PASS** This variable font contains an HVAR table.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Font enables smart dropout control in "prep" table instructions?< / summary >
* [com.google.fonts/check/smart_dropout ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/smart_dropout )
* 🍞 **PASS** 'prep' table contains instructions enabling smart dropout control.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > There must not be VTT Talk sources in the font.< / summary >
* [com.google.fonts/check/vttclean ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/vttclean )
* 🍞 **PASS** There are no tables with VTT Talk sources embedded in the font.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Are there unwanted Apple tables?< / summary >
* [com.google.fonts/check/aat ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/aat )
* 🍞 **PASS** There are no unwanted AAT tables.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > All name entries referenced by fvar instances exist on the name table?< / summary >
* [com.google.fonts/check/fvar_name_entries ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/fvar_name_entries )
* 🍞 **PASS** OK
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > A variable font must have named instances.< / summary >
* [com.google.fonts/check/varfont_has_instances ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont_has_instances )
* 🍞 **PASS** OK
2019-04-03 09:43:19 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Name table records must not have trailing spaces.< / summary >
* [com.google.fonts/check/name/trailing_spaces ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/trailing_spaces )
* 🍞 **PASS** No trailing spaces on name table entries.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking OS/2 usWinAscent & usWinDescent.< / summary >
* [com.google.fonts/check/family/win_ascent_and_descent ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/win_ascent_and_descent )
* 🍞 **PASS** OS/2 usWinAscent & usWinDescent values look good!
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking OS/2 Metrics match hhea Metrics.< / summary >
* [com.google.fonts/check/os2_metrics_match_hhea ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/os2_metrics_match_hhea )
* 🍞 **PASS** OS/2.sTypoAscender/Descender values match hhea.ascent/descent.
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking with ftxvalidator.< / summary >
* [com.google.fonts/check/ftxvalidator ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ftxvalidator )
* 🍞 **PASS** ftxvalidator passed this file
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking with ots-sanitize.< / summary >
* [com.google.fonts/check/ots ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ots )
* 🍞 **PASS** ots-sanitize passed this file
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Font contains .notdef as first glyph?< / summary >
* [com.google.fonts/check/mandatory_glyphs ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/mandatory_glyphs )
* 🍞 **PASS** Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Font contains glyphs for whitespace characters?< / summary >
* [com.google.fonts/check/whitespace_glyphs ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/whitespace_glyphs )
* 🍞 **PASS** Font contains glyphs for whitespace characters.
< / details >
< details >
< summary > 🍞 < b > PASS:</ b > Font has **proper** whitespace glyph names?</ summary >
* [com.google.fonts/check/whitespace_glyphnames ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/whitespace_glyphnames )
* 🍞 **PASS** Font has **proper** whitespace glyph names.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Whitespace glyphs have ink?< / summary >
* [com.google.fonts/check/whitespace_ink ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/whitespace_ink )
* 🍞 **PASS** There is no whitespace glyph with ink.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Are there unwanted tables?< / summary >
* [com.google.fonts/check/unwanted_tables ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/unwanted_tables )
* 🍞 **PASS** There are no unwanted tables.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Font contains unique glyph names?< / summary >
* [com.google.fonts/check/unique_glyphnames ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/unique_glyphnames )
* 🍞 **PASS** Font contains unique glyph names.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking with fontTools.ttx< / summary >
* [com.google.fonts/check/ttx-roundtrip ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ttx-roundtrip )
* 🍞 **PASS** Hey! It all looks good!
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check all glyphs have codepoints assigned.< / summary >
* [com.google.fonts/check/all_glyphs_have_codepoints ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/all_glyphs_have_codepoints )
* 🍞 **PASS** All glyphs have a codepoint value assigned.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking unitsPerEm value is reasonable.< / summary >
* [com.google.fonts/check/unitsperem ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/unitsperem )
* 🍞 **PASS** unitsPerEm value (2000) on the 'head' table is reasonable.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking font version fields (head and name table).< / summary >
* [com.google.fonts/check/font_version ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/font_version )
* 🍞 **PASS** All font version fields match.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check if OS/2 xAvgCharWidth is correct.< / summary >
* [com.google.fonts/check/xavgcharwidth ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/xavgcharwidth )
* 🍞 **PASS** OS/2 xAvgCharWidth value is correct.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check if OS/2 fsSelection matches head macStyle bold and italic bits.< / summary >
* [com.adobe.fonts/check/fsselection_matches_macstyle ](https://github.com/googlefonts/fontbakery/search?q=com.adobe.fonts/check/fsselection_matches_macstyle )
* 🍞 **PASS** The OS/2.fsSelection and head.macStyle bold and italic settings match.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Font has correct post table version (2 for TTF, 3 for OTF)?< / summary >
* [com.google.fonts/check/post_table_version ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/post_table_version )
* 🍞 **PASS** Font has post table version 2.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check name table for empty records.< / summary >
* [com.adobe.fonts/check/name/empty_records ](https://github.com/googlefonts/fontbakery/search?q=com.adobe.fonts/check/name/empty_records )
* 🍞 **PASS** No empty name table records found.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Description strings in the name table must not contain copyright info.< / summary >
* [com.google.fonts/check/name/no_copyright_on_description ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/no_copyright_on_description )
* 🍞 **PASS** Description strings in the name table do not contain any copyright string.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Name table entries should not contain line-breaks.< / summary >
* [com.google.fonts/check/name/line_breaks ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/line_breaks )
* 🍞 **PASS** Name table entries are all single-line (no line-breaks found).
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Does full font name begin with the font family name?< / summary >
* [com.google.fonts/check/name/match_familyname_fullfont ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/match_familyname_fullfont )
* 🍞 **PASS** Full font name begins with the font family name.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Font follows the family naming recommendations?< / summary >
* [com.google.fonts/check/family_naming_recommendations ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family_naming_recommendations )
* 🍞 **PASS** Font follows the family naming recommendations.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Name table strings must not contain the string 'Reserved Font Name'.< / summary >
* [com.google.fonts/check/name/rfn ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/rfn )
* 🍞 **PASS** None of the name table strings contain "Reserved Font Name".
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Name table ID 6 (PostScript name) must be consistent across platforms.< / summary >
* [com.adobe.fonts/check/name/postscript_name_consistency ](https://github.com/googlefonts/fontbakery/search?q=com.adobe.fonts/check/name/postscript_name_consistency )
* 🍞 **PASS** Entries in the 'name' table for ID 6 (PostScript name) are consistent.
2019-04-03 09:43:19 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Does the number of glyphs in the loca table match the maxp table?< / summary >
* [com.google.fonts/check/loca/maxp_num_glyphs ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/loca/maxp_num_glyphs )
* 🍞 **PASS** 'loca' table matches numGlyphs in 'maxp' table.
2019-03-26 11:06:24 +13:00
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Checking Vertical Metric Linegaps.< / summary >
* [com.google.fonts/check/linegaps ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/linegaps )
* 🍞 **PASS** OS/2 sTypoLineGap and hhea lineGap are both 0.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?< / summary >
* [com.google.fonts/check/maxadvancewidth ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/maxadvancewidth )
* 🍞 **PASS** MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Does the font have a DSIG table?< / summary >
* [com.google.fonts/check/dsig ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/dsig )
* 🍞 **PASS** Digital Signature (DSIG) exists.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Whitespace and non-breaking space have the same width?< / summary >
* [com.google.fonts/check/whitespace_widths ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/whitespace_widths )
* 🍞 **PASS** Whitespace and non-breaking space have the same width.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Is there a "kern" table declared in the font?< / summary >
* [com.google.fonts/check/kern_table ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/kern_table )
* 🍞 **PASS** Font does not declare an optional "kern" table.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Is there any unused data at the end of the glyf table?< / summary >
* [com.google.fonts/check/glyf_unused_data ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/glyf_unused_data )
* 🍞 **PASS** There is no unused data at the end of the glyf table.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > Check for points out of bounds.< / summary >
* [com.google.fonts/check/points_out_of_bounds ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/points_out_of_bounds )
* 🍞 **PASS** All glyph paths have coordinates within bounds!
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.< / summary >
* [com.google.fonts/check/varfont/bold_wght_coord ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont/bold_wght_coord )
* 🍞 **PASS** Bold:wght is 700.
< / details >
< details >
< summary > 🍞 < b > PASS:< / b > The variable font 'wght' (Weight) axis coordinate must be within spec range of 1 to 1000 on all instances.< / summary >
* [com.google.fonts/check/wght_valid_range ](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/wght_valid_range )
* 🍞 **PASS** OK
< / details >
< br >
< / details >
### Summary
| 💔 ERROR | 🔥 FAIL | ⚠ WARN | 💤 SKIP | ℹ INFO | 🍞 PASS |
|:-----:|:----:|:----:|:----:|:----:|:----:|
2019-04-03 09:43:19 +13:00
| 0 | 7 | 6 | 21 | 7 | 112 |
| 0% | 5% | 4% | 14% | 5% | 73% |