aliftype / mada

Mada (مدى) is a geometric, low-contrast Arabic typeface
SIL Open Font License 1.1
61 stars 8 forks source link

build with gftools builder? #43

Closed RosaWagner closed 1 year ago

RosaWagner commented 1 year ago

@khaledhosny instead of using fontmake in the make file, can you use gfools builder? It would close some fails about the hinting and the STAT table.

config.yml would be pretty straightforward:

sources:
    - Mada.glyphs
buildOTF: false
familyName: Mada

and the command should be: gftools builder config.yml

Fontbakery report

Fontbakery version: 0.8.11

[1] Family checks
INFO: Check axis ordering on the STAT table. (com.google.fonts/check/STAT/axis_order)
* ℹ **INFO** From a total of 1 font files, 0 of them (0.00%) lack a STAT table. And these are the most common STAT axis orderings: ('wght', 1) [code: summary]

[20] Mada.ttf
🔥 FAIL: Checking file is named canonically. (com.google.fonts/check/canonical_filename)
* 🔥 **FAIL** Expected "Mada[wght].ttf. Got Mada.ttf. [code: bad-filename]
🔥 FAIL: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (com.google.fonts/check/gasp)
* 🔥 **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled. If you are dealing with an unhinted font, it can be fixed by running the fonts through the command 'gftools fix-nonhinting' GFTools is available at https://pypi.org/project/gftools/ [code: lacks-gasp]
🔥 FAIL: Font enables smart dropout control in "prep" table instructions? (com.google.fonts/check/smart_dropout)
* 🔥 **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 `gftools fix-nonhinting` script. [code: lacks-smart-dropout]
🔥 FAIL: Check a font's STAT table contains compulsory Axis Values. (com.google.fonts/check/STAT)
* 🔥 **FAIL** Compulsory STAT Axis Values are incorrect: | Name | Axis | Current Value | Current Flags | Current LinkedValue | Expected Value | Expected Flags | Expected LinkedValue | | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | | ExtraLight | wght | N/A | N/A | N/A | 200.0 | 0 | None | | Light | wght | N/A | N/A | N/A | 300.0 | 0 | None | | Regular | wght | N/A | N/A | N/A | 400.0 | 2 | 700.0 | | Medium | wght | N/A | N/A | N/A | 500.0 | 0 | None | | SemiBold | wght | N/A | N/A | N/A | 600.0 | 0 | None | | Bold | wght | N/A | N/A | N/A | 700.0 | 0 | None | | ExtraBold | wght | N/A | N/A | N/A | 800.0 | 0 | None | | Black | wght | N/A | N/A | N/A | 900.0 | 0 | None | [code: bad-axis-values]
🔥 FAIL: Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts. (com.google.fonts/check/vertical_metrics_regressions)
* 🔥 **FAIL** Mada Regular: OS/2 sTypoAscender is 950 when it should be 900 [code: bad-typo-ascender] * 🔥 **FAIL** Mada Regular: OS/2 sTypoDescender is -350 when it should be -300 [code: bad-typo-descender] * 🔥 **FAIL** Mada Regular: hhea Ascender is 950 when it should be 900 [code: bad-hhea-ascender] * 🔥 **FAIL** Mada Regular: hhea Descender is -350 when it should be -300 [code: bad-hhea-descender]
🔥 FAIL: Validate STAT particle names and values match the fallback names in GFAxisRegistry. (com.google.fonts/check/STAT/gf_axisregistry)
* 🔥 **FAIL** STAT table is missing Axis Value Records [code: missing-axis-values]
🔥 FAIL: Glyph names are all valid? (com.google.fonts/check/valid_glyphnames)
* 🔥 **FAIL** The following glyph names do not comply with naming conventions: hamza-ar, highhamza-ar, alef-ar, alef-ar.fina, alef-ar.fina.1, behDotless-ar, behDotless-ar.fina, behDotless-ar.medi, behDotless-ar.init, hah-ar and 360 more. Use -F or --full-lists to disable shortening of long lists. A glyph name must be entirely comprised of characters from the following set: A-Z a-z 0-9 .(period) _(underscore). A glyph name must not start with a digit or period. There are a few exceptions such as the special glyph ".notdef". The glyph names "twocents", "a1", and "_" are all valid, while "2cents" and ".twocents" are not. [code: found-invalid-names]
🔥 FAIL: Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (com.google.fonts/check/soft_dotted)
* 🔥 **FAIL** The dot of soft dotted characters used in orthographies must disappear in the following strings: i̊ i̋ i̍ i̐ i̓ j̀ j́ j̃ j̄ j̈ į̀ į́ į̂ į̃ į̄ į̌ ɨ̀ ɨ́ ɨ̂ ɨ̃ ɨ̄ ɨ̈ ɨ̋ ɨ̌ ɨ̏ ɨ̧̀ ɨ̧́ ɨ̧̂ ɨ̧̌ ɨ̱̀ ɨ̱́ ɨ̱̈ ị̀ ị́ ị̂ ị̃ ị̄ The dot of soft dotted characters should disappear in other cases, for example: i̅ i̇ i̒ i̦̅ i̦̇ i̦̊ i̦̋ i̦̍ i̦̐ i̦̒ i̦̓ i̧̅ i̧̇ i̧̊ i̧̋ i̧̍ i̧̐ i̧̒ i̧̓ i̩̅ [code: soft-dotted]
🔥 FAIL: STAT table has Axis Value tables? (com.adobe.fonts/check/stat_has_axis_value_tables)
* 🔥 **FAIL** STAT table has no Axis Value tables. [code: no-axis-value-tables]
WARN: Glyphs are similiar to Google Fonts version? (com.google.fonts/check/production_glyphs_similarity)
* ⚠ **WARN** Following glyphs differ greatly from Google Fonts version: * .notdef * AE * Acircumflex * Aring * Eth * Euro * ampersand * cent and oslash
WARN: Name table strings must not contain the string 'Reserved Font Name'. (com.google.fonts/check/name/rfn)
* ⚠ **WARN** Name table entry contains "Reserved Font Name" for a family name ("Source") that differs from the currently used family name (Mada), which is fine. [code: legacy-familyname]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table. (com.google.fonts/check/meta/script_lang_tags)
* ⚠ **WARN** This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Detect any interpolation issues in the font. (com.google.fonts/check/interpolation_issues)
* ⚠ **WARN** Interpolation issues were found in the font: - Contour order differs in glyph 'command': [0, 1] in , [1, 0] in . [code: interpolation-issues]
INFO: Show hinting filesize impact. (com.google.fonts/check/hinting_impact)
* ℹ **INFO** Hinting filesize impact: | | Mada.ttf | |:------------- | ---------------:| | Dehinted Size | 190.0kb | | Hinted Size | 190.0kb | | Increase | -24 bytes | | Change | -0.0 % | [code: size-impact]
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.000'] [code: version-not-detected]
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 [code: lacks-EPAR]
INFO: Familyname must be unique according to namecheck.fontdata.com (com.google.fonts/check/fontdata_namecheck)
* ℹ **INFO** The family name "Mada" seems to be already in use. Please visit http://namecheck.fontdata.com for more info. [code: name-collision]
INFO: Check for font-v versioning. (com.google.fonts/check/fontv)
* ℹ **INFO** Version string is: "Version 1.000" 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" [code: bad-format]
INFO: Font contains all required tables? (com.google.fonts/check/required_tables)
* ℹ **INFO** This font contains the following optional tables: - loca - GPOS - GSUB [code: optional-tables]
INFO: List all superfamily filepaths (com.google.fonts/check/superfamily/list)
* ℹ **INFO** . [code: family-path]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 9 4 101 8 120 0
0% 4% 2% 42% 3% 50% 0%

Note: The following loglevels were omitted in this report:

khaledhosny commented 1 year ago

Sorry, I fix these when I make the dist tarball (I don’t want to depend on gftools for various reasons). Can you check against these files instead? Mada-1.4.zip

RosaWagner commented 1 year ago

Okay let's ship

khaledhosny commented 1 year ago

Okay let's ship

https://github.com/aliftype/mada/releases/tag/v1.5