Skip to content
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

Zain: Version 1.20; ttfautohint (v1.8.4) added #7890

Merged
merged 2 commits into from
Jun 27, 2024

Conversation

yanone
Copy link
Collaborator

@yanone yanone commented Jun 27, 2024

Taken from the upstream repo https://github.com/googlefonts/zain at commit googlefonts/zain@38d5fc3.

Resolves #7626

PR Checklist:

  • Family categorization tags collected from the type design team with the Categories Form
  • Minisite_url definition in the METADATA.pb file for commissioned projects
  • Primary_script definition in the METADATA.pb file for all projects that have a primary non-Latin based language support target
  • Fontbakery checks are reviewed and failing checks are resolved in collaboration with the upstream font development team
  • Diffenator2 regression checks for revisions on all projects that are currently in production
  • Designers bio info have to be present in the designer catalog (at least an issue should be opened for tracking this, if they are not)
  • Check designers order in metadata.pb, since the first one of the list appears as “principal designer”
  • Social media formatted visual assets for all new commissioned projects in the Drive directory, communicate with the repository Maintainer so that they can push this content to the Social Media tracker spreadsheet
  • Social media content draft for all new commissioned projects in the Drive directory and Social Media tracker spreadsheet, communicate with the repository Maintainer so that they can push this content to the Social Media tracker spreadsheet

@yanone yanone added I New Font II Accepted Non-commissioned projects that are accepted for onboarding II Arabic / Hebrew / Semitic / RTL Middle-east and afro-asian RTL scripts labels Jun 27, 2024
@yanone
Copy link
Collaborator Author

yanone commented Jun 27, 2024

Updated

@yanone yanone force-pushed the gftools_packager_ofl_zain branch from 0b263ca to 68e4fa4 Compare June 27, 2024 09:25
@emmamarichal emmamarichal changed the title Zain: Version 1.10; ttfautohint (v1.8.4) added Zain: Version 1.20; ttfautohint (v1.8.4) added Jun 27, 2024
Copy link

FontBakery report

fontbakery version: 0.12.7

Experimental checks

These won't break the CI job for now, but will become effective after some time if nobody raises any concern.

[2] Zain-ExtraLight.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]
[2] Zain-Black.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]
[2] Zain-ExtraBold.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]
[2] Zain-Bold.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]
[2] Zain-Light.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]
[2] Zain-Regular.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]

All other checks

[22] Zain-ExtraLight.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni0652

- uniFC5E

- 5 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check glyphs in mark glyph class are non-spacing.
  • ⚠️ WARN

    The following spacing glyphs may be in the GDEF mark glyph class by mistake:
    uni06510652 (U+E121)


    [code: spacing-mark-glyphs]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 388 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 450: greaterequal, lessequal, greater, less

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* exclam (U+0021): L<<60.0,124.0>--<59.0,553.0>>

* exclam (U+0021): L<<85.0,528.0>--<83.0,124.0>>

* exclam.ar (U+E103): L<<99.0,553.0>--<98.0,122.0>>

* exclamdown (U+00A1): L<<47.0,-204.0>--<49.0,224.0>>

* exclamdown (U+00A1): L<<73.0,200.0>--<74.0,-204.0>>

* uni06F4.tab (U+E137): L<<225.0,319.0>--<224.0,7.0>>

* uni06F4: L<<105.0,319.0>--<104.0,7.0>>

[code: found-semi-vertical]

⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN DESCRIPTION.en_us.html should end in a linebreak.
  • ⚠️ WARN

    The last characther on DESCRIPTION.en_us.html is not a line-break. Please add it.


    [code: missing-eof-linebreak]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-ExtraLight.ttf
Dehinted Size 120.6kb
Hinted Size 167.0kb
Increase 46.4kb
Change 38.5 %
[code: size-impact]
[22] Zain-Black.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni0652

- uniFC5E

- 5 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check glyphs in mark glyph class are non-spacing.
  • ⚠️ WARN

    The following spacing glyphs may be in the GDEF mark glyph class by mistake:
    uni06510652 (U+E121)


    [code: spacing-mark-glyphs]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 432 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 462: lessequal, greater, less

Width = 467: greaterequal

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* uni0663.tab (U+E125): L<<45.0,14.0>--<44.0,451.0>>

* uni0663: L<<45.0,14.0>--<44.0,451.0>>

* uni0664.tab (U+E126): L<<501.0,221.0>--<366.0,222.0>>

* uni0664: L<<362.0,221.0>--<227.0,222.0>>

* uni06F3.tab (U+E136): L<<45.0,14.0>--<44.0,451.0>>

* uni06F3: L<<45.0,14.0>--<44.0,451.0>>

* uniFB7D (U+FB7D): L<<1.0,0.0>--<0.0,133.0>>

* uniFBFD (U+FBFD): L<<662.0,133.0>--<661.0,8.0>>

* uniFE8A (U+FE8A): L<<662.0,133.0>--<661.0,8.0>>

* uniFEA0 (U+FEA0): L<<1.0,0.0>--<0.0,133.0>>

* 5 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-semi-vertical]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN DESCRIPTION.en_us.html should end in a linebreak.
  • ⚠️ WARN

    The last characther on DESCRIPTION.en_us.html is not a line-break. Please add it.


    [code: missing-eof-linebreak]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-Black.ttf
Dehinted Size 121.0kb
Hinted Size 184.8kb
Increase 63.8kb
Change 52.8 %
[code: size-impact]
[23] Zain-Bold.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni0652

- uniFC5E

- 5 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check glyphs in mark glyph class are non-spacing.
  • ⚠️ WARN

    The following spacing glyphs may be in the GDEF mark glyph class by mistake:
    uni06510652 (U+E121)


    [code: spacing-mark-glyphs]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 418 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 452: greaterequal, lessequal, greater, less

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do any segments have colinear vectors?
  • ⚠️ WARN

    The following glyphs have colinear vectors:

* uni0651064B.1 (U+E120): L<<94.0,816.0>--<146.0,817.0>> -> L<<146.0,817.0>--<183.0,817.0>>

[code: found-colinear-vectors]

⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* uni0664.tab (U+E126): L<<488.0,236.0>--<360.0,237.0>>

* uni0664: L<<355.0,236.0>--<227.0,237.0>>

[code: found-semi-vertical]

⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN DESCRIPTION.en_us.html should end in a linebreak.
  • ⚠️ WARN

    The last characther on DESCRIPTION.en_us.html is not a line-break. Please add it.


    [code: missing-eof-linebreak]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-Bold.ttf
Dehinted Size 122.6kb
Hinted Size 180.0kb
Increase 57.4kb
Change 46.8 %
[code: size-impact]
[23] Zain-Light.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni0652

- uniFC5E

- 5 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check glyphs in mark glyph class are non-spacing.
  • ⚠️ WARN

    The following spacing glyphs may be in the GDEF mark glyph class by mistake:
    uni06510652 (U+E121)


    [code: spacing-mark-glyphs]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 384 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 449: greaterequal, lessequal, greater, less

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do any segments have colinear vectors?
  • ⚠️ WARN

    The following glyphs have colinear vectors:

* uniFEBA (U+FEBA): L<<1186.0,177.0>--<1186.0,175.0>> -> L<<1186.0,175.0>--<1187.0,154.0>>

* uniFEBC (U+FEBC): L<<794.0,177.0>--<794.0,175.0>> -> L<<794.0,175.0>--<795.0,154.0>>

* uniFEBE (U+FEBE): L<<1186.0,177.0>--<1186.0,175.0>> -> L<<1186.0,175.0>--<1187.0,154.0>>

* uniFEC0 (U+FEC0): L<<794.0,177.0>--<794.0,175.0>> -> L<<794.0,175.0>--<795.0,154.0>>

* uniFEC2 (U+FEC2): L<<715.0,177.0>--<715.0,175.0>> -> L<<715.0,175.0>--<716.0,154.0>>

* uniFEC6 (U+FEC6): L<<715.0,177.0>--<715.0,175.0>> -> L<<715.0,175.0>--<716.0,154.0>>

[code: found-colinear-vectors]

⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* exclam (U+0021): L<<47.0,141.0>--<45.0,549.0>>

* exclam.ar (U+E103): L<<111.0,551.0>--<108.0,141.0>>

* exclam.ar (U+E103): L<<62.0,141.0>--<59.0,504.0>>

* exclamdown (U+00A1): L<<47.0,-193.0>--<49.0,216.0>>

* uni0663.tab (U+E125): L<<67.0,8.0>--<66.0,504.0>>

* uni0663: L<<71.0,8.0>--<70.0,504.0>>

* uni06F3.tab (U+E136): L<<67.0,8.0>--<66.0,504.0>>

* uni06F3: L<<71.0,8.0>--<70.0,504.0>>

* uni06F4.tab (U+E137): L<<244.0,291.0>--<243.0,10.0>>

* uni06F4: L<<122.0,291.0>--<121.0,10.0>>

[code: found-semi-vertical]

⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN DESCRIPTION.en_us.html should end in a linebreak.
  • ⚠️ WARN

    The last characther on DESCRIPTION.en_us.html is not a line-break. Please add it.


    [code: missing-eof-linebreak]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-Light.ttf
Dehinted Size 123.4kb
Hinted Size 176.8kb
Increase 53.4kb
Change 43.3 %
[code: size-impact]
[22] Zain-ExtraBold.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni06510652

- uni0652

- 6 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 431 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 452: greaterequal, lessequal, greater, less

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do any segments have colinear vectors?
  • ⚠️ WARN

    The following glyphs have colinear vectors:

* uni0651064B.1 (U+E120): L<<95.0,728.0>--<151.0,729.0>> -> L<<151.0,729.0>--<185.0,729.0>>

* uni0651064B.1 (U+E120): L<<95.0,817.0>--<151.0,818.0>> -> L<<151.0,818.0>--<185.0,818.0>>

* uniFC5F (U+FC5F): L<<93.0,513.0>--<148.0,514.0>> -> L<<148.0,514.0>--<182.0,514.0>>

* uniFC5F (U+FC5F): L<<93.0,602.0>--<148.0,603.0>> -> L<<148.0,603.0>--<182.0,603.0>>

[code: found-colinear-vectors]

⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* uni0662.tab (U+E124): L<<316.0,372.0>--<317.0,13.0>>

* uni0662: L<<160.0,372.0>--<161.0,13.0>>

* uni0663.tab (U+E125): L<<50.0,13.0>--<49.0,463.0>>

* uni0663: L<<47.0,13.0>--<46.0,463.0>>

* uni0666.tab (U+E128): L<<363.0,13.0>--<364.0,372.0>>

* uni0666: L<<208.0,13.0>--<209.0,372.0>>

* uni06F2.tab (U+E135): L<<316.0,372.0>--<317.0,13.0>>

* uni06F2: L<<160.0,372.0>--<161.0,13.0>>

* uni06F3.tab (U+E136): L<<50.0,13.0>--<49.0,463.0>>

* uni06F3: L<<47.0,13.0>--<46.0,463.0>>

* 4 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-semi-vertical]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN DESCRIPTION.en_us.html should end in a linebreak.
  • ⚠️ WARN

    The last characther on DESCRIPTION.en_us.html is not a line-break. Please add it.


    [code: missing-eof-linebreak]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-ExtraBold.ttf
Dehinted Size 121.2kb
Hinted Size 181.9kb
Increase 60.7kb
Change 50.1 %
[code: size-impact]
[22] Zain-Regular.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni06510652

- uni0652

- 6 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
  • 🔥 FAIL

    METADATA.pb font full_name = "Zain" does not match post_script_name = "Zain-Regular"


    [code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 403 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 450: greaterequal, lessequal, greater, less

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* uni0666.tab (U+E128): L<<394.0,10.0>--<395.0,376.0>>

* uni0666: L<<238.0,10.0>--<239.0,376.0>>

[code: found-semi-vertical]

⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN DESCRIPTION.en_us.html should end in a linebreak.
  • ⚠️ WARN

    The last characther on DESCRIPTION.en_us.html is not a line-break. Please add it.


    [code: missing-eof-linebreak]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-Regular.ttf
Dehinted Size 120.8kb
Hinted Size 177.5kb
Increase 56.7kb
Change 46.9 %
[code: size-impact]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
  • ℹ️ INFO

    All of the fonts lack a STAT table.


    [code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 13 85 368 49 883 0
0% 0% 1% 6% 26% 4% 63% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • PASS
  • DEBUG

@emmamarichal
Copy link
Collaborator

@yanone Should I block the 1.1 version in the Sandbox then? because it looked quite urgent. At least this update corrects a big bug or mistake?

@yanone
Copy link
Collaborator Author

yanone commented Jun 27, 2024

Yes, it corrects a mistake.
I don't know anymore how and when to release it.
The contractor Jürgen Willrodt just told me that now they want the font publication to be delayed, which is of course the opposite of what they said earlier. I will write an email now to him and Chris and CC you. Maybe it's best to hold the release for now until this is resolved.

@emmamarichal
Copy link
Collaborator

@yanone Ok thanks, I'll block the first PR!

Copy link

FontBakery report

fontbakery version: 0.12.7

Experimental checks

These won't break the CI job for now, but will become effective after some time if nobody raises any concern.

[2] Zain-ExtraLight.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]
[2] Zain-Black.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]
[2] Zain-ExtraBold.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]
[2] Zain-Bold.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]
[2] Zain-Light.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]
[2] Zain-Regular.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Family metadata at ofl/zain does not have an article.


    [code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


    [code: lacks-minisite-url]

All other checks

[21] Zain-ExtraLight.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni0652

- uniFC5E

- 5 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check glyphs in mark glyph class are non-spacing.
  • ⚠️ WARN

    The following spacing glyphs may be in the GDEF mark glyph class by mistake:
    uni06510652 (U+E121)


    [code: spacing-mark-glyphs]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 388 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 450: greaterequal, greater, lessequal, less

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* exclam (U+0021): L<<60.0,124.0>--<59.0,553.0>>

* exclam (U+0021): L<<85.0,528.0>--<83.0,124.0>>

* exclam.ar (U+E103): L<<99.0,553.0>--<98.0,122.0>>

* exclamdown (U+00A1): L<<47.0,-204.0>--<49.0,224.0>>

* exclamdown (U+00A1): L<<73.0,200.0>--<74.0,-204.0>>

* uni06F4.tab (U+E137): L<<225.0,319.0>--<224.0,7.0>>

* uni06F4: L<<105.0,319.0>--<104.0,7.0>>

[code: found-semi-vertical]

⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: canadian-aboriginal, yi, tifinagh
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-ExtraLight.ttf
Dehinted Size 120.6kb
Hinted Size 167.0kb
Increase 46.4kb
Change 38.5 %
[code: size-impact]
[21] Zain-Black.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni0652

- uniFC5E

- 5 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check glyphs in mark glyph class are non-spacing.
  • ⚠️ WARN

    The following spacing glyphs may be in the GDEF mark glyph class by mistake:
    uni06510652 (U+E121)


    [code: spacing-mark-glyphs]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 432 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 462: greater, lessequal, less

Width = 467: greaterequal

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* uni0663.tab (U+E125): L<<45.0,14.0>--<44.0,451.0>>

* uni0663: L<<45.0,14.0>--<44.0,451.0>>

* uni0664.tab (U+E126): L<<501.0,221.0>--<366.0,222.0>>

* uni0664: L<<362.0,221.0>--<227.0,222.0>>

* uni06F3.tab (U+E136): L<<45.0,14.0>--<44.0,451.0>>

* uni06F3: L<<45.0,14.0>--<44.0,451.0>>

* uniFB7D (U+FB7D): L<<1.0,0.0>--<0.0,133.0>>

* uniFBFD (U+FBFD): L<<662.0,133.0>--<661.0,8.0>>

* uniFE8A (U+FE8A): L<<662.0,133.0>--<661.0,8.0>>

* uniFEA0 (U+FEA0): L<<1.0,0.0>--<0.0,133.0>>

* 5 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-semi-vertical]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: canadian-aboriginal, yi, tifinagh
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-Black.ttf
Dehinted Size 121.0kb
Hinted Size 184.8kb
Increase 63.8kb
Change 52.8 %
[code: size-impact]
[22] Zain-Bold.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni0652

- uniFC5E

- 5 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check glyphs in mark glyph class are non-spacing.
  • ⚠️ WARN

    The following spacing glyphs may be in the GDEF mark glyph class by mistake:
    uni06510652 (U+E121)


    [code: spacing-mark-glyphs]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 418 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 452: greaterequal, greater, lessequal, less

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do any segments have colinear vectors?
  • ⚠️ WARN

    The following glyphs have colinear vectors:

* uni0651064B.1 (U+E120): L<<94.0,816.0>--<146.0,817.0>> -> L<<146.0,817.0>--<183.0,817.0>>

[code: found-colinear-vectors]

⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* uni0664.tab (U+E126): L<<488.0,236.0>--<360.0,237.0>>

* uni0664: L<<355.0,236.0>--<227.0,237.0>>

[code: found-semi-vertical]

⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: canadian-aboriginal, yi, tifinagh
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-Bold.ttf
Dehinted Size 122.6kb
Hinted Size 180.0kb
Increase 57.4kb
Change 46.8 %
[code: size-impact]
[22] Zain-Light.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni0652

- uniFC5E

- 5 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check glyphs in mark glyph class are non-spacing.
  • ⚠️ WARN

    The following spacing glyphs may be in the GDEF mark glyph class by mistake:
    uni06510652 (U+E121)


    [code: spacing-mark-glyphs]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 384 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 449: greaterequal, greater, lessequal, less

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do any segments have colinear vectors?
  • ⚠️ WARN

    The following glyphs have colinear vectors:

* uniFEBA (U+FEBA): L<<1186.0,177.0>--<1186.0,175.0>> -> L<<1186.0,175.0>--<1187.0,154.0>>

* uniFEBC (U+FEBC): L<<794.0,177.0>--<794.0,175.0>> -> L<<794.0,175.0>--<795.0,154.0>>

* uniFEBE (U+FEBE): L<<1186.0,177.0>--<1186.0,175.0>> -> L<<1186.0,175.0>--<1187.0,154.0>>

* uniFEC0 (U+FEC0): L<<794.0,177.0>--<794.0,175.0>> -> L<<794.0,175.0>--<795.0,154.0>>

* uniFEC2 (U+FEC2): L<<715.0,177.0>--<715.0,175.0>> -> L<<715.0,175.0>--<716.0,154.0>>

* uniFEC6 (U+FEC6): L<<715.0,177.0>--<715.0,175.0>> -> L<<715.0,175.0>--<716.0,154.0>>

[code: found-colinear-vectors]

⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* exclam (U+0021): L<<47.0,141.0>--<45.0,549.0>>

* exclam.ar (U+E103): L<<111.0,551.0>--<108.0,141.0>>

* exclam.ar (U+E103): L<<62.0,141.0>--<59.0,504.0>>

* exclamdown (U+00A1): L<<47.0,-193.0>--<49.0,216.0>>

* uni0663.tab (U+E125): L<<67.0,8.0>--<66.0,504.0>>

* uni0663: L<<71.0,8.0>--<70.0,504.0>>

* uni06F3.tab (U+E136): L<<67.0,8.0>--<66.0,504.0>>

* uni06F3: L<<71.0,8.0>--<70.0,504.0>>

* uni06F4.tab (U+E137): L<<244.0,291.0>--<243.0,10.0>>

* uni06F4: L<<122.0,291.0>--<121.0,10.0>>

[code: found-semi-vertical]

⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: canadian-aboriginal, yi, tifinagh
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-Light.ttf
Dehinted Size 123.4kb
Hinted Size 176.8kb
Increase 53.4kb
Change 43.3 %
[code: size-impact]
[21] Zain-ExtraBold.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni06510652

- uni0652

- 6 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 431 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 452: greaterequal, greater, lessequal, less

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do any segments have colinear vectors?
  • ⚠️ WARN

    The following glyphs have colinear vectors:

* uni0651064B.1 (U+E120): L<<95.0,728.0>--<151.0,729.0>> -> L<<151.0,729.0>--<185.0,729.0>>

* uni0651064B.1 (U+E120): L<<95.0,817.0>--<151.0,818.0>> -> L<<151.0,818.0>--<185.0,818.0>>

* uniFC5F (U+FC5F): L<<93.0,513.0>--<148.0,514.0>> -> L<<148.0,514.0>--<182.0,514.0>>

* uniFC5F (U+FC5F): L<<93.0,602.0>--<148.0,603.0>> -> L<<148.0,603.0>--<182.0,603.0>>

[code: found-colinear-vectors]

⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* uni0662.tab (U+E124): L<<316.0,372.0>--<317.0,13.0>>

* uni0662: L<<160.0,372.0>--<161.0,13.0>>

* uni0663.tab (U+E125): L<<50.0,13.0>--<49.0,463.0>>

* uni0663: L<<47.0,13.0>--<46.0,463.0>>

* uni0666.tab (U+E128): L<<363.0,13.0>--<364.0,372.0>>

* uni0666: L<<208.0,13.0>--<209.0,372.0>>

* uni06F2.tab (U+E135): L<<316.0,372.0>--<317.0,13.0>>

* uni06F2: L<<160.0,372.0>--<161.0,13.0>>

* uni06F3.tab (U+E136): L<<50.0,13.0>--<49.0,463.0>>

* uni06F3: L<<47.0,13.0>--<46.0,463.0>>

* 4 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-semi-vertical]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: canadian-aboriginal, yi, tifinagh
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-ExtraBold.ttf
Dehinted Size 121.2kb
Hinted Size 181.9kb
Increase 60.7kb
Change 50.1 %
[code: size-impact]
[21] Zain-Regular.ttf
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
  • 🔥 FAIL

    The following glyphs could not be attached to the dotted circle glyph:

- uni064B

- uni064C

- uni064D

- uni064E

- uni064F

- uni0650

- uni0651

- uni0651064B.1

- uni06510652

- uni0652

- 6 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unattached-dotted-circle-marks]
🔥 FAIL METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
  • 🔥 FAIL

    METADATA.pb font full_name = "Zain" does not match post_script_name = "Zain-Regular"


    [code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to None
^ Shaper didn't attach uni0653 to None
^ Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0655 to None
^ Shaper didn't attach uni0670 to space
^ Shaper didn't attach uni0653 to space
^ Shaper didn't attach uni0654 to space
^ Shaper didn't attach uni0655 to space
^ .medi version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=1+0
^ .init version of ARABIC LETTER ALEF MAKSURA; both buffers returned space=0+0
^ Shaper didn't attach uni0670 to uni0640
^ Shaper didn't attach uni0653 to uni0640
^ Shaper didn't attach uni0654 to uni0640
^ Shaper didn't attach uni0655 to uni0640
^ Shaper didn't attach uni064B to uni0640
^ Shaper didn't attach uni064C to uni0640
^ Shaper didn't attach uni064D to uni0640
^ Shaper didn't attach uni064E to uni0640
^ Shaper didn't attach uni064F to uni0640
^ Shaper didn't attach uni0650 to uni0640
^ Shaper didn't attach uni0651 to uni0640
^ Shaper didn't attach uni0652 to uni0640
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
fa_Arab (Persian) Shaper didn't attach uni0654 to None
^ Shaper didn't attach uni0654 to space
[code: failed-language-shaping]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
  • ⚠️ WARN

    The following mark characters could be in the GDEF mark glyph class:
    smallv (U+065A), uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni0670 (U+0670) and uni06DB (U+06DB)


    [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks.
  • ⚠️ WARN

    The following non-mark characters should not be in the GDEF mark glyph class:
    U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 and U+FC63


    [code: non-mark-chars]
⚠️ WARN Check if each glyph has the recommended amount of contours.
  • ⚠️ WARN

    This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: uni00AD	Contours detected: 1	Expected: 0
  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12

  • Glyph name: uni00AD Contours detected: 1 Expected: 0

  • Glyph name: uni25CC Contours detected: 8 Expected: 16 or 12


[code: contour-count]

⚠️ WARN Check math signs have the same width.
  • ⚠️ WARN

    The most common width is 403 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:

Width = 450: greaterequal, greater, lessequal, less

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character.


    [code: softhyphen]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

* uni0666.tab (U+E128): L<<394.0,10.0>--<395.0,376.0>>

* uni0666: L<<238.0,10.0>--<239.0,376.0>>

[code: found-semi-vertical]

⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ 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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: canadian-aboriginal, yi, tifinagh
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi 117 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: arabic, latin, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
  • ⚠️ WARN

    GPOS table lacks kerning info for the following non-ligated sequences:

- f + i

- f + l

[code: lacks-kern-info]

⚠️ WARN Are there caret positions declared for every ligature?
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.


    [code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
⚠️ WARN Ensure Stylistic Sets have description.
  • ⚠️ 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]

ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/zain


    [code: family-path]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
  • ℹ️ INFO

    This font doesn't have an ARTICLE.en_us.html file.


    [code: missing-article]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

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]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/zain/Zain-Regular.ttf
Dehinted Size 120.8kb
Hinted Size 177.5kb
Increase 56.7kb
Change 46.9 %
[code: size-impact]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
  • ℹ️ INFO

    All of the fonts lack a STAT table.


    [code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 13 79 368 49 889 0
0% 0% 1% 6% 26% 4% 64% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • PASS
  • DEBUG

@emmamarichal
Copy link
Collaborator

Context: here is the update:
(glyphs added)

Screenshot 2024-06-27 at 14 23 35

@emmamarichal emmamarichal merged commit 3d44cc7 into main Jun 27, 2024
7 checks passed
@emmamarichal emmamarichal deleted the gftools_packager_ofl_zain branch June 27, 2024 12:35
@vv-monsalve vv-monsalve added -- Needs confirmation from upstream or onboarder and removed -- Needs confirmation from upstream or onboarder labels Jul 10, 2024
@vv-monsalve
Copy link
Collaborator

Dave reported that Boutros has confirmed that this is okay to go now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I New Font II Accepted Non-commissioned projects that are accepted for onboarding II Arabic / Hebrew / Semitic / RTL Middle-east and afro-asian RTL scripts
Projects
Status: Live
Development

Successfully merging this pull request may close these issues.

Add Zain
3 participants