If you think a check is flawed or have an idea for a check, please file an issue at https://github.com/fonttools/fontbakery/issues and remember to include a pointer to the repo and branch you're checking.
DEPRECATION WARNING
By late-December 2024, FontBakery version 0.13.0 introduced a new naming scheme for the check-IDs.
Fontbakery detected usage of old IDs and performed an automatic backwards-compatibility translation for you.
This automatic translation will be deprecated in the next major release.
Please start using the new check-IDs as documented at /Lib/fontbakery/legacy_checkids.py
The following legacy check-IDs were detected:
- com.google.fonts/check/outline_alignment_miss
- com.google.fonts/check/outline_colinear_vectors
- com.google.fonts/check/outline_semi_vertical
- com.google.fonts/check/fontdata_namecheck
- com.google.fonts/check/version_bump
- com.google.fonts/check/outline_jaggy_segments
- com.google.fonts/check/outline_short_segments
- com.google.fonts/check/ttx_roundtrip
Summary
💥 ERROR | ☠ FATAL | 🔥 FAIL | ⚠️ WARN | ⏩ SKIP | ℹ️ INFO | ✅ PASS |
---|---|---|---|---|---|---|
2 | 0 | 27 | 31 | 61 | 16 | 320 |
0% | 0% | 6% | 7% | 13% | 4% | 70% |
Meaning of check results:
- 💥 An ERROR is something wrong with FontBakery itself, possibly a bug.
- ☠ A FATAL is an extremely severe issue that must be addressed immediately.
- 🔥 A FAIL is a problem with the font that must be fixed.
- ⚠️ A WARN is something that you should consider addressing.
- ℹ️ An INFO result simply prints something useful. Typically stats.
- ✅ A PASS means the font looks good for the given checking routine.
- ⏩ And a SKIP happens when the check does not apply to the given font.
If you get ERRORs, please help us improve the tool by reporting them at our issue tracker.
(but other kinds of bug reports and/or feature requests are also always welcome, of course!)
FontBakery version: 0.13.1
OpenType Specification Checks
🔥⚠️⚠️⚠️⚠️⚠️⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩ℹ️Check mark characters are in GDEF mark glyph class.
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
The following mark characters could be in the GDEF mark glyph class: uni0488 (U+0488) and uni0489 (U+0489)
[code: mark-chars]
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
The following mark characters could be in the GDEF mark glyph class: uni0488 (U+0488) and uni0489 (U+0489)
[code: mark-chars]
Checking post.italicAngle value.
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
Font is italic, so post.italicAngle should be non-zero.
[code: zero-italic]
Font has correct post table version?
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
Post table format 3 use has niche use case problems.Please review the check rationale for additional details.
[code: post-table-version]
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
Post table format 3 use has niche use case problems.Please review the check rationale for additional details.
[code: post-table-version]
Check if OS/2 xAvgCharWidth is correct.
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
OS/2 xAvgCharWidth is 1161 but it should be 1122 which corresponds to the average of the widths of all glyphs in the font.
[code: xAvgCharWidth-wrong]
Universal Profile Checks
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩ℹ️ℹ️ℹ️ℹ️Ensure the font supports case swapping for all its glyphs.
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
The following glyphs lack their case-swapping counterparts:
Glyph present in the font Missing case-swapping counterpart U+1F4D: GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA U+1F45: GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
🔥 Roboto[wdth,wght].ttf
-
🔥 FAIL
The following glyphs lack their case-swapping counterparts:
Glyph present in the font Missing case-swapping counterpart U+1F4D: GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA U+1F45: GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
Does font file include unacceptable control character glyphs?
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
The following unacceptable control characters were identified: uni0002
[code: unacceptable]
🔥 Roboto[wdth,wght].ttf
-
🔥 FAIL
The following unacceptable control characters were identified: uni0002
[code: unacceptable]
Checking OS/2 usWinAscent & usWinDescent.
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
OS/2.usWinAscent value should be equal or greater than 2163, but got 1946 instead
[code: ascent] -
🔥 FAIL
OS/2.usWinDescent value should be equal or greater than 555, but got 512 instead
[code: descent]
🔥 Roboto[wdth,wght].ttf
-
🔥 FAIL
OS/2.usWinAscent value should be equal or greater than 2163, but got 1946 instead
[code: ascent] -
🔥 FAIL
OS/2.usWinDescent value should be equal or greater than 555, but got 512 instead
[code: descent]
Are there caret positions declared for every ligature?
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
This font lacks caret position values for ligature glyphs on its GDEF table.
[code: lacks-caret-pos]
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
This font lacks caret position values for ligature glyphs on its GDEF table.
[code: lacks-caret-pos]
Checking Vertical Metric Linegaps.
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
OS/2 sTypoLineGap is not equal to 0.
Overridden: This check was originally a WARN but was overridden by the universal profile: For Google Fonts, all messages from this check are considered FAILs.
[code: OS/2]
🔥 Roboto[wdth,wght].ttf
-
🔥 FAIL
OS/2 sTypoLineGap is not equal to 0.
Overridden: This check was originally a WARN but was overridden by the universal profile: For Google Fonts, all messages from this check are considered FAILs.
[code: OS/2]
Check math signs have the same width.
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
The most common width is 1090 among a set of 2 math glyphs. The following math glyphs have a different width, though:
Width = 1127: plus
Width = 1010: less
Width = 1039: greater
Width = 1100: logicalnot
Width = 1062: plusminus
Width = 1060: multiply
Width = 1135: divide
Width = 1136: minus
Width = 1119: approxequal
Width = 1020: lessequal
Width = 1049: greaterequal
[code: width-outliers]
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
The most common width is 1041 among a set of 2 math glyphs. The following math glyphs have a different width, though:
Width = 1162: plus
Width = 1124: notequal, equal
Width = 1071: greaterequal, greater
Width = 1134: logicalnot
Width = 1095: plusminus
Width = 1093: multiply
Width = 1170: divide
Width = 1171: minus
Width = 1154: approxequal
[code: width-outliers]
Combined length of family and style must not exceed 32 characters.
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
Variable font instance name 'Roboto Condensed ExtraLight Italic' formed by space-separated concatenation of font family name (nameID 1) and instance subfamily nameID 286 exceeds 32 characters.
This has been found to cause shaping issues for some accented letters in Microsoft Word on Windows 10 and 11.
[code: instance-too-long] -
🔥 FAIL
Variable font instance name 'Roboto Condensed ExtraLight Italic' formed by space-separated concatenation of font family name (nameID 1) and instance subfamily nameID 286 exceeds 32 characters.
This has been found to cause shaping issues for some accented letters in Microsoft Word on Windows 10 and 11.
[code: instance-too-long] -
🔥 FAIL
Variable font instance name 'Roboto Condensed ExtraBold Italic' formed by space-separated concatenation of font family name (nameID 1) and instance subfamily nameID 292 exceeds 32 characters.
This has been found to cause shaping issues for some accented letters in Microsoft Word on Windows 10 and 11.
[code: instance-too-long] -
🔥 FAIL
Variable font instance name 'Roboto Condensed ExtraBold Italic' formed by space-separated concatenation of font family name (nameID 1) and instance subfamily nameID 292 exceeds 32 characters.
This has been found to cause shaping issues for some accented letters in Microsoft Word on Windows 10 and 11.
[code: instance-too-long]
Checking OS/2 Metrics match hhea Metrics.
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
OS/2 sTypoAscender (1536) and hhea ascent (1900) must be equal.
[code: ascender]
🔥 Roboto[wdth,wght].ttf
-
🔥 FAIL
OS/2 sTypoAscender (1536) and hhea ascent (1900) must be equal.
[code: ascender]
Check there are no overlapping path segments
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
The following glyphs have overlapping path segments:
[code: overlapping-path-segments]* uni0411 (U+0411): L<<54.0,0.0>--<306.0,1456.0>> has the same coordinates as a previous segment.
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
The following glyphs have overlapping path segments:
[code: overlapping-path-segments]* uni0411 (U+0411): L<<163.0,0.0>--<163.0,1456.0>> has the same coordinates as a previous segment. * glyph00580: L<<851.0,540.0>--<1000.0,540.0>> has the same coordinates as a previous segment.
Ensure smart dropout control is enabled in "prep" table instructions.
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
The 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the
[code: lacks-smart-dropout]gftools fix-nonhinting
script.
🔥 Roboto[wdth,wght].ttf
-
🔥 FAIL
The 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the
[code: lacks-smart-dropout]gftools fix-nonhinting
script.
Does the font contain a soft hyphen?
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
This font has a 'Soft Hyphen' character.
[code: softhyphen]
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
This font has a 'Soft Hyphen' character.
[code: softhyphen]
Ensure Stylistic Sets have description.
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss02 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss04 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss05 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss06 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss07 lacks a description string on the 'name' table.
[code: missing-description]
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss02 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss04 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss05 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss06 lacks a description string on the 'name' table.
[code: missing-description] -
⚠️ WARN
The stylistic set ss07 lacks a description string on the 'name' table.
[code: missing-description]
Checking that the typoAscender exceeds the yMax of the /Agrave.
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
OS/2.sTypoAscender value should be greater than 1847, but got 1536 instead
[code: typoAscender]
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
OS/2.sTypoAscender value should be greater than 1847, but got 1536 instead
[code: typoAscender]
Article Checks
⚠️⚠️Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
Family metadata at /Users/simon/others-repos/fonts//ofl/roboto does not have an article.
[code: lacks-article]
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
Family metadata at /Users/simon/others-repos/fonts//ofl/roboto does not have an article.
[code: lacks-article]
Metadata Checks
🔥🔥🔥🔥🔥⚠️⚠️⏩⏩⏩⏩ℹ️ℹ️METADATA.pb: Check URL on copyright string is the same as in repository_url field.
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
Repository URL is https://github.com/googlefonts/roboto-classic
But: HTML description has 'github.com/TypeNetwork/Roboto'
[code: mismatch]
🔥 Roboto[wdth,wght].ttf
-
🔥 FAIL
Repository URL is https://github.com/googlefonts/roboto-classic
But: HTML description has 'github.com/TypeNetwork/Roboto'
[code: mismatch]
METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
Designer name at METADATA.pb (Paratype) is not the same as listed on the designers catalog (ParaType) available at https://raw.githubusercontent.com/google/fonts/master/catalog/designers/paratype/info.pb
[code: mismatch]
🔥 Roboto[wdth,wght].ttf
-
🔥 FAIL
Designer name at METADATA.pb (Paratype) is not the same as listed on the designers catalog (ParaType) available at https://raw.githubusercontent.com/google/fonts/master/catalog/designers/paratype/info.pb
[code: mismatch]
Check for codepoints not covered by METADATA subsets.
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.
- U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
- U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
- U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
- U+030F COMBINING DOUBLE GRAVE ACCENT: not included in any glyphset definition
- U+2000 EN QUAD: try adding symbols2
- U+2001 EM QUAD: try adding symbols2
- U+2003 EM SPACE: try adding nushu
- U+2004 THREE-PER-EM SPACE: try adding symbols2
- U+2005 FOUR-PER-EM SPACE: try adding symbols2
- U+2006 SIX-PER-EM SPACE: try adding symbols2
- U+2007 FIGURE SPACE: try adding symbols2
- U+2008 PUNCTUATION SPACE: try adding symbols2
- U+200A HAIR SPACE: try adding symbols2
- U+2010 HYPHEN: try adding one of: hebrew, sora-sompeng, kharoshthi, lisu, yi, syloti-nagri, cham, coptic, sundanese, arabic, armenian, kaithi, kayah-li
- U+2011 NON-BREAKING HYPHEN: try adding one of: yi, syloti-nagri, arabic
- U+2015 HORIZONTAL BAR: try adding adlam
- U+201B SINGLE HIGH-REVERSED-9 QUOTATION MARK: try adding adlam
- U+2021 DOUBLE DAGGER: try adding adlam
- U+2025 TWO DOT LEADER: try adding phags-pa
- U+2027 HYPHENATION POINT: not included in any glyphset definition
- U+2030 PER MILLE SIGN: try adding adlam
- U+EE01 : not included in any glyphset definition
- U+EE02 : not included in any glyphset definition
- U+F6C3 : not included in any glyphset definition
- U+FB01 LATIN SMALL LIGATURE FI: not included in any glyphset definition
- U+FB02 LATIN SMALL LIGATURE FL: not included in any glyphset definition
- U+FB03 LATIN SMALL LIGATURE FFI: not included in any glyphset definition
- U+FB04 LATIN SMALL LIGATURE FFL: not included in any glyphset definition
- U+FFFC OBJECT REPLACEMENT CHARACTER: not included in any glyphset definition
Or you can add the above codepoints to one of the subsets supported by the font:
[code: unreachable-subsetting]cyrillic
,cyrillic-ext
,greek
,greek-ext
,latin
,latin-ext
,math
,menu
,symbols
,vietnamese
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.
- U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
- U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
- U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
- U+030F COMBINING DOUBLE GRAVE ACCENT: not included in any glyphset definition
- U+2000 EN QUAD: try adding symbols2
- U+2001 EM QUAD: try adding symbols2
- U+2003 EM SPACE: try adding nushu
- U+2004 THREE-PER-EM SPACE: try adding symbols2
- U+2005 FOUR-PER-EM SPACE: try adding symbols2
- U+2006 SIX-PER-EM SPACE: try adding symbols2
- U+2007 FIGURE SPACE: try adding symbols2
- U+2008 PUNCTUATION SPACE: try adding symbols2
- U+200A HAIR SPACE: try adding symbols2
- U+2010 HYPHEN: try adding one of: hebrew, sora-sompeng, kharoshthi, lisu, yi, syloti-nagri, cham, coptic, sundanese, arabic, armenian, kaithi, kayah-li
- U+2011 NON-BREAKING HYPHEN: try adding one of: yi, syloti-nagri, arabic
- U+2015 HORIZONTAL BAR: try adding adlam
- U+201B SINGLE HIGH-REVERSED-9 QUOTATION MARK: try adding adlam
- U+2021 DOUBLE DAGGER: try adding adlam
- U+2025 TWO DOT LEADER: try adding phags-pa
- U+2027 HYPHENATION POINT: not included in any glyphset definition
- U+2030 PER MILLE SIGN: try adding adlam
- U+EE01 : not included in any glyphset definition
- U+EE02 : not included in any glyphset definition
- U+F6C3 : not included in any glyphset definition
- U+FB01 LATIN SMALL LIGATURE FI: not included in any glyphset definition
- U+FB02 LATIN SMALL LIGATURE FL: not included in any glyphset definition
- U+FB03 LATIN SMALL LIGATURE FFI: not included in any glyphset definition
- U+FB04 LATIN SMALL LIGATURE FFL: not included in any glyphset definition
- U+FFFC OBJECT REPLACEMENT CHARACTER: not included in any glyphset definition
Or you can add the above codepoints to one of the subsets supported by the font:
[code: unreachable-subsetting]cyrillic
,cyrillic-ext
,greek
,greek-ext
,latin
,latin-ext
,math
,menu
,symbols
,vietnamese
Check name ID 25 to end with "Italic" for Italic VFs.
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
Name ID 25 must end with "Italic" for Italic fonts.
[code: nameid25-missing-italic]
Glyphset Checks
💥💥Shapes languages in all GF glyphsets.
💥 Roboto-Italic[wdth,wght].ttf
-
💥 ERROR
Failed with ModuleNotFoundError: No module named 'shaperglot.checker'
[code: failed-check]File "/Users/simon/work/gf-dashboard/venv/lib/python3.13/site-packages/fontbakery/checkrunner.py", line 222, in _run_check subresults = list(subresults) File "/Users/simon/work/gf-dashboard/venv/lib/python3.13/site-packages/fontbakery/checks/vendorspecific/googlefonts/glyphsets/shape_languages.py", line 19, in check_glyphsets_shape_languages from shaperglot.checker import Checker
💥 Roboto[wdth,wght].ttf
-
💥 ERROR
Failed with ModuleNotFoundError: No module named 'shaperglot.checker'
[code: failed-check]File "/Users/simon/work/gf-dashboard/venv/lib/python3.13/site-packages/fontbakery/checkrunner.py", line 222, in _run_check subresults = list(subresults) File "/Users/simon/work/gf-dashboard/venv/lib/python3.13/site-packages/fontbakery/checks/vendorspecific/googlefonts/glyphsets/shape_languages.py", line 19, in check_glyphsets_shape_languages from shaperglot.checker import Checker
Description Checks
🔥⚠️⚠️ℹ️ℹ️ℹ️ℹ️DESCRIPTION.en_us.html should end in a linebreak.
⚠️ METADATA.pb
-
⚠️ WARN
The last characther on DESCRIPTION.en_us.html is not a line-break. Please add it.
[code: missing-eof-linebreak]
On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.
[code: description-not-updated]
DESCRIPTION.en_us.html must have more than 200 bytes.
🔥 METADATA.pb
-
🔥 FAIL
DESCRIPTION.en_us.html must have size larger than 200 bytes.
[code: too-short]
Shaping Checks
⚠️⚠️⏩⏩⏩⏩⏩⏩Ensure dotted circle glyph is present and can attach marks.
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
No dotted circle glyph present
[code: missing-dotted-circle]
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
No dotted circle glyph present
[code: missing-dotted-circle]
Outline Checks
⚠️⚠️⏩⏩⏩⏩⏩⏩⏩⏩Check the direction of the outermost contour in each glyph
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
The following glyphs have a counter-clockwise outer contour:
[code: ccw-outer-contour]* glyph00517 has a counter-clockwise outer contour * glyph00517 has a counter-clockwise outer contour * glyph00517 has a counter-clockwise outer contour * glyph00519 has a counter-clockwise outer contour * glyph00519 has a counter-clockwise outer contour * glyph00532 has a counter-clockwise outer contour * glyph00532 has a counter-clockwise outer contour * glyph00544 has a counter-clockwise outer contour * glyph00544 has a counter-clockwise outer contour
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
The following glyphs have a counter-clockwise outer contour:
[code: ccw-outer-contour]* glyph00517 has a counter-clockwise outer contour * glyph00517 has a counter-clockwise outer contour * glyph00517 has a counter-clockwise outer contour * glyph00519 has a counter-clockwise outer contour * glyph00519 has a counter-clockwise outer contour * glyph00532 has a counter-clockwise outer contour * glyph00544 has a counter-clockwise outer contour * glyph00544 has a counter-clockwise outer contour
Font File Checks
🔥🔥🔥🔥🔥🔥🔥⚠️⚠️⚠️⚠️⏩⏩⏩⏩⏩⏩⏩⏩ℹ️ℹ️ℹ️Check variable font instances
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
fvar instances are incorrect:
- Delete additional instances
Name current expected Condensed ExtraLight Italic wght=200.0, wdth=75.0 N/A Condensed Bold Italic wght=700.0, wdth=75.0 N/A Condensed ExtraBold Italic wght=800.0, wdth=75.0 N/A Condensed Black Italic wght=900.0, wdth=75.0 N/A Condensed Thin Italic wght=100.0, wdth=75.0 N/A Condensed Medium Italic wght=500.0, wdth=75.0 N/A Condensed Light Italic wght=300.0, wdth=75.0 N/A Condensed Italic wght=400.0, wdth=75.0 N/A Condensed SemiBold Italic wght=600.0, wdth=75.0 N/A Thin Italic wght=100.0, wdth=100.0 wght=100.0, wdth=100.0 ExtraLight Italic wght=200.0, wdth=100.0 wght=200.0, wdth=100.0 Light Italic wght=300.0, wdth=100.0 wght=300.0, wdth=100.0 Italic wght=400.0, wdth=100.0 wght=400.0, wdth=100.0 Medium Italic wght=500.0, wdth=100.0 wght=500.0, wdth=100.0 SemiBold Italic wght=600.0, wdth=100.0 wght=600.0, wdth=100.0 Bold Italic wght=700.0, wdth=100.0 wght=700.0, wdth=100.0 ExtraBold Italic wght=800.0, wdth=100.0 wght=800.0, wdth=100.0 Black Italic wght=900.0, wdth=100.0 wght=900.0, wdth=100.0
🔥 Roboto[wdth,wght].ttf
-
🔥 FAIL
fvar instances are incorrect:
- Delete additional instances
Name current expected Condensed Medium wght=500.0, wdth=75.0 N/A Condensed Bold wght=700.0, wdth=75.0 N/A Condensed ExtraLight wght=200.0, wdth=75.0 N/A Condensed Light wght=300.0, wdth=75.0 N/A Condensed ExtraBold wght=800.0, wdth=75.0 N/A Condensed Regular wght=400.0, wdth=75.0 N/A Condensed Black wght=900.0, wdth=75.0 N/A Condensed Thin wght=100.0, wdth=75.0 N/A Condensed SemiBold wght=600.0, wdth=75.0 N/A Thin wght=100.0, wdth=100.0 wght=100.0, wdth=100.0 ExtraLight wght=200.0, wdth=100.0 wght=200.0, wdth=100.0 Light wght=300.0, wdth=100.0 wght=300.0, wdth=100.0 Regular wght=400.0, wdth=100.0 wght=400.0, wdth=100.0 Medium wght=500.0, wdth=100.0 wght=500.0, wdth=100.0 SemiBold wght=600.0, wdth=100.0 wght=600.0, wdth=100.0 Bold wght=700.0, wdth=100.0 wght=700.0, wdth=100.0 ExtraBold wght=800.0, wdth=100.0 wght=800.0, wdth=100.0 Black wght=900.0, wdth=100.0 wght=900.0, wdth=100.0
Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
⚠️ Roboto-Italic[wdth,wght].ttf
-
ℹ️ INFO
These are the ppm ranges declared on the gasp table:
PPM <= 8: flag = 0x08 - Use smoothing along multiple axes with ClearType® PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®
[code: ranges] -
⚠️ WARN
The gasp table has a range of 8 that may be unneccessary.
[code: non-ffff-range]
⚠️ Roboto[wdth,wght].ttf
-
ℹ️ INFO
These are the ppm ranges declared on the gasp table:
PPM <= 8: flag = 0x08 - Use smoothing along multiple axes with ClearType® PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®
[code: ranges] -
⚠️ WARN
The gasp table has a range of 8 that may be unneccessary.
[code: non-ffff-range]
Check Google Fonts glyph coverage.
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
Missing required codepoints:
[code: missing-codepoints]- 0x0302 (COMBINING CIRCUMFLEX ACCENT) - 0x0304 (COMBINING MACRON) - 0x0306 (COMBINING BREVE) - 0x0307 (COMBINING DOT ABOVE) - 0x0308 (COMBINING DIAERESIS) - 0x030A (COMBINING RING ABOVE) - 0x030B (COMBINING DOUBLE ACUTE ACCENT) - 0x030C (COMBINING CARON) - 0x0326 (COMBINING COMMA BELOW) - 0x0327 (COMBINING CEDILLA) - 0x0328 (COMBINING OGONEK) - 0x1E9E (LATIN CAPITAL LETTER SHARP S)
🔥 Roboto[wdth,wght].ttf
-
🔥 FAIL
Missing required codepoints:
[code: missing-codepoints]- 0x0302 (COMBINING CIRCUMFLEX ACCENT) - 0x0304 (COMBINING MACRON) - 0x0306 (COMBINING BREVE) - 0x0307 (COMBINING DOT ABOVE) - 0x0308 (COMBINING DIAERESIS) - 0x030A (COMBINING RING ABOVE) - 0x030B (COMBINING DOUBLE ACUTE ACCENT) - 0x030C (COMBINING CARON) - 0x0326 (COMBINING COMMA BELOW) - 0x0327 (COMBINING CEDILLA) - 0x0328 (COMBINING OGONEK) - 0x1E9E (LATIN CAPITAL LETTER SHARP S)
Ensure fonts have ScriptLangTags declared on the 'meta' table.
⚠️ Roboto-Italic[wdth,wght].ttf
-
⚠️ WARN
This font file does not have a 'meta' table.
[code: lacks-meta-table]
⚠️ Roboto[wdth,wght].ttf
-
⚠️ WARN
This font file does not have a 'meta' table.
[code: lacks-meta-table]
OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts.
🔥 Family Check
-
🔥 FAIL
OS/2.fsSelection bit 7 (USE_TYPO_METRICS) wasNOT set in the following fonts: ['/Users/simon/others-repos/fonts//ofl/roboto/Roboto-Italic[wdth,wght].ttf', '/Users/simon/others-repos/fonts//ofl/roboto/Roboto[wdth,wght].ttf'].
[code: missing-os2-fsselection-bit7]
Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts.
🔥 Roboto-Italic[wdth,wght].ttf
-
🔥 FAIL
Roboto Regular: OS/2 sTypoAscender is 1536 when it should be 1946
[code: bad-typo-ascender] -
🔥 FAIL
Roboto Regular: hhea Ascender is 1900 when it should be 1946
[code: bad-hhea-ascender] -
🔥 FAIL
Roboto Regular: hhea Descender is -500 when it should be -512
[code: bad-hhea-descender]
🔥 Roboto[wdth,wght].ttf
-
🔥 FAIL
Roboto Regular: OS/2 sTypoAscender is 1536 when it should be 1946
[code: bad-typo-ascender] -
🔥 FAIL
Roboto Regular: hhea Ascender is 1900 when it should be 1946
[code: bad-hhea-ascender] -
🔥 FAIL
Roboto Regular: hhea Descender is -500 when it should be -512
[code: bad-hhea-descender]