71 KiB
71 KiB
Fontbakery report
Fontbakery version: 0.7.1
[31] Family checks
🔥 FAIL: METADATA.pb: According Google Fonts standards, families should have a Regular style.
- com.google.fonts/check/metadata/has_regular
- 🔥 FAIL This family lacks a Regular (style: normal and weight: 400) as required by Google Fonts standards.
ℹ INFO: Do we have the latest version of FontBakery installed?
-
ℹ INFO fontbakery (0.7.1) - Well designed Font QA tool, written in Python 3 INSTALLED: 0.7.1 (latest)
-
🍞 PASS Font Bakery is up-to-date
🍞 PASS: Does DESCRIPTION file contain broken links?
- com.google.fonts/check/description/broken_links
- 🍞 PASS All links in the DESCRIPTION file look good!
🍞 PASS: Is this a proper HTML snippet?
- com.google.fonts/check/description/valid_html
- 🍞 PASS ./DESCRIPTION.en_us.html is a propper HTML file.
🍞 PASS: DESCRIPTION.en_us.html must have more than 200 bytes.
- com.google.fonts/check/description/min_length
- 🍞 PASS DESCRIPTION.en_us.html is larger than 200 bytes.
🍞 PASS: DESCRIPTION.en_us.html must have less than 1000 bytes.
- com.google.fonts/check/description/max_length
- 🍞 PASS DESCRIPTION.en_us.html is smaller than 1000 bytes.
🍞 PASS: Check METADATA.pb parse correctly.
- com.google.fonts/check/metadata/parses
- 🍞 PASS METADATA.pb parsed successfuly.
🍞 PASS: Font designer field in METADATA.pb must not be 'unknown'.
- com.google.fonts/check/metadata/unknown_designer
- 🍞 PASS Font designer field is not 'unknown'.
🍞 PASS: Fonts have equal glyph names?
- com.google.fonts/check/family/equal_glyph_names
- 🍞 PASS All font files have identical glyph names.
🍞 PASS: Check font has a license.
- com.google.fonts/check/family/has_license
- 🍞 PASS Found license at './OFL.txt'
🍞 PASS: METADATA.pb: check if fonts field only has unique "full_name" values.
- com.google.fonts/check/metadata/unique_full_name_values
- 🍞 PASS METADATA.pb "fonts" field only has unique "full_name" values.
🍞 PASS: METADATA.pb: check if fonts field only contains unique style:weight pairs.
- com.google.fonts/check/metadata/unique_weight_style_pairs
- 🍞 PASS METADATA.pb "fonts" field only has unique style:weight pairs.
🍞 PASS: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
- com.google.fonts/check/metadata/license
- 🍞 PASS Font license is declared in METADATA.pb as "OFL"
🍞 PASS: METADATA.pb should contain at least "menu" and "latin" subsets.
- com.google.fonts/check/metadata/menu_and_latin
- 🍞 PASS METADATA.pb contains "menu" and "latin" subsets.
🍞 PASS: METADATA.pb subsets should be alphabetically ordered.
- com.google.fonts/check/metadata/subsets_order
- 🍞 PASS METADATA.pb subsets are sorted in alphabetical order.
🍞 PASS: METADATA.pb: Copyright notice is the same in all fonts?
- com.google.fonts/check/metadata/copyright
- 🍞 PASS Copyright is consistent across family
🍞 PASS: Check that METADATA.pb family values are all the same.
- com.google.fonts/check/metadata/familyname
- 🍞 PASS METADATA.pb: Family name is the same in all metadata "fonts" items.
🍞 PASS: All tabular figures must have the same width across the RIBBI-family.
🍞 PASS: Does font file include unacceptable control character glyphs?
- com.google.fonts/check/family/control_chars
- 🍞 PASS Unacceptable control characters were not identified.
🍞 PASS: Checking all files are in the same directory.
- com.google.fonts/check/family/single_directory
- 🍞 PASS All files are in the same directory.
🍞 PASS: Is the command `ftxvalidator` (Apple Font Tool Suite) available?
- com.google.fonts/check/ftxvalidator_is_available
- 🍞 PASS ftxvalidator is available.
🍞 PASS: Fonts have equal unicode encodings?
- com.google.fonts/check/family/equal_unicode_encodings
- 🍞 PASS Fonts have equal unicode encodings.
🍞 PASS: Make sure all font files have the same version value.
- com.google.fonts/check/family/equal_font_versions
- 🍞 PASS All font files have the same version.
🍞 PASS: Fonts have consistent PANOSE proportion?
- com.google.fonts/check/family/panose_proportion
- 🍞 PASS Fonts have consistent PANOSE proportion.
🍞 PASS: Fonts have consistent PANOSE family type?
- com.google.fonts/check/family/panose_familytype
- 🍞 PASS Fonts have consistent PANOSE family type.
🍞 PASS: Check that OS/2.fsSelection bold & italic settings are unique for each NameID1
- 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.
🍞 PASS: Fonts have consistent underline thickness?
- com.google.fonts/check/family/underline_thickness
- 🍞 PASS Fonts have consistent underline thickness.
🍞 PASS: Verify that each group of fonts with the same nameID 1 has maximum of 4 fonts
- com.adobe.fonts/check/family/max_4_fonts_per_family_name
- 🍞 PASS There were no more than 4 fonts per family name.
💤 SKIP: Fonts have equal numbers of glyphs?
- com.google.fonts/check/family/equal_numbers_of_glyphs
- 💤 SKIP Unfulfilled Conditions: stylenames_are_canonical
💤 SKIP: METADATA.pb: Regular should be 400.
- com.google.fonts/check/metadata/regular_is_400
- 💤 SKIP Unfulfilled Conditions: has_regular_style
⚠ WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?
- com.google.fonts/check/metadata/listed_on_gfonts
- ⚠ WARN Family not found via Google Fonts API.
[122] FiraCode-Light.ttf
🔥 FAIL: Checking file is named canonically.
- 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
🔥 FAIL: Copyright notices match canonical pattern in METADATA.pb
- 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)' But instead we have got: 'Copyright 2012-2015 The Fira Code Project Authors (https://github.com/tonsky/FiraCode)'
🔥 FAIL: Copyright notices match canonical pattern in fonts
- 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)' But instead we have got: 'Copyright 2012-2015 The Fira Code Project Authors (https://github.com/tonsky/FiraCode)'
🔥 FAIL: Variable font weight coordinates must be multiples of 100.
- com.google.fonts/check/varfont_weight_instances
- 🔥 FAIL Found an variable font instance with 'wght'=450.0. This should instead be a multiple of 100.
🔥 FAIL: Glyph names are all valid?
- 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.
⚠ WARN: Checking OS/2 achVendID.
- 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]
⚠ WARN: Combined length of family and style must not exceed 20 characters.
- 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'
⚠ WARN: Checking correctness of monospaced metadata.
- com.google.fonts/check/monospace
- ⚠ WARN Font is monospaced but 26 glyphs (1.5321154979375369%) 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]
⚠ WARN: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
- 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.ss01, 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, uni0459, uni045A, uni0455, uni0454, uni044D, uni0456, uni0457, uni0458, uni045B, uni044E, uni044F, uni0452, uni0461, uni0463, uni0465, uni0467, uni0469, uni046B, uni046D, uni046F, uni0471, uni0473, uni0475, uni0477, uni0479, uni0493, uni0495, uni0497, uni0499, uni049B, uni049D, uni049F, uni04A1, uni04A3, uni04A5, uni0525, uni04A7, uni04A9, uni04AB, uni04AD, ustraitcy, ustraitstrokecy, uni04B3, uni04B5, uni04B7, uni04B9, uni04BB, uni0527, uni04BD, uni04BF, uni04CF, uni04C2, uni04C4, uni04C6, uni04C8, uni04CA, uni04CC, uni04CE, uni04D1, uni04D3, uni04D5, uni04D7, uni04D9, uni04DB, uni04DD, uni04DF, uni04E1, uni04E3, uni04E5, uni04E7, uni04E9, uni04EB, uni04ED, uni04EF, uni04F1, uni04F3, uni04F5, uni04F7, uni04F9, uni04FB, uni04FD, uni04FF, uni0501, uni0503, uni0505, uni0507, uni0509, uni050B, uni050D, uni050F, uni0511, uni0513, uni0515, uni0517, uni0519, uni051B, uni051D, uni051F, uni0521, uni0523, uni048D, uni048F, uni052D, uni052B, uni052F, uni0529, Yotgreek, Alpha, Beta, Gamma, uni0394, Epsilon, Zeta, Eta, Theta, Iota, Kappa, Lambda, Mu, Nu, Xi, Omicron, Pi, Rho, Sigma, Tau, Upsilon, Phi, Chi, Psi, uni03A9, Alphatonos, Epsilontonos, Etatonos, Iotatonos, Omicrontonos, Upsilontonos, Omegatonos, Iotadieresis, Upsilondieresis, uni0370, uni0372, uni0376, uni03D8, uni03DA, uni03DC, uni03DE, uni03E0, uni03CF, uni03D2, uni03D3, uni03D4, uni03F4, uni03F7, uni03F9, uni03FA, uni03FD, uni03FE, uni03FF, uni1F08, uni1F09, uni1F0A, uni1F0B, uni1F0C, uni1F0D, uni1F0E, uni1F0F, uni1FBA, uni1FBB, uni1FB8, uni1FB9, uni1FBC, uni1F88, uni1F89, uni1F8A, uni1F8B, uni1F8C, uni1F8D, uni1F8E, uni1F8F, uni1F18, uni1F19, uni1F1A, uni1F1B, uni1F1C, uni1F1D, uni1FC8, uni1FC9, uni1F28, uni1F29, uni1F2A, uni1F2B, uni1F2C, uni1F2D, uni1F2E, uni1F2F, uni1FCA, uni1FCB, uni1FCC, uni1F98, uni1F99, uni1F9A, uni1F9B, uni1F9C, uni1F9D, uni1F9E, uni1F9F, uni1F38, uni1F39, uni1F3A, uni1F3B, uni1F3C, uni1F3D, uni1F3E, uni1F3F, uni1FDA, uni1FDB, uni1FD8, uni1FD9, uni1F48, uni1F49, uni1F4A, uni1F4B, uni1F4C, uni1F4D, uni1FF8, uni1FF9, uni1FEC, uni1F59, uni1F5B, uni1F5D, uni1F5F, uni1FEA, uni1FEB, uni1FE8, uni1FE9, uni1F68, uni1F69, uni1F6A, uni1F6B, uni1F6C, uni1F6D, uni1F6E, uni1F6F, uni1FFA, uni1FFB, uni1FFC, uni1FA8, uni1FA9, uni1FAA, uni1FAB, uni1FAC, uni1FAD, uni1FAE, uni1FAF, alpha, beta, gamma, delta, epsilon, zeta, eta, theta, iota, kappa, lambda, uni03BC, nu, xi, omicron, pi, rho, uni03C2, sigma, tau, upsilon, phi, chi, psi, omega, iotatonos, iotadieresis, iotadieresistonos, upsilontonos, upsilondieresis, upsilondieresistonos, omicrontonos, omegatonos, alphatonos, epsilontonos, etatonos, uni0371, uni0373, uni0377, reversedlunatesigmasymbol, dottedlunatesigmasymbol, reverseddottedlunatesigmasymbol, uni03D9, uni03DB, uni03DD, uni03DF, uni03E1, uni03D7, uni03D0, uni03D1, uni03D5, uni03D6, uni03F0, uni03F1, uni03F2, uni03F3, uni03F5, uni03F8, uni03FB, uni03FC, uni1F00, uni1F01, uni1F02, uni1F03, uni1F04, uni1F05, uni1F06, uni1F07, uni1F70, uni1F71, uni1FB6, uni1FB0, uni1FB1, uni1FB3, uni1FB2, uni1FB4, uni1F80, uni1F81, uni1F82, uni1F83, uni1F84, uni1F85, uni1F86, uni1F87, uni1FB7, uni1F10, uni1F11, uni1F12, uni1F13, uni1F14, uni1F15, uni1F72, uni1F73, uni1F20, uni1F21, uni1F22, uni1F23, uni1F24, uni1F25, uni1F26, uni1F27, uni1F74, uni1F75, uni1FC6, uni1FC3, uni1FC2, uni1FC4, uni1F90, uni1F91, uni1F92, uni1F93, uni1F94, uni1F95, uni1F96, uni1F97, uni1FC7, uni1F30, uni1F31, uni1F32, uni1F33, uni1F34, uni1F35, uni1F36, uni1F37, uni1F76, uni1F77, uni1FD6, uni1FD0, uni1FD1, uni1FD2, uni1FD3, uni1FD7, uni1F40, uni1F41, uni1F42, uni1F43, uni1F44, uni1F45, uni1F78, uni1F79, uni1FE4, uni1FE5, uni1F50, uni1F51, uni1F52, uni1F53, uni1F54, uni1F55, uni1F56, uni1F57, uni1F7A, uni1F7B, uni1FE6, uni1FE0, uni1FE1, uni1FE2, uni1FE3, uni1FE7, uni1F60, uni1F61, uni1F62, uni1F63, uni1F64, uni1F65, uni1F66, uni1F67, uni1F7C, uni1F7D, uni1FF6, uni1FF3, uni1FF2, uni1FF4, uni1FA0, uni1FA1, uni1FA2, uni1FA3, uni1FA4, uni1FA5, uni1FA6, uni1FA7, uni1FF7, uni1FBE, uni037A, zero, one, two, three, four, five, six, seven, eight, nine, zero.tosf, one.tosf, two.tosf, three.tosf, four.tosf, five.tosf, six.tosf, seven.tosf, eight.tosf, nine.tosf, zero.tosf.zero, zero.zero, uni2080, uni2081, uni2082, uni2083, uni2084, uni2085, uni2086, uni2087, uni2088, uni2089, zero.dnom, one.dnom, two.dnom, three.dnom, four.dnom, five.dnom, six.dnom, seven.dnom, eight.dnom, nine.dnom, zero.numr, one.numr, two.numr, three.numr, four.numr, five.numr, six.numr, seven.numr, eight.numr, nine.numr, uni2070, uni00B9, uni00B2, uni00B3, uni2074, uni2075, uni2076, uni2077, uni2078, uni2079, fraction, uni215F, onehalf, uni2153, uni2154, onequarter, threequarters, uni2155, uni2156, uni2157, uni2158, uni2159, uni215A, oneeighth, threeeighths, fiveeighths, seveneighths, asterisk, backslash, periodcentered, bullet, colon, comma, ellipsis, exclam, exclamdown, numbersign, period, question, questiondown, quotedbl, quotesingle, semicolon, slash, uni204A, underscore, underscoredbl, exclamdown.case, questiondown.case, asterisk.lc, numbersign.tosf, colon.uc, asterisk.rem, uni208D, uni208E, braceleft, braceright, bracketleft, bracketright, parenleft, parenright, uni207D, uni207E, braceleft.case, braceright.case, bracketleft.case, bracketright.case, parenleft.case, parenright.case, parenleft.dnom, parenright.dnom, parenleft.numr, parenright.numr, uni2015, emdash, endash, figuredash, hyphen, uni00AD, emdash.case, endash.case, hyphen.case, uni00AD.case, hyphen.lc, figuredash.tosf, hyphen.rem, guillemotleft, guillemotright, guilsinglleft, guilsinglright, quotedblbase, quotedblleft, quotedblright, quoteleft, quoteright, quotesinglbase, guillemotleft.case, guillemotright.case, guilsinglleft.case, guilsinglright.case, asterisk_asterisk.liga, asterisk_asterisk_asterisk.liga, asterisk_greater.liga, asterisk_slash.liga, braceleft_bar.liga, bracketleft_bar.liga, bracketright_numbersign.liga, colon_colon.liga, colon_colon_colon.liga, colon_colon_equal.liga, colon_equal.liga, colon_greater.liga, colon_less.liga, exclam_exclam.liga, exclam_exclam_period.liga, exclam_equal.liga, exclam_equal_equal.liga, hyphen_bar.liga, hyphen_hyphen.liga, hyphen_hyphen_hyphen.liga, hyphen_hyphen_greater.liga, hyphen_greater.liga, hyphen_greater_greater.liga, hyphen_less.liga, hyphen_less_less.liga, hyphen_asciitilde.liga, numbersign_braceleft.liga, numbersign_bracketleft.liga, numbersign_colon.liga, numbersign_exclam.liga, numbersign_numbersign.liga, numbersign_numbersign_numbersign.liga, numbersign_numbersign_numbersign_numbersign.liga, numbersign_equal.liga, numbersign_parenleft.liga, numbersign_question.liga, numbersign_underscore.liga, numbersign_underscore_parenleft.liga, period_hyphen.liga, period_equal.liga, period_period.liga, period_period_equal.liga, period_period_less.liga, period_period_period.liga, period_question.liga, question_colon.liga, question_equal.liga, question_period.liga, question_question.liga, semicolon_semicolon.liga, slash_asterisk.liga, slash_equal.liga, slash_equal_equal.liga, slash_greater.liga, slash_slash.liga, slash_slash_slash.liga, underscore_bar_underscore.liga, underscore_underscore.liga, numbersign_colon.liga_rem, asterisk_asterisk_slash.rem, asterisk_large.rem, backslash_backslash.rem, backslash_backslash_backslash.rem, braceleft_hyphen.rem, bracketleft_bracketright.rem, exclam_exclam_exclam.rem, hyphen_braceright.rem, numbersign_numbersign.liga.rem, numbersign_numbersign_numbersign.liga.rem, numbersign_numbersign_numbersign_numbersign.liga.rem, question_question_question.rem, semicolon_semicolon_semicolon.rem, slash_asterisk_asterisk.rem, anoteleia, uni037E, uni2007, uni2008, space, uni00A0, uni200B, space.frac, uni2007.tf, uni2007.tosf, CR, uniFEFF, cent, currency, dollar, uni20AF, Euro, florin, uni20BA, uni20BD, uni20B9, sterling, yen, cent.tosf, currency.tosf, dollar.tosf, uni20AF.tosf, Euro.tosf, uni20BA.tosf, uni20BD.tosf, uni20B9.tosf, sterling.tosf, yen.tosf, uni2219, uni2215, equalsinferior, uni207C, equivalence, integralbt, integraltp, uni208B, uni207B, plus, minus, multiply, divide, equal, notequal, greater, less, greaterequal, lessequal, plusminus, approxequal, asciitilde, logicalnot, infinity, intersection, integral, uni2206, product, summation, radical, uni00B5, partialdiff, percent, perthousand, uni208A, uni207A, revlogicalnot, infinity.case, plus.dnom, minus.dnom, equal.dnom, plus.lc, plus.numr, minus.numr, equal.numr, plus.tosf, minus.tosf, multiply.tosf, divide.tosf, equal.tosf, notequal.tosf, greater.tosf, less.tosf, greaterequal.tosf, lessequal.tosf, plusminus.tosf, approxequal.tosf, asciitilde.tosf, logicalnot.tosf, infinity.tosf, integral.tosf, product.tosf, summation.tosf, radical.tosf, partialdiff.tosf, percent.tosf, perthousand.tosf, plus.rem, arrowup, uni2197, arrowright, uni2198, arrowdown, uni2199, arrowleft, uni2196, arrowboth, arrowupdown, uni21E7, uni21E8, uni21E9, uni21E6, uni2B06, uni2B07, uni2B05, blackRightArrow, uni2581, uni2582, uni2583, downBlock, uni2585, uni2586, uni2587, block, upBlock, uni2594, uni258F, uni258E, uni258D, lfblock, uni258B, uni258A, uni2589, rtblock, uni2595, quadrantLowerLeft, quadrantLowerRight, quadrantUpperLeft, quadrantUpperLeftAndLowerLeftAndLowerRight, quadrantUpperLeftAndLowerRight, quadrantUpperLeftAndUpperRightAndLowerLeft, quadrantUpperLeftAndUpperRightAndLowerRight, quadrantUpperRight, quadrantUpperRightAndLowerLeft, quadrantUpperRightAndLowerLeftAndLowerRight, ltshade, shade, dkshade, uni25CF, circle, uni25EF, uni25D0, uni25D1, uni25D2, uni25D3, uni25D6, uni25D7, uni25D5, uni25F4, uni25F5, uni25F6, uni25F7, uni25C9, uni25CE, invcircle, uni25DA, uni25DB, uni25E0, uni25E1, uni25DC, uni25DD, uni25DE, uni25DF, uni25C6, uni25C7, lozenge, uni25AE, filledrect, uni25AD, uni25AF, uni250C, uni2514, uni2510, uni2518, uni253C, uni252C, uni2534, uni251C, uni2524, uni2500, uni2502, uni2561, uni2562, uni2556, uni2555, uni2563, uni2551, uni2557, uni255D, uni255C, uni255B, uni255E, uni255F, uni255A, uni2554, uni2569, uni2566, uni2560, uni2550, uni256C, uni2567, uni2568, uni2564, uni2565, uni2559, uni2558, uni2552, uni2553, uni256B, uni256A, filledbox, uni25A1, whiteSquareWithRoundedCorners, uni25A3, uni25AA, uni25AB, uni25E7, uni25E8, uni25E9, uni25EA, uni25EB, whiteSquareWithUpperLeftQuadrant, whiteSquareWithLowerLeftQuadrant, whiteSquareWithLowerRightQuadrant, whiteSquareWithUpperRightQuadrant, triagupTriangle, uni25B6, triangledown, uni25C0, triangleright, triaglf, blackUpperRightTriangle, blackLowerRightTriangle, blackLowerLeftTriangle, blackUpperLeftTriangle, uni2530, uni2512, uni2527, uni250E, uni251F, uni2541, uni252F, uni2511, uni2529, uni250D, uni2521, uni2547, uni254D, uni254F, uni257B, uni2533, uni2513, uni250F, uni2501, uni2578, uni257E, uni257A, uni2579, uni253B, uni251B, uni257F, uni2517, uni2503, uni254B, uni252B, uni2523, uni2545, uni252D, uni2535, uni253D, uni2532, uni253A, uni254A, uni2543, uni2573, uni2572, uni2571, uni254C, uni254E, uni2577, uni2574, uni257C, uni2576, uni2575, uni257D, uni2546, uni252E, uni2536, uni253E, uni2531, uni2539, uni2549, uni2544, uni2540, uni2538, uni2526, uni251A, uni251E, uni2516, uni2548, uni2537, uni252A, uni2519, uni2522, uni2515, uni2542, uni2528, uni2520, uni253F, uni2525, uni251D, lozenge.tosf, uni2610, uni2611, uni2612, uni2620, uni2639, smileface, invsmileface, sun, female, male, spade, club, heart, diamond, musicalnote, musicalnotedbl, uni2713, at, ampersand, paragraph, section, copyright, registered, trademark, degree, bar, brokenbar, uni2113, dagger, daggerdbl, estimated, uni2116, asciicircum, globeWithMeridians, house, uni21EA, uni2327, uni232B, uni2326, uni2328, uni23CE, uni218B, uni218A, section.tosf, degree.tosf, dagger.tosf, daggerdbl.tosf, ampersand_ampersand.liga, bar_bar.liga, bar_bar_bar_greater.liga, bar_bar_equal.liga, bar_bar_greater.liga, bar_braceright.liga, bar_bracketright.liga, bar_hyphen.liga, bar_equal.liga, bar_greater.liga, asciicircum_equal.liga, dollar_greater.liga, plus_plus.liga, plus_plus_plus.liga, plus_greater.liga, equal_colon_equal.liga, equal_exclam_equal.liga, equal_equal.liga, equal_equal_equal.liga, equal_equal_greater.liga, equal_greater.liga, equal_greater_greater.liga, equal_less_less.liga, equal_slash_equal.liga, greater_colon.liga, greater_hyphen.liga, greater_hyphen_greater.liga, greater_equal.liga, greater_equal_greater.liga, greater_greater.liga, greater_greater_hyphen.liga, greater_greater_equal.liga, greater_greater_greater.liga, less_asterisk.liga, less_asterisk_greater.liga, less_bar.liga, less_bar_bar.liga, less_bar_bar_bar.liga, less_bar_greater.liga, less_colon.liga, less_dollar.liga, less_dollar_greater.liga, less_exclam_hyphen_hyphen.liga, less_hyphen.liga, less_hyphen_hyphen.liga, less_hyphen_greater.liga, less_hyphen_less.liga, less_plus.liga, less_plus_greater.liga, less_equal.liga, less_equal_equal.liga, less_equal_equal_greater.liga, less_equal_greater.liga, less_equal_less.liga, less_greater.liga, less_less.liga, less_less_hyphen.liga, less_less_equal.liga, less_less_less.liga, less_asciitilde.liga, less_asciitilde_greater.liga, less_asciitilde_asciitilde.liga, less_slash.liga, less_slash_greater.liga, asciitilde_at.liga, asciitilde_hyphen.liga, asciitilde_equal.liga, asciitilde_greater.liga, asciitilde_asciitilde.liga, asciitilde_asciitilde_greater.liga, percent_percent.liga, ampersand_ampersand_ampersand.rem, bar_bar_bar.rem, equal_less.rem, equal_asciitilde.rem, asciitilde_asciitilde_asciitilde.rem, percent_percent_percent.rem, greater_equal.ss01, uni03F6, uni0374, uni0375, uni0308, uni0307, gravecomb, acutecomb, uni030B, uni0302, uni030C, uni0306, uni030A, tildecomb, uni0304, uni0305, uni030F, uni0313, uni0314, uni0326, uni0327, strokeshortoverlay, strokelongoverlay, uni0326.case, uni02BC, uni02BA, uni02C9, uni02B9, acute, breve, caron, cedilla, circumflex, dieresis, dotaccent, grave, hungarumlaut, macron, ogonek, ring, tilde, caron.alt, acute.case, breve.case, caron.case, cedilla.case, circumflex.case, dieresis.case, dotaccent.case, grave.case, hungarumlaut.case, macron.case, ring.case, tilde.case, acute.loclPLK, acute.case.loclPLK, ogonek.thin, uni0342, uni0345, tonos, tonos.case, dieresistonos, uni1FBF, uni1FBD, uni1FFE, uni1FCD, uni1FDD, uni1FCE, uni1FDE, uni1FCF, uni1FDF, uni1FED, uni1FEE, uni1FC1, uni1FEF, uni1FFD, uni1FC0, uni1FEF.case, uni1FFD.case, _part.backslash.rem, LIG, TseHelpercy, tsehelpercy, descRoundcy, descStraightcy, descStraightcy.case, brevecy, brevecy.case, null, dieresisacutecomb, dieresisgravecomb, descTailcy, descTailcy.case, KsicyHELPER, hookHELPER, hookHELPER.case, ksicyHELPER, dieresistilde, dieresistilde.case, _part.arrowhead, _part.greater, _part.arrowhead2, _part.bar, _part.question, _part.ampersand, _part.less2, _part.greater2, _part.arrowhead1, _part.asterisk, _part.plus, _part.brackets, _part.dot, uniE000, uniE001, uniE002, uniE003, uniE0A0, uniE0A1, uniE0A2, uniE0B0, uniE0B1, uniE0B2, uniE0B3 [code: should-be-monospaced]
- ⚠ 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]
⚠ WARN: Does GPOS table have kerning information?
- com.google.fonts/check/gpos_kerning_info
- ⚠ WARN GPOS table lacks kerning information.
💤 SKIP: Font has ttfautohint params?
- com.google.fonts/check/has_ttfautohint_params
- 💤 SKIP Font appears to our heuristic as not hinted using ttfautohint.
💤 SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values?
- com.google.fonts/check/metadata/match_filename_postscript
- 💤 SKIP Unfulfilled Conditions: not is_variable_font
💤 SKIP: METADATA.pb font.style "italic" matches font internals?
- com.google.fonts/check/metadata/italic_style
- 💤 SKIP This check only applies to italic fonts.
💤 SKIP: Version number has increased since previous release on Google Fonts?
- com.google.fonts/check/version_bump
- 💤 SKIP Unfulfilled Conditions: api_gfonts_ttFont
💤 SKIP: Glyphs are similiar to Google Fonts version?
- com.google.fonts/check/production_glyphs_similarity
- 💤 SKIP Unfulfilled Conditions: api_gfonts_ttFont
💤 SKIP: Check if each glyph has the recommended amount of contours.
- com.google.fonts/check/contour_count
- 💤 SKIP Unfulfilled Conditions: not is_variable_font
💤 SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
- com.google.fonts/check/production_encoded_glyphs
- 💤 SKIP Unfulfilled Conditions: api_gfonts_ttFont
💤 SKIP: PPEM must be an integer on hinted fonts.
- com.google.fonts/check/integer_ppem_if_hinted
- 💤 SKIP Unfulfilled Conditions: is_hinted
💤 SKIP: Are there caret positions declared for every ligature?
- com.google.fonts/check/ligature_carets
- 💤 SKIP Unfulfilled Conditions: ligature_glyphs
💤 SKIP: Is there kerning info for non-ligated sequences?
- com.google.fonts/check/kerning_for_non_ligated_sequences
- 💤 SKIP Unfulfilled Conditions: ligatures, has_kerning_info
💤 SKIP: FontForge validation outputs error messages?
- com.google.fonts/check/fontforge_stderr
- 💤 SKIP Unfulfilled Conditions: fontforge_check_results
💤 SKIP: FontForge checks.
- com.google.fonts/check/fontforge
- 💤 SKIP Unfulfilled Conditions: fontforge_check_results
💤 SKIP: Is the CFF subr/gsubr call depth > 10?
- com.adobe.fonts/check/cff_call_depth
- 💤 SKIP Unfulfilled Conditions: is_cff
💤 SKIP: Is the CFF2 subr/gsubr call depth > 10?
- com.adobe.fonts/check/cff2_call_depth
- 💤 SKIP Unfulfilled Conditions: is_cff2
💤 SKIP: CFF table FontName must match name table ID 6 (PostScript name).
- com.adobe.fonts/check/name/postscript_vs_cff
- 💤 SKIP Unfulfilled Conditions: is_cff
💤 SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
- com.google.fonts/check/varfont/regular_wdth_coord
- 💤 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/varfont/regular_slnt_coord
- 💤 SKIP Unfulfilled Conditions: regular_slnt_coord
💤 SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
- com.google.fonts/check/varfont/regular_ital_coord
- 💤 SKIP Unfulfilled Conditions: regular_ital_coord
💤 SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
- com.google.fonts/check/varfont/regular_opsz_coord
- 💤 SKIP Unfulfilled Conditions: regular_opsz_coord
ℹ INFO: Show hinting filesize impact.
- com.google.fonts/check/hinting_impact
- ℹ INFO Hinting filesize impact:
FiraCode-Light.ttf | |
---|---|
Dehinted Size | 237.9kb |
Hinted Size | 236.0kb |
Increase | -1976 bytes |
Change | -0.8 % |
ℹ INFO: Font has old ttfautohint applied?
- 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']
ℹ INFO: EPAR table present in font?
- com.google.fonts/check/epar
- ℹ INFO EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
ℹ INFO: Is 'gasp' table set to optimize rendering?
- 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.
ℹ INFO: Check for font-v versioning
- 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"
ℹ INFO: Font contains all required tables?
- com.google.fonts/check/required_tables
- ℹ INFO This font contains the following optional tables [loca, GPOS, gasp, prep, DSIG, GSUB]
- 🍞 PASS Font contains all required tables.
🍞 PASS: Checking OS/2 fsType.
- com.google.fonts/check/fstype
- 🍞 PASS OS/2 fsType is properly set to zero.
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
- com.google.fonts/check/name/unwanted_chars
- 🍞 PASS No need to substitute copyright, registered and trademark symbols in name table entries of this font.
🍞 PASS: Checking OS/2 usWeightClass.
- com.google.fonts/check/usweightclass
- 🍞 PASS OS/2 usWeightClass value looks good!
🍞 PASS: Check copyright namerecords match license file.
- com.google.fonts/check/name/license
- 🍞 PASS Licensing entry on name table is correctly set.
🍞 PASS: "License URL matches License text on name table?
- com.google.fonts/check/name/license_url
- 🍞 PASS Font has a valid license URL in NAME table.
🍞 PASS: Description strings in the name table must not exceed 200 characters.
- com.google.fonts/check/name/description_max_length
- 🍞 PASS All description name records have reasonably small lengths.
🍞 PASS: Version format is correct in 'name' table?
- com.google.fonts/check/name/version_format
- 🍞 PASS Version format in NAME table entries is correct.
🍞 PASS: Make sure family name does not begin with a digit.
- com.google.fonts/check/name/familyname_first_char
- 🍞 PASS Font family name first character is not a digit.
🍞 PASS: Font has all expected currency sign characters?
- com.google.fonts/check/currency_chars
- 🍞 PASS Font has all expected currency sign characters.
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
- com.google.fonts/check/name/ascii_only_entries
- 🍞 PASS None of the ASCII-only NAME table entries contain non-ASCII characteres.
🍞 PASS: Checks METADATA.pb font.name field matches family name declared on the name table.
- com.google.fonts/check/metadata/nameid/family_name
- 🍞 PASS Family name "Fira Code" is identical in METADATA.pb and on the TTF file.
🍞 PASS: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
- com.google.fonts/check/metadata/nameid/post_script_name
- 🍞 PASS Postscript name "FiraCode-Light" is identical in METADATA.pb and on the TTF file.
🍞 PASS: METADATA.pb font.full_name value matches fullname declared on the name table?
- com.google.fonts/check/metadata/nameid/full_name
- 🍞 PASS Font fullname "Fira Code Light" is identical in METADATA.pb and on the TTF file.
🍞 PASS: METADATA.pb font.name value should be same as the family name declared on the name table.
- com.google.fonts/check/metadata/nameid/font_name
- 🍞 PASS OK: Family name "Fira Code" is identical in METADATA.pb and on the TTF file.
🍞 PASS: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
- com.google.fonts/check/metadata/match_fullname_postscript
- 🍞 PASS METADATA.pb font fields "full_name" and "post_script_name" have equivalent values.
🍞 PASS: METADATA.pb font.name field contains font name in right format?
- com.google.fonts/check/metadata/valid_name_values
- 🍞 PASS METADATA.pb font.name field contains font name in right format.
🍞 PASS: METADATA.pb font.full_name field contains font name in right format?
- 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')
🍞 PASS: METADATA.pb font.filename field contains font name in right format?
- com.google.fonts/check/metadata/valid_filename_values
- 🍞 PASS METADATA.pb filename field contains font name in right format.
🍞 PASS: METADATA.pb font.post_script_name field contains font name in right format?
- com.google.fonts/check/metadata/valid_post_script_name_values
- 🍞 PASS METADATA.pb postScriptName field contains font name in right format.
🍞 PASS: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'.
- com.google.fonts/check/metadata/reserved_font_name
- 🍞 PASS METADATA.pb copyright field does not contain "Reserved Font Name".
🍞 PASS: METADATA.pb: Copyright notice shouldn't exceed 500 chars.
- com.google.fonts/check/metadata/copyright_max_length
- 🍞 PASS Copyright notice string is shorter than 500 chars.
🍞 PASS: METADATA.pb: Filename is set canonically?
- com.google.fonts/check/metadata/canonical_filename
- 🍞 PASS Filename in METADATA.pb is set canonically.
🍞 PASS: METADATA.pb font.style "normal" matches font internals?
- com.google.fonts/check/metadata/normal_style
- 🍞 PASS METADATA.pb font.style "normal" matches font internals.
🍞 PASS: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
- com.google.fonts/check/metadata/nameid/family_and_full_names
- 🍞 PASS METADATA.pb familyname and fullName fields match corresponding name table entries.
🍞 PASS: METADATA.pb: Check if fontname is not camel cased.
- com.google.fonts/check/metadata/fontname_not_camel_cased
- 🍞 PASS Font name is not camel-cased.
🍞 PASS: METADATA.pb: Check font name is the same as family name.
- com.google.fonts/check/metadata/match_name_familyname
- 🍞 PASS Font name is the same as family name.
🍞 PASS: METADATA.pb: Check that font weight has a canonical value.
- com.google.fonts/check/metadata/canonical_weight_value
- 🍞 PASS Font weight has a canonical value.
🍞 PASS: Checking OS/2 usWeightClass matches weight specified at METADATA.pb.
- com.google.fonts/check/metadata/os2_weightclass
- 🍞 PASS OS/2 usWeightClass matches weight specified at METADATA.pb
🍞 PASS: METADATA.pb weight matches postScriptName.
- com.google.fonts/check/metadata/match_weight_postscript
- 🍞 PASS Weight value matches postScriptName.
🍞 PASS: METADATA.pb: Font styles are named canonically?
- com.google.fonts/check/metatada/canonical_style_names
- 🍞 PASS Font styles are named canonically.
🍞 PASS: Stricter unitsPerEm criteria for Google Fonts.
- com.google.fonts/check/unitsperem_strict
- 🍞 PASS Font em size is good (unitsPerEm = 2000).
🍞 PASS: Checking OS/2 fsSelection value.
- 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.
🍞 PASS: Checking post.italicAngle value.
- com.google.fonts/check/italic_angle
- 🍞 PASS Value of post.italicAngle is 0.0 with style='Light'.
🍞 PASS: Checking head.macStyle value.
- com.google.fonts/check/mac_style
- 🍞 PASS head macStyle ITALIC bit is properly set.
- 🍞 PASS head macStyle BOLD bit is properly set.
🍞 PASS: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
- com.google.fonts/check/metadata/nameid/copyright
- 🍞 PASS Copyright field for this font on METADATA.pb matches copyright notice entries on the name table.
🍞 PASS: Font has all mandatory 'name' table entries ?
- com.google.fonts/check/name/mandatory_entries
- 🍞 PASS Font contains values for all mandatory name table entries.
🍞 PASS: Check name table: FONT_FAMILY_NAME entries.
- com.google.fonts/check/name/familyname
- 🍞 PASS FONT_FAMILY_NAME entries are all good.
🍞 PASS: Check name table: FONT_SUBFAMILY_NAME entries.
- com.google.fonts/check/name/subfamilyname
- 🍞 PASS FONT_SUBFAMILY_NAME entries are all good.
🍞 PASS: Check name table: FULL_FONT_NAME entries.
- com.google.fonts/check/name/fullfontname
- 🍞 PASS FULL_FONT_NAME entries are all good.
🍞 PASS: Check name table: POSTSCRIPT_NAME entries.
- com.google.fonts/check/name/postscriptname
- 🍞 PASS POSTCRIPT_NAME entries are all good.
🍞 PASS: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
- com.google.fonts/check/name/typographicfamilyname
- 🍞 PASS TYPOGRAPHIC_FAMILY_NAME entries are all good.
🍞 PASS: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
- com.google.fonts/check/name/typographicsubfamilyname
- 🍞 PASS TYPOGRAPHIC_SUBFAMILY_NAME entries are all good.
🍞 PASS: Length of copyright notice must not exceed 500 characters.
- com.google.fonts/check/name/copyright_length
- 🍞 PASS All copyright notice name entries on the 'name' table are shorter than 500 characters.
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
- com.google.fonts/check/fontdata_namecheck
- 🍞 PASS Font familyname seems to be unique.
🍞 PASS: Check a static ttf can be generated from a variable font.
- com.google.fonts/check/varfont/generate_static
- 🍞 PASS fontTools.varLib.mutator generated a static font instance
🍞 PASS: Check that variable fonts have an HVAR table.
- com.google.fonts/check/varfont/has_HVAR
- 🍞 PASS This variable font contains an HVAR table.
🍞 PASS: Font enables smart dropout control in "prep" table instructions?
- com.google.fonts/check/smart_dropout
- 🍞 PASS 'prep' table contains instructions enabling smart dropout control.
🍞 PASS: There must not be VTT Talk sources in the font.
- com.google.fonts/check/vttclean
- 🍞 PASS There are no tables with VTT Talk sources embedded in the font.
🍞 PASS: Are there unwanted Apple tables?
- com.google.fonts/check/aat
- 🍞 PASS There are no unwanted AAT tables.
🍞 PASS: All name entries referenced by fvar instances exist on the name table?
- com.google.fonts/check/fvar_name_entries
- 🍞 PASS OK
🍞 PASS: A variable font must have named instances.
🍞 PASS: Name table records must not have trailing spaces.
- com.google.fonts/check/name/trailing_spaces
- 🍞 PASS No trailing spaces on name table entries.
🍞 PASS: Checking OS/2 usWinAscent & usWinDescent.
- com.google.fonts/check/family/win_ascent_and_descent
- 🍞 PASS OS/2 usWinAscent & usWinDescent values look good!
🍞 PASS: Checking OS/2 Metrics match hhea Metrics.
- com.google.fonts/check/os2_metrics_match_hhea
- 🍞 PASS OS/2.sTypoAscender/Descender values match hhea.ascent/descent.
🍞 PASS: Checking with ftxvalidator.
- com.google.fonts/check/ftxvalidator
- 🍞 PASS ftxvalidator passed this file
🍞 PASS: Checking with ots-sanitize.
- com.google.fonts/check/ots
- 🍞 PASS ots-sanitize passed this file
🍞 PASS: Font contains .notdef as first glyph?
- 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.
🍞 PASS: Font contains glyphs for whitespace characters?
- com.google.fonts/check/whitespace_glyphs
- 🍞 PASS Font contains glyphs for whitespace characters.
🍞 PASS: Font has **proper** whitespace glyph names?
- com.google.fonts/check/whitespace_glyphnames
- 🍞 PASS Font has proper whitespace glyph names.
🍞 PASS: Whitespace glyphs have ink?
- com.google.fonts/check/whitespace_ink
- 🍞 PASS There is no whitespace glyph with ink.
🍞 PASS: Are there unwanted tables?
- com.google.fonts/check/unwanted_tables
- 🍞 PASS There are no unwanted tables.
🍞 PASS: Font contains unique glyph names?
- com.google.fonts/check/unique_glyphnames
- 🍞 PASS Font contains unique glyph names.
🍞 PASS: Checking with fontTools.ttx
- com.google.fonts/check/ttx-roundtrip
- 🍞 PASS Hey! It all looks good!
🍞 PASS: Check all glyphs have codepoints assigned.
- com.google.fonts/check/all_glyphs_have_codepoints
- 🍞 PASS All glyphs have a codepoint value assigned.
🍞 PASS: Checking unitsPerEm value is reasonable.
- com.google.fonts/check/unitsperem
- 🍞 PASS unitsPerEm value (2000) on the 'head' table is reasonable.
🍞 PASS: Checking font version fields (head and name table).
- com.google.fonts/check/font_version
- 🍞 PASS All font version fields match.
🍞 PASS: Check if OS/2 xAvgCharWidth is correct.
- com.google.fonts/check/xavgcharwidth
- 🍞 PASS OS/2 xAvgCharWidth value is correct.
🍞 PASS: Check if OS/2 fsSelection matches head macStyle bold and italic bits.
- com.adobe.fonts/check/fsselection_matches_macstyle
- 🍞 PASS The OS/2.fsSelection and head.macStyle bold and italic settings match.
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
- com.google.fonts/check/post_table_version
- 🍞 PASS Font has post table version 2.
🍞 PASS: Check name table for empty records.
- com.adobe.fonts/check/name/empty_records
- 🍞 PASS No empty name table records found.
🍞 PASS: Description strings in the name table must not contain copyright info.
- com.google.fonts/check/name/no_copyright_on_description
- 🍞 PASS Description strings in the name table do not contain any copyright string.
🍞 PASS: Name table entries should not contain line-breaks.
- com.google.fonts/check/name/line_breaks
- 🍞 PASS Name table entries are all single-line (no line-breaks found).
🍞 PASS: Does full font name begin with the font family name?
- com.google.fonts/check/name/match_familyname_fullfont
- 🍞 PASS Full font name begins with the font family name.
🍞 PASS: Font follows the family naming recommendations?
- com.google.fonts/check/family_naming_recommendations
- 🍞 PASS Font follows the family naming recommendations.
🍞 PASS: Name table strings must not contain the string 'Reserved Font Name'.
- com.google.fonts/check/name/rfn
- 🍞 PASS None of the name table strings contain "Reserved Font Name".
🍞 PASS: Name table ID 6 (PostScript name) must be consistent across platforms.
- com.adobe.fonts/check/name/postscript_name_consistency
- 🍞 PASS Entries in the 'name' table for ID 6 (PostScript name) are consistent.
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?
- com.google.fonts/check/loca/maxp_num_glyphs
- 🍞 PASS 'loca' table matches numGlyphs in 'maxp' table.
🍞 PASS: Checking Vertical Metric Linegaps.
- com.google.fonts/check/linegaps
- 🍞 PASS OS/2 sTypoLineGap and hhea lineGap are both 0.
🍞 PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
- com.google.fonts/check/maxadvancewidth
- 🍞 PASS MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
🍞 PASS: Does the font have a DSIG table?
- com.google.fonts/check/dsig
- 🍞 PASS Digital Signature (DSIG) exists.
🍞 PASS: Whitespace and non-breaking space have the same width?
- com.google.fonts/check/whitespace_widths
- 🍞 PASS Whitespace and non-breaking space have the same width.
🍞 PASS: Is there a "kern" table declared in the font?
- com.google.fonts/check/kern_table
- 🍞 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/glyf_unused_data
- 🍞 PASS There is no unused data at the end of the glyf table.
🍞 PASS: Check for points out of bounds.
- com.google.fonts/check/points_out_of_bounds
- 🍞 PASS All glyph paths have coordinates within bounds!
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
- com.google.fonts/check/varfont/regular_wght_coord
- 🍞 PASS Regular:wght is 400.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
- com.google.fonts/check/varfont/bold_wght_coord
- 🍞 PASS Bold:wght is 700.
🍞 PASS: The variable font 'wght' (Weight) axis coordinate must be within spec range of 1 to 1000 on all instances.
- com.google.fonts/check/wght_valid_range
- 🍞 PASS OK
Summary
💔 ERROR | 🔥 FAIL | ⚠ WARN | 💤 SKIP | ℹ INFO | 🍞 PASS |
---|---|---|---|---|---|
0 | 6 | 6 | 21 | 7 | 113 |
0% | 4% | 4% | 14% | 5% | 74% |