-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
staatliches: v1.000 added #1727
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this!
The following needs to be changed:
- Gen METADATA.pb file. Use https://github.com/googlefonts/gftools/blob/master/bin/gftools-add-font.py
- Update the category and designer in the METADATA.pb file
- Fix the following:
FAIL MS-FonVal: Wrapped contour(s) DETAILS: Glyph index 421
🔥 FAIL MS-FonVal: Duplicated contours DETAILS: Glyph index 421
🔥 FAIL MS-FonVal: Intersecting contours DETAILS: Glyph index 421
- Rerun the fonts through FB
I'll gen you some diff images.
How did you generate the fonts? there's a new set of FB errors we need to investigate.
🔥 FAIL MS-FonVal: The table doesn't contain strings for Mac platform
🔥 FAIL MS-FonVal: The PostScript string is not present for both required platforms DETAILS: Mac
When the CI is done, we won't need to run FB or gen diff images ourselves. The CI will do this for us.
I have a BUILD.py srctipt in the |
Thanks. Fontmake doesn't gen Mac name table fields. This has already been reported, googlefonts/fontmake#414. I think we should disable this Fval test in Font Validator. |
No language/script names in family names
Hey @m4rc1e, I made the updates suggested above and this is ready for review again. Here is the new FontBakery report: Fontbakery report[22] Family checks🔥 FAIL: Check font has a license.
🍞 PASS: Checking all files are in the same directory.
🍞 PASS: Fonts have equal unicode encodings?
🍞 PASS: Make sure all font files have the same version value.
🍞 PASS: Fonts have consistent PANOSE proportion?
🍞 PASS: Fonts have consistent PANOSE family type?
🍞 PASS: Fonts have consistent underline thickness?
💤 SKIP: Does DESCRIPTION file contain broken links?
💤 SKIP: Is this a proper HTML snippet?
💤 SKIP: DESCRIPTION.en_us.html must have more than 200 bytes.
💤 SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes.
💤 SKIP: Font designer field in METADATA.pb must not be 'unknown'.
💤 SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API?
💤 SKIP: METADATA.pb: check if fonts field only has unique "full_name" values.
💤 SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs.
💤 SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
💤 SKIP: METADATA.pb should contain at least "menu" and "latin" subsets.
💤 SKIP: METADATA.pb subsets should be alphabetically ordered.
💤 SKIP: METADATA.pb: Copyright notice is the same in all fonts?
💤 SKIP: Check that METADATA.pb family values are all the same.
💤 SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style.
💤 SKIP: METADATA.pb: Regular should be 400.
[112] Staatliches-Regular.ttf🔥 FAIL: Checking with Microsoft Font Validator.
fonts/Staatliches-Regular.ttf (file 1 of 1)
|
fonts/Staatliches-Regular.ttf | |
---|---|
Dehinted Size | 45.8kb |
Hinted Size | 61.8kb |
Increase | 16.1kb |
Change | 0.4 % |
ℹ️ INFO: EPAR table present in font?
- com.google.fonts/check/061
- ℹ️ INFO EPAR table not present in font. To learn more see When missing EPAR table, just emit INFO alert fonttools/fontbakery#818
ℹ️ INFO: Is 'gasp' table set to optimize rendering?
- com.google.fonts/check/062
- ℹ️ 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/166
- ℹ️ INFO Version string is: "Version 1.000; ttfautohint (v1.8.2) -l 8 -r 50 -G 200 -x 14 -D latn -f none -a qsq -X """
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/052
- ℹ️ INFO This font contains the following optional tables [GPOS, cvt , DSIG, GSUB, prep, fpgm, gasp, loca]
- 🍞 PASS Font contains all required tables.
🍞 PASS: Checking file is named canonically.
- com.google.fonts/check/001
- 🍞 PASS fonts/Staatliches-Regular.ttf is named canonically.
🍞 PASS: Fonts have equal numbers of glyphs?
- com.google.fonts/check/011
- 🍞 PASS All font files in this family have an equal total ammount of glyphs.
🍞 PASS: Fonts have equal glyph names?
- com.google.fonts/check/012
- 🍞 PASS All font files have identical glyph names.
🍞 PASS: Checking OS/2 fsType.
- com.google.fonts/check/016
- 🍞 PASS OS/2 fsType is properly set to zero.
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
- com.google.fonts/check/019
- 🍞 PASS No need to substitute copyright, registered and trademark symbols in name table entries of this font.
🍞 PASS: Checking OS/2 usWeightClass.
- com.google.fonts/check/020
- 🍞 PASS OS/2 usWeightClass value looks good!
🍞 PASS: "License URL matches License text on name table?
- com.google.fonts/check/030
- 🍞 PASS Font has a valid license URL in NAME table.
🍞 PASS: Description strings in the name table must not exceed 200 characters.
- com.google.fonts/check/032
- 🍞 PASS All description name records have reasonably small lengths.
🍞 PASS: Version format is correct in 'name' table?
- com.google.fonts/check/055
- 🍞 PASS Version format in NAME table entries is correct.
🍞 PASS: Font has ttfautohint params?
- com.google.fonts/check/has_ttfautohint_params
- 🍞 PASS Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D latn -f none -a qsq -X "")
🍞 PASS: Font has old ttfautohint applied?
- com.google.fonts/check/056
- 🍞 PASS ttfautohint available in the system (1.8.2) is older than the one used in the font (1.8.2).
🍞 PASS: Make sure family name does not begin with a digit.
- com.google.fonts/check/067
- 🍞 PASS Font family name first character is not a digit.
🍞 PASS: Font has all expected currency sign characters?
- com.google.fonts/check/070
- 🍞 PASS Font has all expected currency sign characters.
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
- com.google.fonts/check/074
- 🍞 PASS None of the ASCII-only NAME table entries contain non-ASCII characteres.
🍞 PASS: Is font em size (ideally) equal to 1000?
- com.google.fonts/check/116
- 🍞 PASS Font em size is equal to 1000.
🍞 PASS: Checking OS/2 fsSelection value.
- com.google.fonts/check/129
- 🍞 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/130
- 🍞 PASS Value of post.italicAngle is 0.0 with style='Regular'.
🍞 PASS: Checking head.macStyle value.
- com.google.fonts/check/131
- 🍞 PASS head macStyle ITALIC bit is properly set.
- 🍞 PASS head macStyle BOLD bit is properly set.
🍞 PASS: Font has all mandatory 'name' table entries ?
- com.google.fonts/check/156
- 🍞 PASS Font contains values for all mandatory name table entries.
🍞 PASS: Check name table: FONT_FAMILY_NAME entries.
- com.google.fonts/check/157
- 🍞 PASS FONT_FAMILY_NAME entries are all good.
🍞 PASS: Check name table: FONT_SUBFAMILY_NAME entries.
- com.google.fonts/check/158
- 🍞 PASS FONT_SUBFAMILY_NAME entries are all good.
🍞 PASS: Check name table: FULL_FONT_NAME entries.
- com.google.fonts/check/159
- 🍞 PASS FULL_FONT_NAME entries are all good.
🍞 PASS: Check name table: POSTSCRIPT_NAME entries.
- com.google.fonts/check/160
- 🍞 PASS POSTCRIPT_NAME entries are all good.
🍞 PASS: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
- com.google.fonts/check/161
- 🍞 PASS TYPOGRAPHIC_FAMILY_NAME entries are all good.
🍞 PASS: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
- com.google.fonts/check/162
- 🍞 PASS TYPOGRAPHIC_SUBFAMILY_NAME entries are all good.
🍞 PASS: Length of copyright notice must not exceed 500 characters.
- com.google.fonts/check/164
- 🍞 PASS All copyright notice name entries on the 'name' table are shorter than 500 characters.
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
- com.google.fonts/check/165
- 🍞 PASS Font familyname seems to be unique.
🍞 PASS: Checking OS/2 usWinAscent & usWinDescent.
- com.google.fonts/check/040
- 🍞 PASS OS/2 usWinAscent & usWinDescent values look good!
🍞 PASS: Checking OS/2 Metrics match hhea Metrics.
- com.google.fonts/check/042
- 🍞 PASS OS/2.sTypoAscender/Descender match hhea.ascent/descent.
🍞 PASS: Font enables smart dropout control in "prep" table instructions?
- com.google.fonts/check/072
- 🍞 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: Checking with ftxvalidator.
- com.google.fonts/check/035
- 🍞 PASS ftxvalidator passed this file
🍞 PASS: Checking with ots-sanitize.
- com.google.fonts/check/036
- 🍞 PASS ots-sanitize passed this file
🍞 PASS: Font contains .notdef as first glyph?
- com.google.fonts/check/046
- 🍞 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/047
- 🍞 PASS Font contains glyphs for whitespace characters.
🍞 PASS: Font has **proper** whitespace glyph names?
- com.google.fonts/check/048
- 🍞 PASS Font has proper whitespace glyph names.
🍞 PASS: Whitespace glyphs have ink?
- com.google.fonts/check/049
- 🍞 PASS There is no whitespace glyph with ink.
🍞 PASS: Are there unwanted tables?
- com.google.fonts/check/053
- 🍞 PASS There are no unwanted tables.
🍞 PASS: Glyph names are all valid?
- com.google.fonts/check/058
- 🍞 PASS Glyph names are all valid.
🍞 PASS: Font contains unique glyph names?
- com.google.fonts/check/059
- 🍞 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 glyphs have unique unicode codepoints.
- com.google.fonts/check/076
- 🍞 PASS All glyphs have unique unicode codepoint assignments.
🍞 PASS: Check all glyphs have codepoints assigned.
- com.google.fonts/check/077
- 🍞 PASS All glyphs have a codepoint value assigned.
🍞 PASS: Checking unitsPerEm value is reasonable.
- com.google.fonts/check/043
- 🍞 PASS unitsPerEm value on the 'head' table is reasonable.
🍞 PASS: Checking font version fields (head and name table).
- com.google.fonts/check/044
- 🍞 PASS All font version fields match.
🍞 PASS: Check if OS/2 xAvgCharWidth is correct.
- com.google.fonts/check/034
- 🍞 PASS OS/2 xAvgCharWidth value is correct.
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
- com.google.fonts/check/015
- 🍞 PASS Font has post table version 2.
🍞 PASS: Description strings in the name table must not contain copyright info.
- com.google.fonts/check/031
- 🍞 PASS Description strings in the name table do not contain any copyright string.
🍞 PASS: Checking correctness of monospaced metadata.
- com.google.fonts/check/033
- 🍞 PASS Font is not monospaced and all related metadata look good. [code: good]
🍞 PASS: Name table entries should not contain line-breaks.
- com.google.fonts/check/057
- 🍞 PASS Name table entries are all single-line (no line-breaks found).
🍞 PASS: Does full font name begin with the font family name?
- com.google.fonts/check/068
- 🍞 PASS Full font name begins with the font family name.
🍞 PASS: Font follows the family naming recommendations?
- com.google.fonts/check/071
- 🍞 PASS Font follows the family naming recommendations.
🍞 PASS: Name table strings must not contain the string 'Reserved Font Name'.
- com.google.fonts/check/152
- 🍞 PASS None of the name table strings contain "Reserved Font Name".
🍞 PASS: Combined length of family and style must not exceed 20 characters.
- com.google.fonts/check/163
- 🍞 PASS All name entries are good.
🍞 PASS: Checking Vertical Metric Linegaps.
- com.google.fonts/check/041
- 🍞 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/073
- 🍞 PASS MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
🍞 PASS: Does the font have a DSIG table?
- com.google.fonts/check/045
- 🍞 PASS Digital Signature (DSIG) exists.
🍞 PASS: Whitespace and non-breaking space have the same width?
- com.google.fonts/check/050
- 🍞 PASS Whitespace and non-breaking space have the same width.
🍞 PASS: Does GPOS table have kerning information?
- com.google.fonts/check/063
- 🍞 PASS GPOS table has got kerning information.
🍞 PASS: Is there a "kern" table declared in the font?
- com.google.fonts/check/066
- 🍞 PASS Font does not declare an optional "kern" table.
🍞 PASS: Is there any unused data at the end of the glyf table?
- com.google.fonts/check/069
- 🍞 PASS There is no unused data at the end of the glyf table.
🍞 PASS: Check for points out of bounds.
- com.google.fonts/check/075
- 🍞 PASS All glyph paths have coordinates within bounds!
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?
- com.google.fonts/check/180
- 🍞 PASS 'loca' table matches numGlyphs in 'maxp' table.
Summary
💔 ERROR | 🔥 FAIL | 💤 SKIP | ℹ️ INFO | 🍞 PASS | |
---|---|---|---|---|---|
0 | 2 | 4 | 54 | 5 | 69 |
0% | 1% | 3% | 40% | 4% | 51% |
You must run fontbakery on the font directory in the ofl dir. You can see it's skipping the METADATA checks. For me, it's the following cli:
I get the following report: Fontbakery report[3] Family checks🔥 FAIL: Is this a proper HTML snippet?
🔥 FAIL: METADATA.pb subsets should be alphabetically ordered.
|
💔 ERROR | 🔥 FAIL | 💤 SKIP | ℹ️ INFO | 🍞 PASS | |
---|---|---|---|---|---|
0 | 4 | 5 | 15 | 5 | 105 |
0% | 3% | 4% | 11% | 4% | 78% |
Note: The following loglevels were omitted in this report:
- SKIP
- INFO
- PASS
FAIL: Is this a proper HTML snippet? Opening paragraph tag is com.google.fonts/check/087 I haven't seen this FAIL for a long time. Are you using the latest gftool add-font.py? com.google.fonts/check/102 Your copyright string needs updating from:
com.google.fonts/check/037 We need to look into. This is being caused by Glyphsapp. |
I made an issue about this here: googlefonts/gftools#89 I wrote this |
from pull d9fd0cf Fontbakery report[1] Family checks
|
💔 ERROR | 🔥 FAIL | 💤 SKIP | ℹ️ INFO | 🍞 PASS | |
---|---|---|---|---|---|
0 | 1 | 5 | 15 | 5 | 108 |
0% | 1% | 4% | 11% | 4% | 81% |
Note: The following loglevels were omitted in this report:
- SKIP
- INFO
- PASS
LGTM, will just gen diffs then give Dave the go ahead
@eliheuer Thanks! We're good. @davelab6 we can push this. Imgs attached Staatliches.zip |
So there's good news and bad news. 👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there. 😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request. Note to project maintainer: This is a terminal state, meaning the |
Deleting and restoring this branch was my mistake if anyone is wondering, sorry about that. |
From the upstream repo: https://github.com/googlefonts/staatliches
Fontbakery report
[22] Family checks
🔥 FAIL: Check font has a license.
🍞 PASS: Checking all files are in the same directory.
🍞 PASS: Fonts have equal unicode encodings?
🍞 PASS: Make sure all font files have the same version value.
🍞 PASS: Fonts have consistent PANOSE proportion?
🍞 PASS: Fonts have consistent PANOSE family type?
🍞 PASS: Fonts have consistent underline thickness?
💤 SKIP: Does DESCRIPTION file contain broken links?
💤 SKIP: Is this a proper HTML snippet?
💤 SKIP: DESCRIPTION.en_us.html must have more than 200 bytes.
💤 SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes.
💤 SKIP: Font designer field in METADATA.pb must not be 'unknown'.
💤 SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API?
💤 SKIP: METADATA.pb: check if fonts field only has unique "full_name" values.
💤 SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs.
💤 SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
💤 SKIP: METADATA.pb should contain at least "menu" and "latin" subsets.
💤 SKIP: METADATA.pb subsets should be alphabetically ordered.
💤 SKIP: METADATA.pb: Copyright notice is the same in all fonts?
💤 SKIP: Check that METADATA.pb family values are all the same.
💤 SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style.
💤 SKIP: METADATA.pb: Regular should be 400.
[112] Staatliches-Regular.ttf
🔥 FAIL: Checking with Microsoft Font Validator.
fonts/Staatliches-Regular.ttf (file 1 of 1)
Table Test: DSIG
Table Test: GDEF
Table Test: GPOS
Table Test: GSUB
Table Test: OS/2
Table Test: cmap
Table Test: cvt
Table Test: fpgm
Table Test: gasp
Table Test: glyf
Progress: Validating glyph with index 0 (out of 424 glyphs)
Progress: Validating glyph with index 100 (out of 424 glyphs)
Progress: Validating glyph with index 200 (out of 424 glyphs)
Progress: Validating glyph with index 300 (out of 424 glyphs)
Progress: Validating glyph with index 400 (out of 424 glyphs)
Table Test: head
Table Test: hhea
Table Test: hmtx
Table Test: loca
Table Test: maxp
Table Test: name
Table Test: post
Table Test: prep
Complete: fonts/Staatliches-Regular.ttf.report.xml
Reports are ready!
The following glyphs do not have the recommended number of contours:
Glyph name: b Contours detected: 3 Expected: 2
Glyph name: e Contours detected: 1 Expected: 2
Glyph name: g Contours detected: 1 Expected: 2 or 3
Glyph name: i Contours detected: 1 Expected: 2
Glyph name: j Contours detected: 1 Expected: 2
Glyph name: r Contours detected: 2 Expected: 1
Glyph name: ae Contours detected: 2 Expected: 3
Glyph name: egrave Contours detected: 2 Expected: 3
Glyph name: eacute Contours detected: 2 Expected: 3
Glyph name: ecircumflex Contours detected: 2 Expected: 3
Glyph name: edieresis Contours detected: 3 Expected: 4
Glyph name: aogonek Contours detected: 3 Expected: 2
Glyph name: emacron Contours detected: 2 Expected: 3
Glyph name: ebreve Contours detected: 2 Expected: 3
Glyph name: edotaccent Contours detected: 2 Expected: 3
Glyph name: ecaron Contours detected: 2 Expected: 3
Glyph name: gcircumflex Contours detected: 2 Expected: 3 or 4
Glyph name: gbreve Contours detected: 2 Expected: 3 or 4
Glyph name: gdotaccent Contours detected: 2 Expected: 3 or 4
Glyph name: uni0123 Contours detected: 2 Expected: 3 or 4
Glyph name: hbar Contours detected: 2 Expected: 1
Glyph name: ij Contours detected: 2 Expected: 3 or 4
Glyph name: at Contours detected: 1 Expected: 2
Glyph name: oe Contours detected: 2 Expected: 3
Glyph name: racute Contours detected: 3 Expected: 2
Glyph name: uni0157 Contours detected: 3 Expected: 2
Glyph name: rcaron Contours detected: 3 Expected: 2
Glyph name: Uogonek Contours detected: 2 Expected: 1
Glyph name: uogonek Contours detected: 2 Expected: 1
Glyph name: perthousand Contours detected: 10 Expected: 6 or 7
Glyph name: aeacute Contours detected: 3 Expected: 4
com.google.fonts/check/065
[code: lacks-kern-info]
💤 SKIP: Check copyright namerecords match license file.
💤 SKIP: Checks METADATA.pb font.name field matches family name declared on the name table.
💤 SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
💤 SKIP: METADATA.pb font.full_name value matches fullname declared on the name table?
💤 SKIP: METADATA.pb font.name value should be same as the family name declared on the name table.
💤 SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
💤 SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values?
💤 SKIP: METADATA.pb font.name field contains font name in right format?
💤 SKIP: METADATA.pb font.full_name field contains font name in right format?
💤 SKIP: METADATA.pb font.filename field contains font name in right format?
💤 SKIP: METADATA.pb font.post_script_name field contains font name in right format?
💤 SKIP: Copyright notice on METADATA.pb matches canonical pattern?
💤 SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'.
💤 SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars.
💤 SKIP: METADATA.pb: Filename is set canonically?
💤 SKIP: METADATA.pb font.style "italic" matches font internals?
💤 SKIP: METADATA.pb font.style "normal" matches font internals?
💤 SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
💤 SKIP: METADATA.pb: Check if fontname is not camel cased.
💤 SKIP: METADATA.pb: Check font name is the same as family name.
💤 SKIP: METADATA.pb: Check that font weight has a canonical value.
💤 SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb.
💤 SKIP: METADATA.pb weight matches postScriptName.
💤 SKIP: METADATA.pb: Font styles are named canonically?
💤 SKIP: Version number has increased since previous release on Google Fonts?
💤 SKIP: Glyphs are similiar to Google Fonts version?
💤 SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts?
💤 SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
💤 SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
💤 SKIP: Check a static ttf can be generated from a variable font.
💤 SKIP: FontForge validation outputs error messages?
💤 SKIP: FontForge checks.
💤 SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
💤 SKIP: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
💤 SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
💤 SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
💤 SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
💤 SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
💤 SKIP: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
ℹ️ INFO: Show hinting filesize impact.
ℹ️ INFO: EPAR table present in font?
ℹ️ INFO: Is 'gasp' table set to optimize rendering?
PPM <= 65535:
flag = 0x0F
- Use gridfitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
ℹ️ INFO: Check for font-v versioning
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?
🍞 PASS: Checking file is named canonically.
🍞 PASS: Fonts have equal numbers of glyphs?
🍞 PASS: Fonts have equal glyph names?
🍞 PASS: Checking OS/2 fsType.
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
🍞 PASS: Checking OS/2 usWeightClass.
🍞 PASS: "License URL matches License text on name table?
🍞 PASS: Description strings in the name table must not exceed 200 characters.
🍞 PASS: Version format is correct in 'name' table?
🍞 PASS: Font has ttfautohint params?
🍞 PASS: Font has old ttfautohint applied?
🍞 PASS: Make sure family name does not begin with a digit.
🍞 PASS: Font has all expected currency sign characters?
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
🍞 PASS: Is font em size (ideally) equal to 1000?
🍞 PASS: Checking OS/2 fsSelection value.
🍞 PASS: Checking post.italicAngle value.
🍞 PASS: Checking head.macStyle value.
🍞 PASS: Font has all mandatory 'name' table entries ?
🍞 PASS: Check name table: FONT_FAMILY_NAME entries.
🍞 PASS: Check name table: FONT_SUBFAMILY_NAME entries.
🍞 PASS: Check name table: FULL_FONT_NAME entries.
🍞 PASS: Check name table: POSTSCRIPT_NAME entries.
🍞 PASS: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
🍞 PASS: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
🍞 PASS: Length of copyright notice must not exceed 500 characters.
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
🍞 PASS: Checking OS/2 usWinAscent & usWinDescent.
🍞 PASS: Checking OS/2 Metrics match hhea Metrics.
🍞 PASS: Font enables smart dropout control in "prep" table instructions?
🍞 PASS: There must not be VTT Talk sources in the font.
🍞 PASS: Checking with ftxvalidator.
🍞 PASS: Checking with ots-sanitize.
🍞 PASS: Font contains .notdef as first glyph?
🍞 PASS: Font contains glyphs for whitespace characters?
🍞 PASS: Font has **proper** whitespace glyph names?
🍞 PASS: Whitespace glyphs have ink?
🍞 PASS: Are there unwanted tables?
🍞 PASS: Glyph names are all valid?
🍞 PASS: Font contains unique glyph names?
🍞 PASS: Checking with fontTools.ttx
🍞 PASS: Check glyphs have unique unicode codepoints.
🍞 PASS: Check all glyphs have codepoints assigned.
🍞 PASS: Checking unitsPerEm value is reasonable.
🍞 PASS: Checking font version fields (head and name table).
🍞 PASS: Check if OS/2 xAvgCharWidth is correct.
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
🍞 PASS: Description strings in the name table must not contain copyright info.
🍞 PASS: Checking correctness of monospaced metadata.
🍞 PASS: Name table entries should not contain line-breaks.
🍞 PASS: Does full font name begin with the font family name?
🍞 PASS: Font follows the family naming recommendations?
🍞 PASS: Name table strings must not contain the string 'Reserved Font Name'.
🍞 PASS: Combined length of family and style must not exceed 20 characters.
🍞 PASS: Checking Vertical Metric Linegaps.
🍞 PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
🍞 PASS: Does the font have a DSIG table?
🍞 PASS: Whitespace and non-breaking space have the same width?
🍞 PASS: Does GPOS table have kerning information?
🍞 PASS: Is there a "kern" table declared in the font?
🍞 PASS: Is there any unused data at the end of the glyf table?
🍞 PASS: Check for points out of bounds.
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?
Summary