Open emmamarichal opened 1 month ago
Hi @JuergenWillrodt! cc @simoncozens @davelab6 @chrissimpkins
I started to inspect the Zain update. Italics seem to work well (menu, style linking, etc.).
However, we still have some fails (you will find the complete Fontbakery report below).
🔥 FAIL Shapes languages in all GF glyphsets.
-> There are not so much to solve, compared to Beiruti. I guess some anchors are still missing. 🔥 FAIL Check font names are correct
You need to remove the two parameters in your source file: Full Name
and Font Name
(see the image below)fontbakery version: 0.12.9
These won't break the CI job for now, but will become effective after some time if nobody raises any concern.
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 |
^ | Shaper didn't attach uni064B to space |
^ | Shaper didn't attach uni064C to space |
^ | Shaper didn't attach uni064D to space |
^ | Shaper didn't attach uni064E to space |
^ | Shaper didn't attach uni064F to space |
^ | Shaper didn't attach uni0650 to space |
^ | Shaper didn't attach uni0651 to space |
^ | Shaper didn't attach uni0652 to space |
^ | 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 |
GF_Arabic_Core glyphset:
Language | FAIL messages |
---|---|
fa_Arab (Persian) | Shaper didn't attach uni0654 to None |
^ | Shaper didn't attach uni0654 to space |
Missing required codepoints:
- 0x0100 (LATIN CAPITAL LETTER A WITH MACRON)
- 0x0101 (LATIN SMALL LETTER A WITH MACRON)
- 0x0102 (LATIN CAPITAL LETTER A WITH BREVE)
- 0x0103 (LATIN SMALL LETTER A WITH BREVE)
- 0x0104 (LATIN CAPITAL LETTER A WITH OGONEK)
- 0x0105 (LATIN SMALL LETTER A WITH OGONEK)
- 0x0106 (LATIN CAPITAL LETTER C WITH ACUTE)
- 0x0107 (LATIN SMALL LETTER C WITH ACUTE)
- 0x010A (LATIN CAPITAL LETTER C WITH DOT ABOVE)
- 0x010B (LATIN SMALL LETTER C WITH DOT ABOVE)
- 97 more.
Use -F or --full-lists to disable shortening of long lists.
[code: missing-codepoints]OS/2 xAvgCharWidth is 651 but it should be 521 which corresponds to the average of the widths of all glyphs in the font.
[code: xAvgCharWidth-wrong]The following spacing glyphs may be in the GDEF mark glyph class by mistake: uni06510652 (U+E121)
[code: spacing-mark-glyphs]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]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]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: uni00AD Contours detected: 1 Expected: 0
[code: contour-count]
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]This font has a 'Soft Hyphen' character.
[code: softhyphen]The following glyphs have on-curve points which have potentially incorrect y coordinates:
* parenleft (U+0028): X=293.0,Y=697.0 (should be at cap-height 699?)
* parenleft (U+0028): X=291.0,Y=697.0 (should be at cap-height 699?)
* parenright (U+0029): X=68.0,Y=697.0 (should be at cap-height 699?)
* parenright (U+0029): X=64.0,Y=698.0 (should be at cap-height 699?)
* section (U+00A7): X=217.0,Y=1.0 (should be at baseline 0?)
* Atilde (U+00C3): X=333.0,Y=697.0 (should be at cap-height 699?)
* Ntilde (U+00D1): X=345.0,Y=697.0 (should be at cap-height 699?)
* Otilde (U+00D5): X=375.0,Y=697.0 (should be at cap-height 699?)
* ogonek (U+02DB): X=149.0,Y=2.0 (should be at baseline 0?)
* uni03BC (U+03BC): X=168.0,Y=2.0 (should be at baseline 0?)
* 39 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-misalignments]The following glyphs have colinear vectors:
* uni06C3.fina (U+E132): L<<280.0,252.0>--<280.0,196.0>> -> L<<280.0,196.0>--<280.0,184.0>>
* uni06D5.fina (U+E161): L<<280.0,252.0>--<280.0,196.0>> -> L<<280.0,196.0>--<280.0,184.0>>
* uniE15F (U+E15F): L<<280.0,252.0>--<280.0,196.0>> -> L<<280.0,196.0>--<280.0,184.0>>
* uniFBA5 (U+FBA5): L<<280.0,252.0>--<280.0,196.0>> -> L<<280.0,196.0>--<280.0,184.0>>
* uniFBA7 (U+FBA7): L<<280.0,252.0>--<280.0,196.0>> -> L<<280.0,196.0>--<280.0,184.0>>
* uniFBA8 (U+FBA8): L<<3.0,0.0>--<37.0,0.0>> -> L<<37.0,0.0>--<38.0,0.0>>
* uniFDF2 (U+FDF2): L<<280.0,252.0>--<280.0,196.0>> -> L<<280.0,196.0>--<280.0,184.0>>
* uniFE94 (U+FE94): L<<280.0,252.0>--<280.0,196.0>> -> L<<280.0,196.0>--<280.0,184.0>>
* uniFEEA (U+FEEA): L<<280.0,252.0>--<280.0,196.0>> -> L<<280.0,196.0>--<280.0,184.0>>
[code: found-colinear-vectors]
The following glyphs have semi-vertical/semi-horizontal lines:
* uni0663.tab (U+E125): L<<44.0,451.0>--<45.0,14.0>>
* uni0663: L<<44.0,451.0>--<45.0,14.0>>
* uni0664.tab (U+E126): L<<366.0,222.0>--<501.0,221.0>>
* uni0664: L<<227.0,222.0>--<362.0,221.0>>
* uni06F3.tab (U+E136): L<<44.0,451.0>--<45.0,14.0>>
* uni06F3: L<<44.0,451.0>--<45.0,14.0>>
* uniFB7D (U+FB7D): L<<0.0,133.0>--<1.0,0.0>>
* uniFBFD (U+FBFD): L<<661.0,8.0>--<662.0,133.0>>
* uniFE8A (U+FE8A): L<<661.0,8.0>--<662.0,133.0>>
* uniFEA0 (U+FEA0): L<<0.0,133.0>--<1.0,0.0>>
* 5 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-semi-vertical]The following glyphs have a counter-clockwise outer contour:
* A (U+0041) has a counter-clockwise outer contour
* AE (U+00C6) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Agrave (U+00C0) has a counter-clockwise outer contour
* 1014 more.
Use -F or --full-lists to disable shortening of long lists.
[code: ccw-outer-contour]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.
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: latin
, latin-ext
GPOS table lacks kerning info for the following non-ligated sequences:
- f + i
- f + l
[code: lacks-kern-info]
This font lacks caret position values for ligature glyphs on its GDEF table.
[code: lacks-caret-pos]This font file does not have a 'meta' table.
[code: lacks-meta-table]The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-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 ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 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]This font contains the following optional tables:
- cvt
- fpgm
- loca
- prep
- GPOS
- GSUB
- gasp
[code: optional-tables]
This font doesn't have an ARTICLE.en_us.html file.
[code: missing-article]EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818
[code: lacks-EPAR]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]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 |
^ | Shaper didn't attach uni064B to space |
^ | Shaper didn't attach uni064C to space |
^ | Shaper didn't attach uni064D to space |
^ | Shaper didn't attach uni064E to space |
^ | Shaper didn't attach uni064F to space |
^ | Shaper didn't attach uni0650 to space |
^ | Shaper didn't attach uni0651 to space |
^ | Shaper didn't attach uni0652 to space |
^ | 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 |
GF_Arabic_Core glyphset:
Language | FAIL messages |
---|---|
fa_Arab (Persian) | Shaper didn't attach uni0654 to None |
^ | Shaper didn't attach uni0654 to space |
Font names are incorrect:
nameID | current | expected |
---|---|---|
Family Name | Zain | Zain |
Subfamily Name | Bold | Bold |
Full Name | Zain Bold | Zain Bold |
Postscript Name | Zain-Bold | Zain-Bold |
Typographic Family Name | Zain | N/A |
Typographic Subfamily Name | Bold | N/A |
Missing required codepoints:
- 0x0100 (LATIN CAPITAL LETTER A WITH MACRON)
- 0x0101 (LATIN SMALL LETTER A WITH MACRON)
- 0x0102 (LATIN CAPITAL LETTER A WITH BREVE)
- 0x0103 (LATIN SMALL LETTER A WITH BREVE)
- 0x0104 (LATIN CAPITAL LETTER A WITH OGONEK)
- 0x0105 (LATIN SMALL LETTER A WITH OGONEK)
- 0x0106 (LATIN CAPITAL LETTER C WITH ACUTE)
- 0x0107 (LATIN SMALL LETTER C WITH ACUTE)
- 0x010A (LATIN CAPITAL LETTER C WITH DOT ABOVE)
- 0x010B (LATIN SMALL LETTER C WITH DOT ABOVE)
- 97 more.
Use -F or --full-lists to disable shortening of long lists.
[code: missing-codepoints]OS/2 xAvgCharWidth is 651 but it should be 510 which corresponds to the average of the widths of all glyphs in the font.
[code: xAvgCharWidth-wrong]The following spacing glyphs may be in the GDEF mark glyph class by mistake: uni06510652 (U+E121)
[code: spacing-mark-glyphs]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]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]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: uni00AD Contours detected: 1 Expected: 0
[code: contour-count]
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]This font has a 'Soft Hyphen' character.
[code: softhyphen]The following glyphs have on-curve points which have potentially incorrect y coordinates:
* parenleft (U+0028): X=275.0,Y=697.0 (should be at cap-height 699?)
* parenright (U+0029): X=55.0,Y=697.0 (should be at cap-height 699?)
* nine (U+0039): X=254.0,Y=2.0 (should be at baseline 0?)
* at (U+0040): X=620.0,Y=1.0 (should be at baseline 0?)
* f (U+0066): X=219.0,Y=479.0 (should be at x-height 480?)
* y (U+0079): X=247.0,Y=-1.0 (should be at baseline 0?)
* Adieresis (U+00C4): X=178.0,Y=697.0 (should be at cap-height 699?)
* Adieresis (U+00C4): X=336.0,Y=697.0 (should be at cap-height 699?)
* Edieresis (U+00CB): X=140.0,Y=697.0 (should be at cap-height 699?)
* Edieresis (U+00CB): X=297.0,Y=697.0 (should be at cap-height 699?)
* 46 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-misalignments]The following glyphs have colinear vectors:
* onehalf (U+00BD): L<<139.0,0.0>--<189.0,0.0>> -> L<<189.0,0.0>--<208.0,0.0>>
* uni064B (U+064B): L<<146.0,747.0>--<109.0,747.0>> -> L<<109.0,747.0>--<57.0,747.0>>
* uni064D (U+064D): L<<145.0,-66.0>--<109.0,-66.0>> -> L<<109.0,-66.0>--<57.0,-66.0>>
* uni0650 (U+0650): L<<145.0,-66.0>--<109.0,-66.0>> -> L<<109.0,-66.0>--<57.0,-66.0>>
* uniFB93 (U+FB93): L<<710.0,175.0>--<710.0,176.0>> -> L<<710.0,176.0>--<710.0,179.0>>
* uniFB95 (U+FB95): L<<512.0,175.0>--<512.0,176.0>> -> L<<512.0,176.0>--<512.0,179.0>>
* uniFBA8 (U+FBA8): L<<0.0,0.0>--<29.0,0.0>> -> L<<29.0,0.0>--<40.0,0.0>>
* uniFBA8FE8A (U+E142): L<<627.0,0.0>--<712.0,0.0>> -> L<<712.0,0.0>--<723.0,0.0>>
* uniFBA8FEF0 (U+E143): L<<627.0,0.0>--<712.0,0.0>> -> L<<712.0,0.0>--<723.0,0.0>>
* uniFBA8FEF2 (U+E144): L<<627.0,0.0>--<712.0,0.0>> -> L<<712.0,0.0>--<723.0,0.0>>
* 8 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-colinear-vectors]The following glyphs have semi-vertical/semi-horizontal lines:
* uni0664.tab (U+E126): L<<360.0,237.0>--<488.0,236.0>>
* uni0664: L<<227.0,237.0>--<355.0,236.0>>
[code: found-semi-vertical]
The following glyphs have a counter-clockwise outer contour:
* A (U+0041) has a counter-clockwise outer contour
* AE (U+00C6) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Agrave (U+00C0) has a counter-clockwise outer contour
* 1022 more.
Use -F or --full-lists to disable shortening of long lists.
[code: ccw-outer-contour]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.
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: latin
, latin-ext
GPOS table lacks kerning info for the following non-ligated sequences:
- f + i
- f + l
[code: lacks-kern-info]
This font lacks caret position values for ligature glyphs on its GDEF table.
[code: lacks-caret-pos]This font file does not have a 'meta' table.
[code: lacks-meta-table]The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-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 ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 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]This font contains the following optional tables:
- cvt
- fpgm
- loca
- prep
- GPOS
- GSUB
- gasp
[code: optional-tables]
This font doesn't have an ARTICLE.en_us.html file.
[code: missing-article]EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818
[code: lacks-EPAR]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]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 |
^ | Shaper didn't attach uni064B to space |
^ | Shaper didn't attach uni064C to space |
^ | Shaper didn't attach uni064D to space |
^ | Shaper didn't attach uni064E to space |
^ | Shaper didn't attach uni064F to space |
^ | Shaper didn't attach uni0650 to space |
^ | Shaper didn't attach uni0651 to space |
^ | Shaper didn't attach uni0652 to space |
^ | 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 |
GF_Arabic_Core glyphset:
Language | FAIL messages |
---|---|
fa_Arab (Persian) | Shaper didn't attach uni0654 to None |
^ | Shaper didn't attach uni0654 to space |
Missing required codepoints:
- 0x0100 (LATIN CAPITAL LETTER A WITH MACRON)
- 0x0101 (LATIN SMALL LETTER A WITH MACRON)
- 0x0102 (LATIN CAPITAL LETTER A WITH BREVE)
- 0x0103 (LATIN SMALL LETTER A WITH BREVE)
- 0x0104 (LATIN CAPITAL LETTER A WITH OGONEK)
- 0x0105 (LATIN SMALL LETTER A WITH OGONEK)
- 0x0106 (LATIN CAPITAL LETTER C WITH ACUTE)
- 0x0107 (LATIN SMALL LETTER C WITH ACUTE)
- 0x010A (LATIN CAPITAL LETTER C WITH DOT ABOVE)
- 0x010B (LATIN SMALL LETTER C WITH DOT ABOVE)
- 97 more.
Use -F or --full-lists to disable shortening of long lists.
[code: missing-codepoints]OS/2 xAvgCharWidth is 651 but it should be 517 which corresponds to the average of the widths of all glyphs in the font.
[code: xAvgCharWidth-wrong]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]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]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: uni00AD Contours detected: 1 Expected: 0
[code: contour-count]
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]This font has a 'Soft Hyphen' character.
[code: softhyphen]The following glyphs have on-curve points which have potentially incorrect y coordinates:
* Q (U+0051): X=547.0,Y=2.0 (should be at baseline 0?)
* Q (U+0051): X=538.0,Y=-1.0 (should be at baseline 0?)
* i (U+0069): X=35.0,Y=481.0 (should be at x-height 480?)
* i (U+0069): X=160.0,Y=481.0 (should be at x-height 480?)
* i (U+0069): X=35.0,Y=481.0 (should be at x-height 480?)
* j (U+006A): X=34.0,Y=481.0 (should be at x-height 480?)
* j (U+006A): X=160.0,Y=481.0 (should be at x-height 480?)
* j (U+006A): X=34.0,Y=481.0 (should be at x-height 480?)
* Atilde (U+00C3): X=183.0,Y=701.0 (should be at cap-height 699?)
* Ntilde (U+00D1): X=199.0,Y=701.0 (should be at cap-height 699?)
* 24 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-misalignments]The following glyphs have colinear vectors:
* uni064B (U+064B): L<<150.0,667.0>--<116.0,667.0>> -> L<<116.0,667.0>--<60.0,667.0>>
* uni064B (U+064B): L<<150.0,756.0>--<116.0,756.0>> -> L<<116.0,756.0>--<60.0,756.0>>
* uni064D (U+064D): L<<149.0,-151.0>--<115.0,-151.0>> -> L<<115.0,-151.0>--<59.0,-151.0>>
* uni064D (U+064D): L<<149.0,-62.0>--<115.0,-62.0>> -> L<<115.0,-62.0>--<59.0,-62.0>>
* uni064E (U+064E): L<<150.0,667.0>--<116.0,667.0>> -> L<<116.0,667.0>--<60.0,667.0>>
* uni0650 (U+0650): L<<149.0,-62.0>--<115.0,-62.0>> -> L<<115.0,-62.0>--<59.0,-62.0>>
* uni06C3.fina (U+E132): L<<289.0,265.0>--<289.0,187.0>> -> L<<289.0,187.0>--<289.0,179.0>>
* uni06D5.fina (U+E161): L<<289.0,265.0>--<289.0,187.0>> -> L<<289.0,187.0>--<289.0,179.0>>
* uniE15F (U+E15F): L<<289.0,265.0>--<289.0,187.0>> -> L<<289.0,187.0>--<289.0,179.0>>
* uniFBA5 (U+FBA5): L<<289.0,265.0>--<289.0,187.0>> -> L<<289.0,187.0>--<289.0,179.0>>
* 10 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-colinear-vectors]The following glyphs have semi-vertical/semi-horizontal lines:
* uni0662.tab (U+E124): L<<317.0,13.0>--<316.0,372.0>>
* uni0662: L<<161.0,13.0>--<160.0,372.0>>
* uni0663.tab (U+E125): L<<49.0,463.0>--<50.0,13.0>>
* uni0663: L<<46.0,463.0>--<47.0,13.0>>
* uni0666.tab (U+E128): L<<364.0,372.0>--<363.0,13.0>>
* uni0666: L<<209.0,372.0>--<208.0,13.0>>
* uni06F2.tab (U+E135): L<<317.0,13.0>--<316.0,372.0>>
* uni06F2: L<<161.0,13.0>--<160.0,372.0>>
* uni06F3.tab (U+E136): L<<49.0,463.0>--<50.0,13.0>>
* uni06F3: L<<46.0,463.0>--<47.0,13.0>>
* 4 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-semi-vertical]The following glyphs have a counter-clockwise outer contour:
* A (U+0041) has a counter-clockwise outer contour
* AE (U+00C6) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Agrave (U+00C0) has a counter-clockwise outer contour
* 1026 more.
Use -F or --full-lists to disable shortening of long lists.
[code: ccw-outer-contour]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.
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: latin
, latin-ext
GPOS table lacks kerning info for the following non-ligated sequences:
- f + i
- f + l
[code: lacks-kern-info]
This font lacks caret position values for ligature glyphs on its GDEF table.
[code: lacks-caret-pos]This font file does not have a 'meta' table.
[code: lacks-meta-table]The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-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 ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 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]This font contains the following optional tables:
- cvt
- fpgm
- loca
- prep
- GPOS
- GSUB
- gasp
[code: optional-tables]
This font doesn't have an ARTICLE.en_us.html file.
[code: missing-article]EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818
[code: lacks-EPAR]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]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 |
^ | Shaper didn't attach uni064B to space |
^ | Shaper didn't attach uni064C to space |
^ | Shaper didn't attach uni064D to space |
^ | Shaper didn't attach uni064E to space |
^ | Shaper didn't attach uni064F to space |
^ | Shaper didn't attach uni0650 to space |
^ | Shaper didn't attach uni0651 to space |
^ | Shaper didn't attach uni0652 to space |
^ | 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 |
GF_Arabic_Core glyphset:
Language | FAIL messages |
---|---|
fa_Arab (Persian) | Shaper didn't attach uni0654 to None |
^ | Shaper didn't attach uni0654 to space |
Missing required codepoints:
- 0x0100 (LATIN CAPITAL LETTER A WITH MACRON)
- 0x0101 (LATIN SMALL LETTER A WITH MACRON)
- 0x0102 (LATIN CAPITAL LETTER A WITH BREVE)
- 0x0103 (LATIN SMALL LETTER A WITH BREVE)
- 0x0104 (LATIN CAPITAL LETTER A WITH OGONEK)
- 0x0105 (LATIN SMALL LETTER A WITH OGONEK)
- 0x0106 (LATIN CAPITAL LETTER C WITH ACUTE)
- 0x0107 (LATIN SMALL LETTER C WITH ACUTE)
- 0x010A (LATIN CAPITAL LETTER C WITH DOT ABOVE)
- 0x010B (LATIN SMALL LETTER C WITH DOT ABOVE)
- 97 more.
Use -F or --full-lists to disable shortening of long lists.
[code: missing-codepoints]OS/2 xAvgCharWidth is 651 but it should be 482 which corresponds to the average of the widths of all glyphs in the font.
[code: xAvgCharWidth-wrong]The following spacing glyphs may be in the GDEF mark glyph class by mistake: uni06510652 (U+E121)
[code: spacing-mark-glyphs]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]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]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: uni00AD Contours detected: 1 Expected: 0
[code: contour-count]
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]This font has a 'Soft Hyphen' character.
[code: softhyphen]The following glyphs have colinear vectors:
* Decoratedbracketleft (U+E100): L<<163.0,393.0>--<164.0,391.0>> -> L<<164.0,391.0>--<187.0,351.0>>
* Decoratedbracketright (U+E101): L<<107.0,234.0>--<109.0,235.0>> -> L<<109.0,235.0>--<149.0,258.0>>
* Decoratedbracketright (U+E101): L<<243.0,351.0>--<266.0,391.0>> -> L<<266.0,391.0>--<267.0,393.0>>
* uni06A1.fina (U+E12F): L<<589.0,23.0>--<571.0,23.0>> -> L<<571.0,23.0>--<251.0,23.0>>
* uniFB6B (U+FB6B): L<<589.0,23.0>--<571.0,23.0>> -> L<<571.0,23.0>--<251.0,23.0>>
* uniFED2 (U+FED2): L<<589.0,23.0>--<571.0,23.0>> -> L<<571.0,23.0>--<251.0,23.0>>
[code: found-colinear-vectors]
The following glyphs have semi-vertical/semi-horizontal lines:
* exclam (U+0021): L<<59.0,553.0>--<60.0,124.0>>
* exclam (U+0021): L<<83.0,124.0>--<85.0,528.0>>
* exclam.ar (U+E103): L<<98.0,122.0>--<99.0,553.0>>
* exclamdown (U+00A1): L<<49.0,224.0>--<47.0,-204.0>>
* exclamdown (U+00A1): L<<74.0,-204.0>--<73.0,200.0>>
* uni06F4.tab (U+E137): L<<224.0,7.0>--<225.0,319.0>>
* uni06F4: L<<104.0,7.0>--<105.0,319.0>>
[code: found-semi-vertical]
The following glyphs have a counter-clockwise outer contour:
* A (U+0041) has a counter-clockwise outer contour
* AE (U+00C6) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Agrave (U+00C0) has a counter-clockwise outer contour
* 1018 more.
Use -F or --full-lists to disable shortening of long lists.
[code: ccw-outer-contour]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.
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: latin
, latin-ext
GPOS table lacks kerning info for the following non-ligated sequences:
- f + i
- f + l
[code: lacks-kern-info]
This font lacks caret position values for ligature glyphs on its GDEF table.
[code: lacks-caret-pos]This font file does not have a 'meta' table.
[code: lacks-meta-table]The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-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 ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 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]This font contains the following optional tables:
- cvt
- fpgm
- loca
- prep
- GPOS
- GSUB
- gasp
[code: optional-tables]
This font doesn't have an ARTICLE.en_us.html file.
[code: missing-article]EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818
[code: lacks-EPAR]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]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 |
^ | Shaper didn't attach uni064B to space |
^ | Shaper didn't attach uni064C to space |
^ | Shaper didn't attach uni064D to space |
^ | Shaper didn't attach uni064E to space |
^ | Shaper didn't attach uni064F to space |
^ | Shaper didn't attach uni0650 to space |
^ | Shaper didn't attach uni0651 to space |
^ | Shaper didn't attach uni0652 to space |
^ | 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 |
GF_Arabic_Core glyphset:
Language | FAIL messages |
---|---|
fa_Arab (Persian) | Shaper didn't attach uni0654 to None |
^ | Shaper didn't attach uni0654 to space |
Font names are incorrect:
nameID | current | expected |
---|---|---|
Family Name | Zain | Zain |
Subfamily Name | Italic | Italic |
Full Name | Zain Italic | Zain Italic |
Postscript Name | Zain-Italic | Zain-Italic |
Typographic Family Name | Zain | N/A |
Typographic Subfamily Name | Italic | N/A |
Missing required codepoints:
- 0x0100 (LATIN CAPITAL LETTER A WITH MACRON)
- 0x0101 (LATIN SMALL LETTER A WITH MACRON)
- 0x0102 (LATIN CAPITAL LETTER A WITH BREVE)
- 0x0103 (LATIN SMALL LETTER A WITH BREVE)
- 0x0104 (LATIN CAPITAL LETTER A WITH OGONEK)
- 0x0105 (LATIN SMALL LETTER A WITH OGONEK)
- 0x0106 (LATIN CAPITAL LETTER C WITH ACUTE)
- 0x0107 (LATIN SMALL LETTER C WITH ACUTE)
- 0x010A (LATIN CAPITAL LETTER C WITH DOT ABOVE)
- 0x010B (LATIN SMALL LETTER C WITH DOT ABOVE)
- 97 more.
Use -F or --full-lists to disable shortening of long lists.
[code: missing-codepoints]OS/2 xAvgCharWidth is 651 but it should be 496 which corresponds to the average of the widths of all glyphs in the font.
[code: xAvgCharWidth-wrong]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]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]hhea.caretSlopeRise and hhea.caretSlopeRun do not match with post.italicAngle. Got: caretSlopeRise 1 and caretSlopeRun 0 Expected: caretSlopeRise 1000 and caretSlopeRun 176
[code: caretslope-mismatch]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: uni00AD Contours detected: 1 Expected: 0
[code: contour-count]
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, less
Width = 451: greater
[code: width-outliers]This font has a 'Soft Hyphen' character.
[code: softhyphen]The following glyphs have on-curve points which have potentially incorrect y coordinates:
* .notdef: X=281.0,Y=2.0 (should be at baseline 0?)
* exclam (U+0021): X=8.5,Y=2.0 (should be at baseline 0?)
* parenleft (U+0028): X=220.0,Y=697.0 (should be at cap-height 699?)
* parenright (U+0029): X=5.0,Y=697.0 (should be at cap-height 699?)
* nine (U+0039): X=272.0,Y=1.0 (should be at baseline 0?)
* question (U+003F): X=104.5,Y=2.0 (should be at baseline 0?)
* at (U+0040): X=669.0,Y=2.0 (should be at baseline 0?)
* Q (U+0051): X=473.0,Y=-2.0 (should be at baseline 0?)
* section (U+00A7): X=61.0,Y=-1.0 (should be at baseline 0?)
* ogonek (U+02DB): X=124.0,Y=1.0 (should be at baseline 0?)
* 68 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-misalignments]The following glyphs have colinear vectors:
* fl (U+FB02): L<<386.0,547.0>--<311.0,117.0>> -> L<<311.0,117.0>--<309.0,107.0>>
* guillemotleft.latn (U+E22B): L<<173.0,175.0>--<174.0,173.0>> -> L<<174.0,173.0>--<246.0,49.0>>
* h (U+0068): L<<343.0,9.0>--<379.0,216.0>> -> L<<379.0,216.0>--<380.0,221.0>>
* l (U+006C): L<<109.0,547.0>--<34.0,117.0>> -> L<<34.0,117.0>--<32.0,107.0>>
* n (U+006E): L<<342.0,9.0>--<378.0,216.0>> -> L<<378.0,216.0>--<379.0,224.0>>
* ntilde (U+00F1): L<<342.0,9.0>--<378.0,216.0>> -> L<<378.0,216.0>--<379.0,224.0>>
* smalltahar (U+E119): L<<126.0,448.0>--<120.0,486.0>> -> L<<120.0,486.0>--<113.0,523.0>>
* uni03BC (U+03BC): L<<75.0,360.0>--<44.0,182.0>> -> L<<44.0,182.0>--<-16.0,-151.0>>
* uni0679 (U+0679): L<<368.0,431.0>--<362.0,468.0>> -> L<<362.0,468.0>--<355.0,506.0>>
* uni0688 (U+0688): L<<170.0,504.0>--<164.0,541.0>> -> L<<164.0,541.0>--<157.0,579.0>>
* 17 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-colinear-vectors]The following glyphs have jaggy segments:
* uniFB9F (U+FB9F): B<<616.0,99.0>-<590.0,124.0>-<582.0,167.0>>/L<<582.0,167.0>--<582.0,166.0>> = 10.539183728628242
* uniFB9F (U+FB9F): L<<582.0,167.0>--<582.0,166.0>>/L<<582.0,166.0>--<549.0,350.0>> = 10.167775487411356
* uniFEE6 (U+FEE6): B<<616.0,99.0>-<590.0,124.0>-<582.0,167.0>>/L<<582.0,167.0>--<582.0,166.0>> = 10.539183728628242
* uniFEE6 (U+FEE6): L<<582.0,167.0>--<582.0,166.0>>/L<<582.0,166.0>--<549.0,350.0>> = 10.167775487411356
[code: found-jaggy-segments]
The following glyphs have a counter-clockwise outer contour:
* A (U+0041) has a counter-clockwise outer contour
* AE (U+00C6) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Agrave (U+00C0) has a counter-clockwise outer contour
* 1150 more.
Use -F or --full-lists to disable shortening of long lists.
[code: ccw-outer-contour]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.
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: latin
, latin-ext
GPOS table lacks kerning info for the following non-ligated sequences:
- f + i
- f + l
[code: lacks-kern-info]
This font lacks caret position values for ligature glyphs on its GDEF table.
[code: lacks-caret-pos]This font file does not have a 'meta' table.
[code: lacks-meta-table]The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-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 ss02 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 ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description]This font contains the following optional tables:
- cvt
- fpgm
- loca
- prep
- GPOS
- GSUB
- gasp
[code: optional-tables]
This font doesn't have an ARTICLE.en_us.html file.
[code: missing-article]EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818
[code: lacks-EPAR]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]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 |
^ | Shaper didn't attach uni064B to space |
^ | Shaper didn't attach uni064C to space |
^ | Shaper didn't attach uni064D to space |
^ | Shaper didn't attach uni064E to space |
^ | Shaper didn't attach uni064F to space |
^ | Shaper didn't attach uni0650 to space |
^ | Shaper didn't attach uni0651 to space |
^ | Shaper didn't attach uni0652 to space |
^ | 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 |
GF_Arabic_Core glyphset:
Language | FAIL messages |
---|---|
fa_Arab (Persian) | Shaper didn't attach uni0654 to None |
^ | Shaper didn't attach uni0654 to space |
Missing required codepoints:
- 0x0100 (LATIN CAPITAL LETTER A WITH MACRON)
- 0x0101 (LATIN SMALL LETTER A WITH MACRON)
- 0x0102 (LATIN CAPITAL LETTER A WITH BREVE)
- 0x0103 (LATIN SMALL LETTER A WITH BREVE)
- 0x0104 (LATIN CAPITAL LETTER A WITH OGONEK)
- 0x0105 (LATIN SMALL LETTER A WITH OGONEK)
- 0x0106 (LATIN CAPITAL LETTER C WITH ACUTE)
- 0x0107 (LATIN SMALL LETTER C WITH ACUTE)
- 0x010A (LATIN CAPITAL LETTER C WITH DOT ABOVE)
- 0x010B (LATIN SMALL LETTER C WITH DOT ABOVE)
- 97 more.
Use -F or --full-lists to disable shortening of long lists.
[code: missing-codepoints]OS/2 xAvgCharWidth is 651 but it should be 492 which corresponds to the average of the widths of all glyphs in the font.
[code: xAvgCharWidth-wrong]The following spacing glyphs may be in the GDEF mark glyph class by mistake: uni06510652 (U+E121)
[code: spacing-mark-glyphs]The following mark characters could be in the GDEF mark glyph class: uni0653 (U+0653), uni0654 (U+0654), uni0655 (U+0655), uni065A (U+065A), uni0670 (U+0670) and uni06DB (U+06DB)
[code: mark-chars]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]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: uni00AD Contours detected: 1 Expected: 0
[code: contour-count]
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]This font has a 'Soft Hyphen' character.
[code: softhyphen]The following glyphs have on-curve points which have potentially incorrect y coordinates:
* parenleft (U+0028): X=255.0,Y=697.0 (should be at cap-height 699?)
* parenright (U+0029): X=61.0,Y=697.0 (should be at cap-height 699?)
* comma (U+002C): X=43.5,Y=-1.0 (should be at baseline 0?)
* nine (U+0039): X=209.0,Y=-1.0 (should be at baseline 0?)
* semicolon (U+003B): X=53.5,Y=-1.0 (should be at baseline 0?)
* i (U+0069): X=110.0,Y=482.0 (should be at x-height 480?)
* i (U+0069): X=62.5,Y=482.0 (should be at x-height 480?)
* j (U+006A): X=109.0,Y=482.0 (should be at x-height 480?)
* j (U+006A): X=62.5,Y=482.0 (should be at x-height 480?)
* cedilla (U+00B8): X=100.0,Y=-1.0 (should be at baseline 0?)
* 85 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-misalignments]The following glyphs have colinear vectors:
* uniE15F (U+E15F): L<<813.0,49.0>--<789.0,49.0>> -> L<<789.0,49.0>--<763.0,49.0>>
* uniFDF2 (U+FDF2): L<<813.0,49.0>--<789.0,49.0>> -> L<<789.0,49.0>--<763.0,49.0>>
* uniFEB3 (U+FEB3): L<<163.0,151.0>--<163.0,155.0>> -> L<<163.0,155.0>--<163.0,303.0>>
* uniFEB4 (U+FEB4): L<<163.0,151.0>--<163.0,155.0>> -> L<<163.0,155.0>--<163.0,303.0>>
* uniFEB7 (U+FEB7): L<<163.0,151.0>--<163.0,155.0>> -> L<<163.0,155.0>--<163.0,303.0>>
* uniFEB8 (U+FEB8): L<<163.0,151.0>--<163.0,155.0>> -> L<<163.0,155.0>--<163.0,303.0>>
* uniFEBA (U+FEBA): L<<1187.0,154.0>--<1186.0,175.0>> -> L<<1186.0,175.0>--<1186.0,177.0>>
* uniFEBC (U+FEBC): L<<795.0,154.0>--<794.0,175.0>> -> L<<794.0,175.0>--<794.0,177.0>>
* uniFEBE (U+FEBE): L<<1187.0,154.0>--<1186.0,175.0>> -> L<<1186.0,175.0>--<1186.0,177.0>>
* uniFEC0 (U+FEC0): L<<795.0,154.0>--<794.0,175.0>> -> L<<794.0,175.0>--<794.0,177.0>>
* 4 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-colinear-vectors]The following glyphs have semi-vertical/semi-horizontal lines:
* exclam (U+0021): L<<45.0,549.0>--<47.0,141.0>>
* exclam.ar (U+E103): L<<108.0,141.0>--<111.0,551.0>>
* exclam.ar (U+E103): L<<59.0,504.0>--<62.0,141.0>>
* exclamdown (U+00A1): L<<49.0,216.0>--<47.0,-193.0>>
* uni0663.tab (U+E125): L<<66.0,504.0>--<67.0,8.0>>
* uni0663: L<<70.0,504.0>--<71.0,8.0>>
* uni06F3.tab (U+E136): L<<66.0,504.0>--<67.0,8.0>>
* uni06F3: L<<70.0,504.0>--<71.0,8.0>>
* uni06F4.tab (U+E137): L<<243.0,10.0>--<244.0,291.0>>
* uni06F4: L<<121.0,10.0>--<122.0,291.0>>
[code: found-semi-vertical]
The following glyphs have a counter-clockwise outer contour:
* A (U+0041) has a counter-clockwise outer contour
* AE (U+00C6) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Agrave (U+00C0) has a counter-clockwise outer contour
* 1003 more.
Use -F or --full-lists to disable shortening of long lists.
[code: ccw-outer-contour]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.
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: latin
, latin-ext
GPOS table lacks kerning info for the following non-ligated sequences:
- f + i
- f + l
[code: lacks-kern-info]
This font lacks caret position values for ligature glyphs on its GDEF table.
[code: lacks-caret-pos]This font file does not have a 'meta' table.
[code: lacks-meta-table]The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-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 ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 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]This font contains the following optional tables:
- cvt
- fpgm
- loca
- prep
- GPOS
- GSUB
- gasp
[code: optional-tables]
This font doesn't have an ARTICLE.en_us.html file.
[code: missing-article]EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818
[code: lacks-EPAR]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]Name ID 2 (Subfamily Name) does not conform to specs. Only R/I/B/BI are allowed. Got: 'Light Italic'.
[code: bad-subfamilyname]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 |
^ | Shaper didn't attach uni064B to space |
^ | Shaper didn't attach uni064C to space |
^ | Shaper didn't attach uni064D to space |
^ | Shaper didn't attach uni064E to space |
^ | Shaper didn't attach uni064F to space |
^ | Shaper didn't attach uni0650 to space |
^ | Shaper didn't attach uni0651 to space |
^ | Shaper didn't attach uni0652 to space |
^ | 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 |
GF_Arabic_Core glyphset:
Language | FAIL messages |
---|---|
fa_Arab (Persian) | Shaper didn't attach uni0654 to None |
^ | Shaper didn't attach uni0654 to space |
Missing required codepoints:
- 0x0100 (LATIN CAPITAL LETTER A WITH MACRON)
- 0x0101 (LATIN SMALL LETTER A WITH MACRON)
- 0x0102 (LATIN CAPITAL LETTER A WITH BREVE)
- 0x0103 (LATIN SMALL LETTER A WITH BREVE)
- 0x0104 (LATIN CAPITAL LETTER A WITH OGONEK)
- 0x0105 (LATIN SMALL LETTER A WITH OGONEK)
- 0x0106 (LATIN CAPITAL LETTER C WITH ACUTE)
- 0x0107 (LATIN SMALL LETTER C WITH ACUTE)
- 0x010A (LATIN CAPITAL LETTER C WITH DOT ABOVE)
- 0x010B (LATIN SMALL LETTER C WITH DOT ABOVE)
- 97 more.
Use -F or --full-lists to disable shortening of long lists.
[code: missing-codepoints]OS/2 xAvgCharWidth is 651 but it should be 481 which corresponds to the average of the widths of all glyphs in the font.
[code: xAvgCharWidth-wrong]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]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]hhea.caretSlopeRise and hhea.caretSlopeRun do not match with post.italicAngle. Got: caretSlopeRise 1 and caretSlopeRun 0 Expected: caretSlopeRise 1000 and caretSlopeRun 176
[code: caretslope-mismatch]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: uni00AD Contours detected: 1 Expected: 0
[code: contour-count]
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]This font has a 'Soft Hyphen' character.
[code: softhyphen]The following glyphs have colinear vectors:
* Thorn (U+00DE): L<<96.0,110.0>--<85.0,52.0>> -> L<<85.0,52.0>--<77.0,6.0>>
* W (U+0057): L<<131.0,6.0>--<80.0,548.0>> -> L<<80.0,548.0>--<80.0,549.0>>
* acircumflex (U+00E2): L<<297.0,493.0>--<349.0,436.0>> -> L<<349.0,436.0>--<350.0,435.0>>
* agrave (U+00E0): L<<252.0,493.0>--<305.0,436.0>> -> L<<305.0,436.0>--<306.0,435.0>>
* circumflex (U+02C6): L<<177.0,493.0>--<230.0,436.0>> -> L<<230.0,436.0>--<231.0,435.0>>
* ecircumflex (U+00EA): L<<285.0,493.0>--<338.0,436.0>> -> L<<338.0,436.0>--<339.0,435.0>>
* egrave (U+00E8): L<<245.0,493.0>--<298.0,436.0>> -> L<<298.0,436.0>--<299.0,435.0>>
* grave (U+0060): L<<109.0,493.0>--<162.0,436.0>> -> L<<162.0,436.0>--<163.0,435.0>>
* igrave (U+00EC): L<<129.0,493.0>--<182.0,436.0>> -> L<<182.0,436.0>--<183.0,435.0>>
* numbersign (U+0023): L<<207.0,159.0>--<248.0,6.0>> -> L<<248.0,6.0>--<249.0,3.0>>
* 25 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-colinear-vectors]The following glyphs have jaggy segments:
* Ccedilla (U+00C7): B<<419.0,44.0>-<359.0,-6.0>-<272.0,-11.0>>/L<<272.0,-11.0>--<272.0,-11.0>> = 3.2892426784917586
* uni0633 (U+0633): B<<599.5,69.0>-<570.0,99.0>-<560.0,151.0>>/L<<560.0,151.0>--<560.0,150.0>> = 10.885527054658743
* uni0633 (U+0633): L<<560.0,151.0>--<560.0,150.0>>/L<<560.0,150.0>--<534.0,303.0>> = 9.644405640108051
* uni0634 (U+0634): B<<599.5,69.0>-<570.0,99.0>-<560.0,151.0>>/L<<560.0,151.0>--<560.0,150.0>> = 10.885527054658743
* uni0634 (U+0634): L<<560.0,151.0>--<560.0,150.0>>/L<<560.0,150.0>--<534.0,303.0>> = 9.644405640108051
* uniFEB2 (U+FEB2): B<<599.5,69.0>-<570.0,99.0>-<560.0,151.0>>/L<<560.0,151.0>--<560.0,150.0>> = 10.885527054658743
* uniFEB2 (U+FEB2): L<<560.0,151.0>--<560.0,150.0>>/L<<560.0,150.0>--<534.0,303.0>> = 9.644405640108051
* uniFEB6 (U+FEB6): B<<599.5,69.0>-<570.0,99.0>-<560.0,151.0>>/L<<560.0,151.0>--<560.0,150.0>> = 10.885527054658743
* uniFEB6 (U+FEB6): L<<560.0,151.0>--<560.0,150.0>>/L<<560.0,150.0>--<534.0,303.0>> = 9.644405640108051
[code: found-jaggy-segments]
The following glyphs have a counter-clockwise outer contour:
* .notdef has a counter-clockwise outer contour
* Decoratedbracketleft (U+E100) has a counter-clockwise outer contour
* Decoratedbracketleft (U+E100) has a counter-clockwise outer contour
* Decoratedbracketleft (U+E100) has a counter-clockwise outer contour
* Decoratedbracketleft (U+E100) has a counter-clockwise outer contour
* Decoratedbracketleft (U+E100) has a counter-clockwise outer contour
* Decoratedbracketright (U+E101) has a counter-clockwise outer contour
* Decoratedbracketright (U+E101) has a counter-clockwise outer contour
* Decoratedbracketright (U+E101) has a counter-clockwise outer contour
* Decoratedbracketright (U+E101) has a counter-clockwise outer contour
* 695 more.
Use -F or --full-lists to disable shortening of long lists.
[code: ccw-outer-contour]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.
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: latin
, latin-ext
GPOS table lacks kerning info for the following non-ligated sequences:
- f + i
- f + l
[code: lacks-kern-info]
This font lacks caret position values for ligature glyphs on its GDEF table.
[code: lacks-caret-pos]This font file does not have a 'meta' table.
[code: lacks-meta-table]The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-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 ss02 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 ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description]This font contains the following optional tables:
- cvt
- fpgm
- loca
- prep
- GPOS
- GSUB
- gasp
[code: optional-tables]
This font doesn't have an ARTICLE.en_us.html file.
[code: missing-article]EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818
[code: lacks-EPAR]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]GF_Arabic_Core glyphset:
Language | FAIL messages |
---|---|
ar_Arab (Arabic) | Shaper didn't attach uni0670 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 |
^ | Shaper didn't attach uni064B to space |
^ | Shaper didn't attach uni064C to space |
^ | Shaper didn't attach uni064D to space |
^ | Shaper didn't attach uni064E to space |
^ | Shaper didn't attach uni064F to space |
^ | Shaper didn't attach uni0650 to space |
^ | Shaper didn't attach uni0651 to space |
^ | Shaper didn't attach uni0652 to space |
^ | 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 |
Font names are incorrect:
nameID | current | expected |
---|---|---|
Family Name | Zain | Zain |
Subfamily Name | Regular | Regular |
Full Name | Zain Regular | Zain Regular |
Postscript Name | Zain-Regular | Zain-Regular |
Typographic Family Name | Zain | N/A |
Typographic Subfamily Name | Regular | N/A |
Missing required codepoints:
- 0x0100 (LATIN CAPITAL LETTER A WITH MACRON)
- 0x0101 (LATIN SMALL LETTER A WITH MACRON)
- 0x0102 (LATIN CAPITAL LETTER A WITH BREVE)
- 0x0103 (LATIN SMALL LETTER A WITH BREVE)
- 0x0104 (LATIN CAPITAL LETTER A WITH OGONEK)
- 0x0105 (LATIN SMALL LETTER A WITH OGONEK)
- 0x0106 (LATIN CAPITAL LETTER C WITH ACUTE)
- 0x0107 (LATIN SMALL LETTER C WITH ACUTE)
- 0x010A (LATIN CAPITAL LETTER C WITH DOT ABOVE)
- 0x010B (LATIN SMALL LETTER C WITH DOT ABOVE)
- 97 more.
Use -F or --full-lists to disable shortening of long lists.
[code: missing-codepoints]OS/2 xAvgCharWidth is 651 but it should be 510 which corresponds to the average of the widths of all glyphs in the font.
[code: xAvgCharWidth-wrong]The following spacing glyphs may be in the GDEF mark glyph class by mistake: uni065A (U+065A)
[code: spacing-mark-glyphs]The following mark characters could be in the GDEF mark glyph class: uni0670 (U+0670) and uni06DB (U+06DB)
[code: mark-chars]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]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: uni00AD Contours detected: 1 Expected: 0
[code: contour-count]
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]This font has a 'Soft Hyphen' character.
[code: softhyphen]The following glyphs have colinear vectors:
* uniFB59FE8A (U+E160): L<<699.0,74.0>--<642.0,74.0>> -> L<<642.0,74.0>--<485.0,74.0>>
* uniFB59FEF0 (U+E140): L<<699.0,74.0>--<642.0,74.0>> -> L<<642.0,74.0>--<485.0,74.0>>
* uniFB59FEF2 (U+E141): L<<699.0,74.0>--<642.0,74.0>> -> L<<642.0,74.0>--<485.0,74.0>>
* uniFBAB (U+FBAB): L<<669.0,166.0>--<669.0,180.0>> -> L<<669.0,180.0>--<669.0,182.0>>
* uniFBAD (U+FBAD): L<<631.0,166.0>--<631.0,180.0>> -> L<<631.0,180.0>--<631.0,182.0>>
* uniFBFFFBFD (U+E146): L<<699.0,74.0>--<642.0,74.0>> -> L<<642.0,74.0>--<485.0,74.0>>
* uniFC95 (U+FC95): L<<699.0,74.0>--<642.0,74.0>> -> L<<642.0,74.0>--<485.0,74.0>>
* uniFC96 (U+FC96): L<<699.0,74.0>--<642.0,74.0>> -> L<<642.0,74.0>--<485.0,74.0>>
* uniFEB3 (U+FEB3): L<<181.0,159.0>--<181.0,168.0>> -> L<<181.0,168.0>--<181.0,305.0>>
* uniFEB4 (U+FEB4): L<<181.0,159.0>--<181.0,168.0>> -> L<<181.0,168.0>--<181.0,305.0>>
* 17 more.
Use -F or --full-lists to disable shortening of long lists.
[code: found-colinear-vectors]The following glyphs have semi-vertical/semi-horizontal lines:
* uni0666.tab (U+E128): L<<395.0,376.0>--<394.0,10.0>>
* uni0666: L<<239.0,376.0>--<238.0,10.0>>
[code: found-semi-vertical]
The following glyphs have a counter-clockwise outer contour:
* A (U+0041) has a counter-clockwise outer contour
* AE (U+00C6) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Aacute (U+00C1) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Acircumflex (U+00C2) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Adieresis (U+00C4) has a counter-clockwise outer contour
* Agrave (U+00C0) has a counter-clockwise outer contour
* 1034 more.
Use -F or --full-lists to disable shortening of long lists.
[code: ccw-outer-contour]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.
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: latin
, latin-ext
GPOS table lacks kerning info for the following non-ligated sequences:
- f + i
- f + l
[code: lacks-kern-info]
This font lacks caret position values for ligature glyphs on its GDEF table.
[code: lacks-caret-pos]This font file does not have a 'meta' table.
[code: lacks-meta-table]The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss01 lacks a description string on the 'name' table.
[code: missing-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 ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss02 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 lacks a description string on the 'name' table.
[code: missing-description] * ⚠️ **WARN**The stylistic set ss03 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]This font contains the following optional tables:
- cvt
- fpgm
- loca
- prep
- GPOS
- GSUB
- gasp
[code: optional-tables]
This font doesn't have an ARTICLE.en_us.html file.
[code: missing-article]EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818
[code: lacks-EPAR]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]Italic contains encoded codepoints not found in other related fonts: - U+e200
U+e201
U+e202
U+e203
U+e204
U+e205
U+e206
U+e207
U+e208
U+e209
80 more.
Use -F or --full-lists to disable shortening of long lists.
LightItalic contains encoded codepoints not found in other related fonts: - U+e200
U+e201
U+e202
U+e203
U+e204
U+e205
U+e206
U+e207
U+e208
U+e209
80 more.
Use -F or --full-lists to disable shortening of long lists.
[code: glyphset-diverges]💥 ERROR | ☠ FATAL | 🔥 FAIL | ⚠️ WARN | ⏩ SKIP | ℹ️ INFO | ✅ PASS | 🔎 DEBUG |
---|---|---|---|---|---|---|---|
0 | 0 | 21 | 132 | 947 | 49 | 741 | 0 |
0% | 0% | 1% | 7% | 50% | 3% | 39% | 0% |
Note: The following loglevels were omitted in this report:
Font Project Git Repo URL:
https://github.com/googlefonts/zain
Current version:
1.2
New available version:
1.3
Super short description of the upgrade: