-
Notifications
You must be signed in to change notification settings - Fork 1
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
Solve Variable font fails in Fontbakery #7
Comments
Hi @dancoull! Thank you for this update :) This is the fontbakery report I have locally (version 0.11.2). FontBakery reportfontbakery version: 0.11.2 Check results[1] Family checksℹ INFO: Check axis ordering on the STAT table. (com.google.fonts/check/STAT/axis_order)
[24] ClimateCrisis[YEAR].ttf🔥 FAIL: Check a font's STAT table contains compulsory Axis Values. (com.google.fonts/check/STAT)
🔥 FAIL: Check variable font instances don't have duplicate names (com.google.fonts/check/varfont_duplicate_instance_names)
🔥 FAIL: Validate defaults on fvar table match registered fallback names in GFAxisRegistry. (com.google.fonts/check/gf_axisregistry/fvar_axis_defaults)
🔥 FAIL: Validate STAT particle names and values match the fallback names in GFAxisRegistry. (com.google.fonts/check/STAT/gf_axisregistry)
🔥 FAIL: STAT table has Axis Value tables? (com.adobe.fonts/check/stat_has_axis_value_tables)
⚠ WARN: Check for codepoints not covered by METADATA subsets. (com.google.fonts/check/metadata/unreachable_subsetting)
Use -F or --full-lists to disable shortening of long lists. Or you can add the above codepoints to one of the subsets supported by the font: ⚠ WARN: Ensure files are not too large. (com.google.fonts/check/file_size)
⚠ WARN: Glyphs are similiar to Google Fonts version? (com.google.fonts/check/production_glyphs_similarity)
Use -F or --full-lists to disable shortening of long lists. ⚠ WARN: Check variable font instances (com.google.fonts/check/fvar_instances)
⚠ WARN: Is there kerning info for non-ligated sequences? (com.google.fonts/check/kerning_for_non_ligated_sequences)
⚠ WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table. (com.google.fonts/check/meta/script_lang_tags)
⚠ WARN: Check font contains no unreachable glyphs (com.google.fonts/check/unreachable_glyphs)
⚠ WARN: Does the font contain a soft hyphen? (com.google.fonts/check/soft_hyphen)
⚠ WARN: Does the font contain chws and vchw features? (com.google.fonts/check/cjk_chws_feature)
⚠ WARN: Validates that all of the instance records in a given font have distinct data. (com.adobe.fonts/check/varfont/distinct_instance_records)
⚠ WARN: Ensure dotted circle glyph is present and can attach marks. (com.google.fonts/check/dotted_circle)
⚠ WARN: Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (com.google.fonts/check/soft_dotted)
The dot of soft dotted characters should disappear in other cases, for example: i̦̒ j̦̒ į̆ į̇ į̈ į̊ į̋ į̒ į̣̒ į̦̒ į̧̒ į̨̒ į̭̒ і̀ і̂ і̃ і̄ і̆ і̇ і̊ Your font fully covers the following languages that require the soft-dotted feature: Belarusian (Cyrl, 10,064,517 speakers), Dutch (Latn, 31,709,104 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Cicipu (Latn, 44,000 speakers), Lithuanian (Latn, 2,357,094 speakers). Your font does not cover the following languages that require the soft-dotted feature: Kom (Latn, 360,685 speakers), Lugbara (Latn, 2,200,000 speakers), Southern Kisi (Latn, 360,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Nateni (Latn, 100,000 speakers), Ebira (Latn, 2,200,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Bete-Bendi (Latn, 100,000 speakers), Basaa (Latn, 332,940 speakers), Sar (Latn, 500,000 speakers), Koonzime (Latn, 40,000 speakers), Igbo (Latn, 27,823,640 speakers), Fur (Latn, 1,230,163 speakers), Gulay (Latn, 250,478 speakers), Mundani (Latn, 34,000 speakers), Makaa (Latn, 221,000 speakers), Aghem (Latn, 38,843 speakers), Dii (Latn, 71,000 speakers), Dan (Latn, 1,099,244 speakers), Ejagham (Latn, 120,000 speakers), Yala (Latn, 200,000 speakers), Ma’di (Latn, 584,000 speakers), Zapotec (Latn, 490,000 speakers), South Central Banda (Latn, 244,000 speakers), Mfumte (Latn, 79,000 speakers), Mango (Latn, 77,000 speakers), Bafut (Latn, 158,146 speakers), Avokaya (Latn, 100,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Navajo (Latn, 166,319 speakers), Ekpeye (Latn, 226,000 speakers), Nzakara (Latn, 50,000 speakers). [code: soft-dotted] ℹ INFO: Show hinting filesize impact. (com.google.fonts/check/hinting_impact)
ℹ INFO: Font has old ttfautohint applied? (com.google.fonts/check/old_ttfautohint)
ℹ INFO: EPAR table present in font? (com.google.fonts/check/epar)
ℹ INFO: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (com.google.fonts/check/gasp)
PPM <= 65535: ℹ INFO: Check for font-v versioning. (com.google.fonts/check/fontv)
ℹ INFO: Font contains all required tables? (com.google.fonts/check/required_tables)
ℹ INFO: List all superfamily filepaths (com.google.fonts/check/superfamily/list)
Summary
Note: The following loglevels were omitted in this report:
How to improve it? + explanations
-> We already had these fails during the previous release. It's a non-usual axis, so it create some fails, especially with the stat table. We can ignore them.
-> This is because you have now a fvar table with all the instances according the year. I would advice to remove them, so the year can be accessible only by the slider. Let me know if you really want to keep them in the menu, I'll see what I can do (should be possible by rename them). ![]() ![]() |
Also, you can have a look to that .pdf, there are some interpolation issues in Hangul! |
Hey @emmamarichal :) Thanks so much for the help! If I remove the year instances, what happens with generating the static TTF and WOFF2 files needed for GF? I'm a bit confused with the naming setup since the previous engineer revised it to the following. As you pointed out all of instances now read as Regular. We had originally used the year as the style name. Should I revert back to this? ![]() Also, when trying to generate new fonts using
|
@dancoull, Yes sorry, we will not touch to the instances. Edit: I tried to export the old version, and I have the same issue. So it comes from the tools I think. |
I managed to export the font: please make sure your tools are updated (fontmake, gftools, glyphsLib) Here you can find the fontbakery.
Before, we had: 🔥 FAIL Validate STAT particle names and values match the fallback names in GFAxisRegistry.
Now we have the same, but as an error. I'll investigate about it, but let me know if you also have it. 💥 ERROR Validate STAT particle names and values match the fallback names in GFAxisRegistry.
* 💥 **ERROR**
Failed with AttributeError: 'NoneType' object has no attribute 'toUnicode'
FontBakery reportfontbakery version: 0.12.4 Experimental checksThese won't break the CI job for now, but will become effective after some time if nobody raises any concern. [1] ClimateCrisis[YEAR].ttfAll other checks[20] ClimateCrisis[YEAR].ttf
|
ClimateCrisis[YEAR].ttf | |
---|---|
Dehinted Size | 3.4Mb |
Hinted Size | 3.4Mb |
Increase | 24 bytes |
Change | 0.0 % |
ℹ️ INFO Font has old ttfautohint applied?
- ℹ️ 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.005']
[code: version-not-detected]
🔥 FAIL Checking with fontTools.ttx
-
🔥 FAIL
WARNING: name id 1979 missing from name table
-
🔥 FAIL
WARNING: name id 1990 missing from name table
-
🔥 FAIL
WARNING: name id 2000 missing from name table
-
🔥 FAIL
WARNING: name id 2010 missing from name table
-
🔥 FAIL
WARNING: name id 2019 missing from name table
-
🔥 FAIL
WARNING: name id 2030 missing from name table
-
🔥 FAIL
WARNING: name id 2040 missing from name table
-
🔥 FAIL
WARNING: name id 2050 missing from name table
-
ℹ️ INFO
While converting TTF into an XML file, ttx emited the messages listed below.
🔥 FAIL Validate defaults on fvar table match registered fallback names in GFAxisRegistry.
- 🔥 FAIL
The defaul value YEAR:1979.0 is not registered as an axis fallback name on the Google Axis Registry.
You should consider suggesting the addition of this value to the registry or adopted one of the existing fallback names for this axis:
[name: "Default"
value: 2000.0
]
[code: not-registered]
💥 ERROR Validate STAT particle names and values match the fallback names in GFAxisRegistry.
- 💥 ERROR
Failed with AttributeError: 'NoneType' object has no attribute 'toUnicode'
File "/Users/marichalemma/Google/env/lib/python3.9/site-packages/fontbakery/checkrunner.py", line 213, in _run_check
subresults = list(subresults)
File "/Users/marichalemma/Google/env/lib/python3.9/site-packages/fontbakery/checks/googlefonts/axisregistry.py", line 191, in com_google_fonts_check_STAT_gf_axisregistry_names
name = normalize_name(name_entry.toUnicode())
[code: failed-check]
[1] Family checks
Summary
💥 ERROR | ☠ FATAL | 🔥 FAIL | ⏩ SKIP | ℹ️ INFO | ✅ PASS | 🔎 DEBUG | |
---|---|---|---|---|---|---|---|
1 | 0 | 2 | 12 | 103 | 7 | 124 | 0 |
0% | 0% | 1% | 5% | 41% | 3% | 50% | 0% |
Note: The following loglevels were omitted in this report:
- SKIP
- PASS
- DEBUG
Hey @emmamarichal! Thanks for checking. I'll update the tools and let you know if it works on my side. I had tried the old version too with the same result, but a different typeface worked so I thought it maybe it was the font. I'll check out the other warns too. I've got another update ready that fixes the interpolation issues and removes the soft hyphen. |
@dancoull Ok perfect, thanks a lot! Let me know when you finished, and I will try again to export the fonts :) |
@emmamarichal Updating the tools worked, thanks! I was able to export the fonts :) I'll go through the Fontbakery checks and let you know when I'm done. |
Hey @emmamarichal I've added a new release version solving most of the issues here, at least the relevant warns and those I could understand. Could I ask you to please check these on your side and let me know if it's okay? I'd like to open an issue to onboard this soon. Thanks again! |
Fontbakery has five fails for the Variable Font in the latest Release v1.005. Three of these issues also appeared in the previous version currently on GF fonts.
Would appreciate any help on how to fix these?
FontBakery report
fontbakery version: 0.11.2
[19] ClimateCrisis[YEAR].ttf
🔥 FAIL: Check a font's STAT table contains compulsory Axis Values. (com.google.fonts/check/STAT)
🔥 FAIL: Check variable font instances don't have duplicate names (com.google.fonts/check/varfont_duplicate_instance_names)
🔥 FAIL Following instances names are duplicate:
Regular
[code: duplicate-instance-names]
🔥 FAIL: Validate defaults on fvar table match registered fallback names in GFAxisRegistry. (com.google.fonts/check/gf_axisregistry/fvar_axis_defaults)
You should consider suggesting the addition of this value to the registry or adopted one of the existing fallback names for this axis:
[name: "Default"
value: 2000.0
] [code: not-registered]
🔥 FAIL: Validate STAT particle names and values match the fallback names in GFAxisRegistry. (com.google.fonts/check/STAT/gf_axisregistry)
🔥 FAIL: STAT table has Axis Value tables? (com.adobe.fonts/check/stat_has_axis_value_tables)
⚠ WARN: Check for codepoints not covered by METADATA subsets. (com.google.fonts/check/metadata/unreachable_subsetting)
⚠ 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+02C7 CARON: try adding one of: yi, canadian-aboriginal, tifinagh
U+02D8 BREVE: try adding one of: canadian-aboriginal, yi
U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, math, coptic, tifinagh
U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
U+0307 COMBINING DOT ABOVE: try adding one of: old-permic, tifinagh, coptic, tai-le, math, syriac, canadian-aboriginal, malayalam
U+030A COMBINING RING ABOVE: try adding syriac
U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage
2901 more.
Use -F or --full-lists to disable shortening of long lists.
Or you can add the above codepoints to one of the subsets supported by the font:
cyrillic
,cyrillic-ext
,greek-ext
,latin
,latin-ext
[code: unreachable-subsetting]⚠ WARN: Check OFL body text is correct. (com.google.fonts/check/license/OFL_body_text)
Lines changed:
+ \n
[code: incorrect-ofl-body-text]
⚠ WARN: Check copyright namerecords match license file. (com.google.fonts/check/name/license)
⚠ WARN: Ensure files are not too large. (com.google.fonts/check/file_size)
⚠ WARN: Glyphs are similiar to Google Fonts version? (com.google.fonts/check/production_glyphs_similarity)
Use -F or --full-lists to disable shortening of long lists.
⚠ WARN: Check variable font instances (com.google.fonts/check/fvar_instances)
⚠ WARN: Is there kerning info for non-ligated sequences? (com.google.fonts/check/kerning_for_non_ligated_sequences)
⚠ WARN GPOS table lacks kerning info for the following non-ligated sequences:
f + i
i + l [code: lacks-kern-info]
⚠ WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table. (com.google.fonts/check/meta/script_lang_tags)
⚠ WARN: Check font contains no unreachable glyphs (com.google.fonts/check/unreachable_glyphs)
⚠ WARN The following glyphs could not be reached by codepoint or substitution rules:
bar.kr
uni3008.2.001
uni300A.001
uni300B.001
uni300E.001
uni300F.001
[code: unreachable-glyphs]
⚠ WARN: Does the font contain a soft hyphen? (com.google.fonts/check/soft_hyphen)
⚠ WARN: Does the font contain chws and vchw features? (com.google.fonts/check/cjk_chws_feature)
⚠ WARN: Validates that all of the instance records in a given font have distinct data. (com.adobe.fonts/check/varfont/distinct_instance_records)
⚠ WARN: Ensure dotted circle glyph is present and can attach marks. (com.google.fonts/check/dotted_circle)
⚠ WARN: Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (com.google.fonts/check/soft_dotted)
The dot of soft dotted characters should disappear in other cases, for example: i̦̒ j̦̒ į̆ į̇ į̈ į̊ į̋ į̒ į̣̒ į̦̒ į̧̒ į̨̒ į̭̒ і̀ і̂ і̃ і̄ і̆ і̇ і̊
Your font fully covers the following languages that require the soft-dotted feature: Ukrainian (Cyrl, 29,273,587 speakers), Dutch (Latn, 31,709,104 speakers), Lithuanian (Latn, 2,357,094 speakers), Belarusian (Cyrl, 10,064,517 speakers), Cicipu (Latn, 44,000 speakers).
Your font does not cover the following languages that require the soft-dotted feature: Nzakara (Latn, 50,000 speakers), Yala (Latn, 200,000 speakers), Fur (Latn, 1,230,163 speakers), Lugbara (Latn, 2,200,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), South Central Banda (Latn, 244,000 speakers), Ebira (Latn, 2,200,000 speakers), Makaa (Latn, 221,000 speakers), Dii (Latn, 71,000 speakers), Navajo (Latn, 166,319 speakers), Avokaya (Latn, 100,000 speakers), Kom (Latn, 360,685 speakers), Ngbaka (Latn, 1,020,000 speakers), Bete-Bendi (Latn, 100,000 speakers), Sar (Latn, 500,000 speakers), Ekpeye (Latn, 226,000 speakers), Mundani (Latn, 34,000 speakers), Aghem (Latn, 38,843 speakers), Bafut (Latn, 158,146 speakers), Koonzime (Latn, 40,000 speakers), Southern Kisi (Latn, 360,000 speakers), Igbo (Latn, 27,823,640 speakers), Zapotec (Latn, 490,000 speakers), Gulay (Latn, 250,478 speakers), Mfumte (Latn, 79,000 speakers), Mango (Latn, 77,000 speakers), Nateni (Latn, 100,000 speakers), Ma’di (Latn, 584,000 speakers), Ejagham (Latn, 120,000 speakers), Dan (Latn, 1,099,244 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Basaa (Latn, 332,940 speakers). [code: soft-dotted]
Summary
Note: The following loglevels were omitted in this report:
The text was updated successfully, but these errors were encountered: