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

Noto Kufi Arabic: Version 2.108 added #6860

Merged
merged 2 commits into from
Feb 14, 2024

Conversation

simoncozens
Copy link
Collaborator

a002dcf: [gftools-packager] Noto Kufi Arabic: Version 2.108 added

@github-actions
Copy link

FontBakery report

fontbakery version: 0.10.0

[1] Family checks
INFO: Check axis ordering on the STAT table. (com.google.fonts/check/STAT/axis_order)
  • INFO From a total of 1 font files, 0 of them (0.00%) lack a STAT table.

    And these are the most common STAT axis orderings:
    ('wght', 1) [code: summary]


[19] NotoKufiArabic[wght].ttf
🔥 FAIL: Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts. (com.google.fonts/check/vertical_metrics_regressions)
  • 🔥 FAIL Noto Kufi Arabic Regular: OS/2 sTypoAscender is 1374 when it should be 1282 [code: bad-typo-ascender]
  • 🔥 FAIL Noto Kufi Arabic Regular: OS/2 sTypoDescender is -738 when it should be -615 [code: bad-typo-descender]
  • 🔥 FAIL Noto Kufi Arabic Regular: hhea Ascender is 1374 when it should be 1282 [code: bad-hhea-ascender]
  • 🔥 FAIL Noto Kufi Arabic Regular: hhea Descender is -738 when it should be -615 [code: bad-hhea-descender]
🔥 FAIL: Noto fonts must have an ARTICLE.en_us.html file (com.google.fonts/check/description/noto_has_article)
  • 🔥 FAIL This is a Noto font but it lacks an ARTICLE.en_us.html file [code: missing-article]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent. (com.google.fonts/check/family/win_ascent_and_descent)
  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 1507, but got 1374 instead [code: ascent]
WARN: Check for codepoints not covered by METADATA subsets. (com.google.fonts/check/metadata/unreachable_subsetting)
  • WARN The following codepoints supported by the font are not covered by
    any subsets defined in the font's metadata file, and will never
    be served. You can solve this by either manually adding additional
    subset declarations to METADATA.pb, or by editing the glyphset
    definitions.

  • U+02C7 CARON: try adding one of: canadian-aboriginal, tifinagh, yi

  • U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition

  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi

  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi

  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi

  • U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition

  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh

  • U+030A COMBINING RING ABOVE: try adding syriac

  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee

  • U+030C COMBINING CARON: try adding one of: tai-le, cherokee
    16 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, latin-ext, math, menu, symbols [code: unreachable-subsetting]

WARN: Glyphs are similiar to Google Fonts version? (com.google.fonts/check/production_glyphs_similarity)
  • WARN Following glyphs differ greatly from Google Fonts version:
    • uni0600
    • uni0603
    • uni0647
    • uni0657
    • uni0675
    • uni0676
    • uni0677
    • uni0678
    • uni0683
    • uni06AB and 22 more.

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

WARN: Is there kerning info for non-ligated sequences? (com.google.fonts/check/kerning_for_non_ligated_sequences)
  • WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • uni0627 + uni0644.init

    • uni0644.init + uni0644.medi

    • uni0644.medi + uni0651

    • uni0651 + uni0670

    • uni0670 + uni0647.fina

    • uni0647.fina + uni0644.init

    • uni0670 + uni06C1.fina [code: lacks-kern-info]

WARN: Ensure variable fonts include an avar table. (com.google.fonts/check/mandatory_avar_table)
  • WARN This variable font does not have an avar table. [code: missing-avar]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table. (com.google.fonts/check/meta/script_lang_tags)
  • WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Glyph names are all valid? (com.google.fonts/check/valid_glyphnames)
  • WARN The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit:
    twodotshorizontalabove_tahabovear, twodotshorizontalabovear.diagonal, twodotshorizontalbelow_tahabovear and twodotshorizontalcenter_tahabovear [code: legacy-long-names]
WARN: Check font contains no unreachable glyphs (com.google.fonts/check/unreachable_glyphs)
  • WARN The following glyphs could not be reached by codepoint or substitution rules:

    • uni06F7.mark
      [code: unreachable-glyphs]
WARN: Check math signs have the same width. (com.google.fonts/check/math_signs_width)
  • WARN The most common width is 572 among a set of 6 math glyphs.
    The following math glyphs have a different width, though:

Width = 322:
minus
[code: width-outliers]

WARN: Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (com.google.fonts/check/soft_dotted)
  • WARN The dot of soft dotted characters used in orthographies must disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌

The dot of soft dotted characters should disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̒ į̦̀ į̦́ į̦̂ į̦̃ į̦̄ į̦̆ į̦̇ į̦̈ į̦̊ į̦̋ į̦̌ į̦̒ į̧̀ į̧́

Your font fully covers the following languages that require the soft-dotted feature: Lithuanian (Latn, 2,357,094 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Dutch (Latn, 31,709,104 speakers), Avokaya (Latn, 100,000 speakers), Kom (Latn, 360,685 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Belarusian (Cyrl, 10,064,517 speakers), Basaa (Latn, 332,940 speakers), Ejagham (Latn, 120,000 speakers), Koonzime (Latn, 40,000 speakers), Dan (Latn, 1,099,244 speakers), Aghem (Latn, 38,843 speakers), Ma’di (Latn, 584,000 speakers), Lugbara (Latn, 2,200,000 speakers), Ebira (Latn, 2,200,000 speakers), Igbo (Latn, 27,823,640 speakers), Nateni (Latn, 100,000 speakers), Navajo (Latn, 166,319 speakers). [code: soft-dotted]

INFO: Show hinting filesize impact. (com.google.fonts/check/hinting_impact)
  • INFO Hinting filesize impact:
ofl/notokufiarabic/NotoKufiArabic[wght].ttf
Dehinted Size 431.8kb
Hinted Size 431.8kb
Increase 24 bytes
Change 0.0 %
[code: size-impact]
INFO: Font has old ttfautohint applied? (com.google.fonts/check/old_ttfautohint)
  • INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 2.108'] [code: version-not-detected]
INFO: EPAR table present in font? (com.google.fonts/check/epar)
INFO: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (com.google.fonts/check/gasp)
  • 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: Check for font-v versioning. (com.google.fonts/check/fontv)
  • INFO Version string is: "Version 2.108"
    The version string must ideally include a git commit hash and either a "dev" or a "release" suffix such as in the example below:
    "Version 1.3; git-0d08353-release" [code: bad-format]
INFO: Font contains all required tables? (com.google.fonts/check/required_tables)
  • INFO This font contains the following optional tables:

    • loca

    • prep

    • GPOS

    • GSUB

    • gasp [code: optional-tables]

INFO: List all superfamily filepaths (com.google.fonts/check/superfamily/list)
  • INFO ofl/notokufiarabic [code: family-path]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 3 9 43 8 187 0
0% 1% 4% 17% 3% 75% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • PASS
  • DEBUG

@github-actions
Copy link

FontBakery report

fontbakery version: 0.10.0

[1] Family checks
INFO: Check axis ordering on the STAT table. (com.google.fonts/check/STAT/axis_order)
  • INFO From a total of 1 font files, 0 of them (0.00%) lack a STAT table.

    And these are the most common STAT axis orderings:
    ('wght', 1) [code: summary]


[18] NotoKufiArabic[wght].ttf
🔥 FAIL: Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts. (com.google.fonts/check/vertical_metrics_regressions)
  • 🔥 FAIL Noto Kufi Arabic Regular: OS/2 sTypoAscender is 1374 when it should be 1282 [code: bad-typo-ascender]
  • 🔥 FAIL Noto Kufi Arabic Regular: OS/2 sTypoDescender is -738 when it should be -615 [code: bad-typo-descender]
  • 🔥 FAIL Noto Kufi Arabic Regular: hhea Ascender is 1374 when it should be 1282 [code: bad-hhea-ascender]
  • 🔥 FAIL Noto Kufi Arabic Regular: hhea Descender is -738 when it should be -615 [code: bad-hhea-descender]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent. (com.google.fonts/check/family/win_ascent_and_descent)
  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 1507, but got 1374 instead [code: ascent]
WARN: Check for codepoints not covered by METADATA subsets. (com.google.fonts/check/metadata/unreachable_subsetting)
  • WARN The following codepoints supported by the font are not covered by
    any subsets defined in the font's metadata file, and will never
    be served. You can solve this by either manually adding additional
    subset declarations to METADATA.pb, or by editing the glyphset
    definitions.

  • U+02C7 CARON: try adding one of: canadian-aboriginal, tifinagh, yi

  • U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition

  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi

  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi

  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi

  • U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition

  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic

  • U+030A COMBINING RING ABOVE: try adding syriac

  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage

  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    16 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, latin-ext, math, menu, symbols [code: unreachable-subsetting]

WARN: Glyphs are similiar to Google Fonts version? (com.google.fonts/check/production_glyphs_similarity)
  • WARN Following glyphs differ greatly from Google Fonts version:
    • uni0600
    • uni0603
    • uni0647
    • uni0657
    • uni0675
    • uni0676
    • uni0677
    • uni0678
    • uni0683
    • uni06AB and 22 more.

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

WARN: Is there kerning info for non-ligated sequences? (com.google.fonts/check/kerning_for_non_ligated_sequences)
  • WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • uni0627 + uni0644.init

    • uni0644.init + uni0644.medi

    • uni0644.medi + uni0651

    • uni0651 + uni0670

    • uni0670 + uni0647.fina

    • uni0647.fina + uni0644.init

    • uni0670 + uni06C1.fina [code: lacks-kern-info]

WARN: Ensure variable fonts include an avar table. (com.google.fonts/check/mandatory_avar_table)
  • WARN This variable font does not have an avar table. [code: missing-avar]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table. (com.google.fonts/check/meta/script_lang_tags)
  • WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Glyph names are all valid? (com.google.fonts/check/valid_glyphnames)
  • WARN The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit:
    twodotshorizontalabove_tahabovear, twodotshorizontalabovear.diagonal, twodotshorizontalbelow_tahabovear and twodotshorizontalcenter_tahabovear [code: legacy-long-names]
WARN: Check font contains no unreachable glyphs (com.google.fonts/check/unreachable_glyphs)
  • WARN The following glyphs could not be reached by codepoint or substitution rules:

    • uni06F7.mark
      [code: unreachable-glyphs]
WARN: Check math signs have the same width. (com.google.fonts/check/math_signs_width)
  • WARN The most common width is 572 among a set of 6 math glyphs.
    The following math glyphs have a different width, though:

Width = 322:
minus
[code: width-outliers]

WARN: Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (com.google.fonts/check/soft_dotted)
  • WARN The dot of soft dotted characters used in orthographies must disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌

The dot of soft dotted characters should disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̒ į̦̀ į̦́ į̦̂ į̦̃ į̦̄ į̦̆ į̦̇ į̦̈ į̦̊ į̦̋ į̦̌ į̦̒ į̧̀ į̧́

Your font fully covers the following languages that require the soft-dotted feature: Lithuanian (Latn, 2,357,094 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Navajo (Latn, 166,319 speakers), Igbo (Latn, 27,823,640 speakers), Koonzime (Latn, 40,000 speakers), Kom (Latn, 360,685 speakers), Ebira (Latn, 2,200,000 speakers), Avokaya (Latn, 100,000 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Ejagham (Latn, 120,000 speakers), Basaa (Latn, 332,940 speakers), Ma’di (Latn, 584,000 speakers), Nateni (Latn, 100,000 speakers), Belarusian (Cyrl, 10,064,517 speakers), Lugbara (Latn, 2,200,000 speakers), Dan (Latn, 1,099,244 speakers), Dutch (Latn, 31,709,104 speakers), Aghem (Latn, 38,843 speakers). [code: soft-dotted]

INFO: Show hinting filesize impact. (com.google.fonts/check/hinting_impact)
  • INFO Hinting filesize impact:
ofl/notokufiarabic/NotoKufiArabic[wght].ttf
Dehinted Size 431.8kb
Hinted Size 431.8kb
Increase 24 bytes
Change 0.0 %
[code: size-impact]
INFO: Font has old ttfautohint applied? (com.google.fonts/check/old_ttfautohint)
  • INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 2.108'] [code: version-not-detected]
INFO: EPAR table present in font? (com.google.fonts/check/epar)
INFO: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (com.google.fonts/check/gasp)
  • 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: Check for font-v versioning. (com.google.fonts/check/fontv)
  • INFO Version string is: "Version 2.108"
    The version string must ideally include a git commit hash and either a "dev" or a "release" suffix such as in the example below:
    "Version 1.3; git-0d08353-release" [code: bad-format]
INFO: Font contains all required tables? (com.google.fonts/check/required_tables)
  • INFO This font contains the following optional tables:

    • loca

    • prep

    • GPOS

    • GSUB

    • gasp [code: optional-tables]

INFO: List all superfamily filepaths (com.google.fonts/check/superfamily/list)
  • INFO ofl/notokufiarabic [code: family-path]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 2 9 43 8 188 0
0% 1% 4% 17% 3% 75% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • PASS
  • DEBUG

@m4rc1e
Copy link
Collaborator

m4rc1e commented Oct 16, 2023

Vertical metrics have changed? other than that, LGTM.

diffbrowsers_text-Windows-10-10 0 20348-SP0_firefox_118 0 1

Are the default Arabic figures now tabular?

@simoncozens
Copy link
Collaborator Author

Metric regression is bad. Yes, we're going with tabular digits to match Noto Sans and Serif.

@simoncozens
Copy link
Collaborator Author

Okay. It looks like the vertical metrics change actually happened a long time ago.

GF prod has 2.102.
2.105 (March 2021) has 1282/-615.
2.106 (June 2021) has hhea/win/typo ascents 1374/-738.

This 2.106 version is in the GF repo but presumably not pushed into prod because of the regression.

I guess if we want to make progress on onboarding we have to put the metrics back to what they were? I don't really want to have different metrics for the GF build as for the "Noto" build but that's another option I can do if needed.

Opinions, @khaledhosny?

@khaledhosny
Copy link
Contributor

The old line spacing is too tight for my taste, but it is OK especially for text without marks.

@RosaWagner RosaWagner added the -- Regressions Shows diff with previous published version label Oct 25, 2023
@RosaWagner
Copy link
Contributor

@simoncozens can we go back with previous vertical metrics?

@simoncozens
Copy link
Collaborator Author

Fine with me. It's not in Android so we won't mess them up. I'll set the metrics and re-release.

@RosaWagner
Copy link
Contributor

@simoncozens did you have the chance to re-release with the old v metrics?

@emmamarichal
Copy link
Collaborator

@simoncozens Sorry for all my comments, I'm trying to move on with all the Noto PRs!
Did you have the time to check this one? Thanks!

@simoncozens
Copy link
Collaborator Author

Updated

Noto Kufi Arabic: Version 2.109 added


1ad6a0d: [gftools-packager] Noto Kufi Arabic: Version 2.109 added

@simoncozens simoncozens force-pushed the gftools_packager_ofl_notokufiarabic branch from 2d4e00f to 1ad6a0d Compare February 12, 2024 15:48
Copy link

FontBakery report

fontbakery version: 0.11.1

Check results

[1] Family checks
INFO: Check axis ordering on the STAT table. (com.google.fonts/check/STAT/axis_order)
  • INFO None of the fonts lack a STAT table.

    And these are the most common STAT axis orderings:
    ('wght', 1) [code: summary]


[20] NotoKufiArabic[wght].ttf
💔 ERROR: Check Google Fonts glyph coverage. (com.google.fonts/check/glyph_coverage)
  • 💔 ERROR Failed with ImportError: cannot import name 'unicodes_per_glyphset' from 'glyphsets.definitions' (/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/glyphsets/definitions/init.py)
  File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/checkrunner.py", line 170, in _exec_check
    results.extend(list(result))
  File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/profiles/googlefonts.py", line 1076, in com_google_fonts_check_glyph_coverage
    glyphsets_fulfilled = get_glyphsets_fulfilled(ttFont)
  File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/profiles/googlefonts_conditions.py", line 748, in get_glyphsets_fulfilled
    from glyphsets.definitions import unicodes_per_glyphset, glyphset_definitions

``` [code: failed-check]
</div></details><details><summary>💔 <b>ERROR:</b> Shapes languages in all GF glyphsets. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/glyphsets/shape_languages">com.google.fonts/check/glyphsets/shape_languages</a>)</summary><div>


* 💔 **ERROR** Failed with ImportError: cannot import name 'unicodes_per_glyphset' from 'glyphsets.definitions' (/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/glyphsets/definitions/__init__.py)

File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/checkrunner.py", line 170, in _exec_check
results.extend(list(result))
File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/profiles/googlefonts.py", line 3543, in com_google_fonts_check_glyphsets_shape_languages
glyphsets_fulfilled = get_glyphsets_fulfilled(ttFont)
File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/profiles/googlefonts_conditions.py", line 748, in get_glyphsets_fulfilled
from glyphsets.definitions import unicodes_per_glyphset, glyphset_definitions

</div></details><details><summary>🔥 <b>FAIL:</b> Check for METADATA subsets with zero support. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/unsupported_subsets">com.google.fonts/check/metadata/unsupported_subsets</a>)</summary><div>


* 🔥 **FAIL** Please remove 'cyrillic-ext' from METADATA.pb since none of its glyphs are supported by this font file. [code: unsupported-subset]
* 🔥 **FAIL** Please remove 'greek-ext' from METADATA.pb since none of its glyphs are supported by this font file. [code: unsupported-subset]
</div></details><details><summary>⚠ <b>WARN:</b> Check for codepoints not covered by METADATA subsets. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/unreachable_subsetting">com.google.fonts/check/metadata/unreachable_subsetting</a>)</summary><div>


* ⚠ **WARN** The following codepoints supported by the font are not covered by
    any subsets defined in the font's metadata file, and will never
    be served. You can solve this by either manually adding additional
    subset declarations to METADATA.pb, or by editing the glyphset
    definitions.

 * U+02C7 CARON: try adding one of: yi, canadian-aboriginal, tifinagh
 * U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition
 * U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
 * U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
 * U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
 * U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
 * U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
 * U+030A COMBINING RING ABOVE: try adding syriac
 * U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
 * U+030C COMBINING CARON: try adding one of: tai-le, cherokee
7 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`, `cyrillic-ext`, `greek-ext`, `latin`, `latin-ext`, `math`, `menu`, `symbols` [code: unreachable-subsetting]
</div></details><details><summary>⚠ <b>WARN:</b> Glyphs are similiar to Google Fonts version? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/production_glyphs_similarity">com.google.fonts/check/production_glyphs_similarity</a>)</summary><div>


* ⚠ **WARN** Following glyphs differ greatly from Google Fonts version:
	* uni0600
	* uni0603
	* uni0647
	* uni0657
	* uni0675
	* uni0676
	* uni0677
	* uni0678
	* uni0683
	* uni06AB and 22 more.

Use -F or --full-lists to disable shortening of long lists.
</div></details><details><summary>⚠ <b>WARN:</b> Is there kerning info for non-ligated sequences? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/kerning_for_non_ligated_sequences">com.google.fonts/check/kerning_for_non_ligated_sequences</a>)</summary><div>


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

	- uni0627 + uni0644.init

	- uni0644.init + uni0644.medi

	- uni0644.medi + uni0651

	- uni0651 + uni0670

	- uni0670 + uni0647.fina

	- uni0647.fina + uni0644.init

	- uni0670 + uni06C1.fina [code: lacks-kern-info]
</div></details><details><summary>⚠ <b>WARN:</b> Ensure variable fonts include an avar table. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/mandatory_avar_table">com.google.fonts/check/mandatory_avar_table</a>)</summary><div>


* ⚠ **WARN** This variable font does not have an avar table. [code: missing-avar]
</div></details><details><summary>⚠ <b>WARN:</b> Ensure fonts have ScriptLangTags declared on the 'meta' table. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/meta/script_lang_tags">com.google.fonts/check/meta/script_lang_tags</a>)</summary><div>


* ⚠ **WARN** This font file does not have a 'meta' table. [code: lacks-meta-table]
</div></details><details><summary>⚠ <b>WARN:</b> Check that legacy accents aren't used in composite glyphs. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/legacy_accents">com.google.fonts/check/legacy_accents</a>)</summary><div>


* ⚠ **WARN** Glyph "Aacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Abreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Acircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Adieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Agrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Aogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Aring" has a legacy accent component  (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Atilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Cacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ccaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ccedilla" has a legacy accent component  (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Cdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Dcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Eacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ecaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ecircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Edieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Edotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Egrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Eogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Gbreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Gdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Iacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Icircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Idieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Idotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Igrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Iogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Lacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Nacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ncaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ntilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Oacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ocircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Odieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ograve" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ohungarumlaut" has a legacy accent component  (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Otilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Racute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Rcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Sacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Scaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Scedilla" has a legacy accent component  (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Tcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Uacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ubreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ucircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Udieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ugrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Uhungarumlaut" has a legacy accent component  (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Uring" has a legacy accent component  (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Wacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Wcircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Wdieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Wgrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Yacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ycircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ydieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ygrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Zacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Zcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Zdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "aacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "abreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "acircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "acutecomb" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "adieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "agrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "aogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "aring" has a legacy accent component  (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "atilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0306" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "cacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni030C" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ccaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ccedilla" has a legacy accent component  (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "cdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0327" has a legacy accent component  (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0302" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0308" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0307" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "eacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ecaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ecircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "edieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "edotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "egrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "gbreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "gdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "gravecomb" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni030B" has a legacy accent component  (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "iacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "icircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "idieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "igrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "iogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "lacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "nacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ncaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ntilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "oacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ocircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "odieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0328" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ograve" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ohungarumlaut" has a legacy accent component  (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "otilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "racute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "rcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni030A" has a legacy accent component  (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "sacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "scaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "scedilla" has a legacy accent component  (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "tildecomb" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ubreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ucircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "udieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ugrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uhungarumlaut" has a legacy accent component  (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uring" has a legacy accent component  (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "wacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "wcircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "wdieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "wgrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "yacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ycircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ydieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ygrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "zacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "zcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "zdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
</div></details><details><summary>⚠ <b>WARN:</b> Glyph names are all valid? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/valid_glyphnames">com.google.fonts/check/valid_glyphnames</a>)</summary><div>


* ⚠ **WARN** The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit:
twodotshorizontalabove_tahabovear, twodotshorizontalabovear.diagonal, twodotshorizontalbelow_tahabovear and twodotshorizontalcenter_tahabovear [code: legacy-long-names]
</div></details><details><summary>⚠ <b>WARN:</b> Check font contains no unreachable glyphs (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/unreachable_glyphs">com.google.fonts/check/unreachable_glyphs</a>)</summary><div>


* ⚠ **WARN** The following glyphs could not be reached by codepoint or substitution rules:

	- uni06F7.mark
 [code: unreachable-glyphs]
</div></details><details><summary>⚠ <b>WARN:</b> Check math signs have the same width. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/math_signs_width">com.google.fonts/check/math_signs_width</a>)</summary><div>


* ⚠ **WARN** The most common width is 572 among a set of 6 math glyphs.
The following math glyphs have a different width, though:

Width = 322:
minus
 [code: width-outliers]
</div></details><details><summary>⚠ <b>WARN:</b> Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/Shaping Checks.html#com.google.fonts/check/soft_dotted">com.google.fonts/check/soft_dotted</a>)</summary><div>


* ⚠ **WARN** The dot of soft dotted characters used in orthographies _must_ disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌

The dot of soft dotted characters _should_ disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̒ į̦̀ į̦́ į̦̂ į̦̃ į̦̄ į̦̆ į̦̇ į̦̈ į̦̊ į̦̋ į̦̌ į̦̒ į̧̀ į̧́

Your font fully covers the following languages that require the soft-dotted feature: Dutch (Latn, 31,709,104 speakers), Lithuanian (Latn, 2,357,094 speakers). 

Your font does *not* cover the following languages that require the soft-dotted feature: Ebira (Latn, 2,200,000 speakers), Zapotec (Latn, 490,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Nateni (Latn, 100,000 speakers), Ekpeye (Latn, 226,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Belarusian (Cyrl, 10,064,517 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Avokaya (Latn, 100,000 speakers), Dan (Latn, 1,099,244 speakers), Southern Kisi (Latn, 360,000 speakers), South Central Banda (Latn, 244,000 speakers), Mfumte (Latn, 79,000 speakers), Dii (Latn, 71,000 speakers), Ejagham (Latn, 120,000 speakers), Kom (Latn, 360,685 speakers), Bafut (Latn, 158,146 speakers), Bete-Bendi (Latn, 100,000 speakers), Navajo (Latn, 166,319 speakers), Cicipu (Latn, 44,000 speakers), Gulay (Latn, 250,478 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Nzakara (Latn, 50,000 speakers), Lugbara (Latn, 2,200,000 speakers), Ma’di (Latn, 584,000 speakers), Fur (Latn, 1,230,163 speakers), Mundani (Latn, 34,000 speakers), Makaa (Latn, 221,000 speakers), Aghem (Latn, 38,843 speakers), Igbo (Latn, 27,823,640 speakers), Mango (Latn, 77,000 speakers), Yala (Latn, 200,000 speakers), Basaa (Latn, 332,940 speakers), Koonzime (Latn, 40,000 speakers), Sar (Latn, 500,000 speakers). [code: soft-dotted]
</div></details><details><summary>ℹ <b>INFO:</b> Show hinting filesize impact. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/hinting_impact">com.google.fonts/check/hinting_impact</a>)</summary><div>


* ℹ **INFO** Hinting filesize impact:

 |               | ofl/notokufiarabic/NotoKufiArabic[wght].ttf          |
 |:------------- | ---------------:|
 | Dehinted Size | 424.0kb |
 | Hinted Size   | 424.0kb   |
 | Increase      | 24 bytes      |
 | Change        | 0.0 %  |
 [code: size-impact]
</div></details><details><summary>ℹ <b>INFO:</b> Font has old ttfautohint applied? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/old_ttfautohint">com.google.fonts/check/old_ttfautohint</a>)</summary><div>


* ℹ **INFO** Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 2.109'] [code: version-not-detected]
</div></details><details><summary>ℹ <b>INFO:</b> EPAR table present in font? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/epar">com.google.fonts/check/epar</a>)</summary><div>


* ℹ **INFO** EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818 [code: lacks-EPAR]
</div></details><details><summary>ℹ <b>INFO:</b> Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/gasp">com.google.fonts/check/gasp</a>)</summary><div>


* ℹ **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]
</div></details><details><summary>ℹ <b>INFO:</b> Check for font-v versioning. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/fontv">com.google.fonts/check/fontv</a>)</summary><div>


* ℹ **INFO** Version string is: "Version 2.109"
The version string must ideally include a git commit hash and either a "dev" or a "release" suffix such as in the example below:
"Version 1.3; git-0d08353-release" [code: bad-format]
</div></details><details><summary>ℹ <b>INFO:</b> Font contains all required tables? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/required_tables">com.google.fonts/check/required_tables</a>)</summary><div>


* ℹ **INFO** This font contains the following optional tables:

	- loca

	- prep

	- GPOS

	- GSUB

	- gasp [code: optional-tables]
</div></details><details><summary>ℹ <b>INFO:</b> List all superfamily filepaths (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/superfamily/list">com.google.fonts/check/superfamily/list</a>)</summary><div>


* ℹ **INFO** ofl/notokufiarabic [code: family-path]
</div></details><br></div></details>

### Summary

| 💔 ERROR | ☠ FATAL | 🔥 FAIL | ⚠ WARN | 💤 SKIP | ℹ INFO | 🍞 PASS | 🔎 DEBUG |
|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|
| 2 | 0 | 1 | 10 | 45 | 8 | 194 | 0 |
| 1% | 0% | 0% | 4% | 17% | 3% | 75% | 0% |

**Note:** The following loglevels were omitted in this report:
* **SKIP**
* **PASS**
* **DEBUG**

@simoncozens simoncozens removed the -- Regressions Shows diff with previous published version label Feb 12, 2024
Copy link

FontBakery report

fontbakery version: 0.11.1

Check results

[1] Family checks
INFO: Check axis ordering on the STAT table. (com.google.fonts/check/STAT/axis_order)
  • INFO None of the fonts lack a STAT table.

    And these are the most common STAT axis orderings:
    ('wght', 1) [code: summary]


[19] NotoKufiArabic[wght].ttf
💔 ERROR: Check Google Fonts glyph coverage. (com.google.fonts/check/glyph_coverage)
  • 💔 ERROR Failed with ImportError: cannot import name 'unicodes_per_glyphset' from 'glyphsets.definitions' (/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/glyphsets/definitions/init.py)
  File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/checkrunner.py", line 170, in _exec_check
    results.extend(list(result))
  File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/profiles/googlefonts.py", line 1076, in com_google_fonts_check_glyph_coverage
    glyphsets_fulfilled = get_glyphsets_fulfilled(ttFont)
  File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/profiles/googlefonts_conditions.py", line 748, in get_glyphsets_fulfilled
    from glyphsets.definitions import unicodes_per_glyphset, glyphset_definitions

``` [code: failed-check]
</div></details><details><summary>💔 <b>ERROR:</b> Shapes languages in all GF glyphsets. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/glyphsets/shape_languages">com.google.fonts/check/glyphsets/shape_languages</a>)</summary><div>


* 💔 **ERROR** Failed with ImportError: cannot import name 'unicodes_per_glyphset' from 'glyphsets.definitions' (/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/glyphsets/definitions/__init__.py)

File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/checkrunner.py", line 170, in _exec_check
results.extend(list(result))
File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/profiles/googlefonts.py", line 3543, in com_google_fonts_check_glyphsets_shape_languages
glyphsets_fulfilled = get_glyphsets_fulfilled(ttFont)
File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/profiles/googlefonts_conditions.py", line 748, in get_glyphsets_fulfilled
from glyphsets.definitions import unicodes_per_glyphset, glyphset_definitions

</div></details><details><summary>⚠ <b>WARN:</b> Check for codepoints not covered by METADATA subsets. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/unreachable_subsetting">com.google.fonts/check/metadata/unreachable_subsetting</a>)</summary><div>


* ⚠ **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+0000 : try adding one of: meetei-mayek, buginese, tai-viet, lycian, psalter-pahlavi, tagbanwa, telugu, yi, elymaic, sogdian, syriac, ahom, indic-siyaq-numbers, linear-a, cherokee, bamum, tagalog, canadian-aboriginal, ogham, gujarati, yezidi, takri, old-turkic, batak, hatran, mongolian, phoenician, khojki, nushu, wancho, old-permic, manichaean, gurmukhi, old-north-arabian, palmyrene, ottoman-siyaq-numbers, tai-tham, znamenny, cypro-minoan, inscriptional-pahlavi, pau-cin-hau, tai-le, nag-mundari, newa, thai, kannada, bassa-vah, mahajani, mro, sora-sompeng, tangut, hanunoo, myanmar, tamil-supplement, modi, old-uyghur, cyrillic, chinese-traditional, ol-chiki, pahawh-hmong, runic, makasar, gunjala-gondi, egyptian-hieroglyphs, sundanese, cypriot, khmer, osage, dives-akuru, anatolian-hieroglyphs, old-south-arabian, soyombo, lisu, phags-pa, chakma, new-tai-lue, warang-citi, gothic, osmanya, tibetan, lydian, chinese-hongkong, carian, nko, balinese, marchen, chorasmian, armenian, kharoshthi, signwriting, imperial-aramaic, glagolitic, buhid, cyrillic-ext, siddham, zanabazar-square, inscriptional-parthian, hanifi-rohingya, greek, old-sogdian, linear-b, samaritan, sharada, adlam, braille, meroitic-hieroglyphs, lepcha, kaithi, music, sinhala, avestan, caucasian-albanian, medefaidrin, ugaritic, thaana, multani, hebrew, georgian, miao, tirhuta, bengali, korean, kawi, cham, masaram-gondi, meroitic-cursive, cuneiform, dogra, syloti-nagri, nyiakeng-puachue-hmong, devanagari, chinese-simplified, ethiopic, greek-ext, grantha, vai, tangsa, toto, deseret, mayan-numerals, tifinagh, old-persian, coptic, javanese, khitan-small-script, brahmi, nandinagari, old-italic, old-hungarian, nabataean, vietnamese, limbu, khudawadi, rejang, malayalam, oriya, mende-kikakui, mandaic, lao, vithkuqi, saurashtra, japanese, meroitic, bhaiksuki, elbasan, shavian, duployan, tamil, kayah-li
 * U+000D : try adding one of: meetei-mayek, buginese, tai-viet, lycian, psalter-pahlavi, tagbanwa, telugu, yi, elymaic, sogdian, syriac, ahom, indic-siyaq-numbers, linear-a, cherokee, bamum, tagalog, canadian-aboriginal, ogham, gujarati, yezidi, takri, old-turkic, batak, hatran, mongolian, phoenician, khojki, nushu, wancho, old-permic, manichaean, gurmukhi, old-north-arabian, palmyrene, ottoman-siyaq-numbers, tai-tham, znamenny, cypro-minoan, inscriptional-pahlavi, pau-cin-hau, tai-le, nag-mundari, newa, thai, kannada, bassa-vah, mahajani, mro, sora-sompeng, tangut, hanunoo, myanmar, tamil-supplement, modi, old-uyghur, cyrillic, chinese-traditional, ol-chiki, pahawh-hmong, runic, makasar, gunjala-gondi, egyptian-hieroglyphs, sundanese, cypriot, khmer, osage, dives-akuru, anatolian-hieroglyphs, old-south-arabian, soyombo, lisu, phags-pa, chakma, new-tai-lue, warang-citi, gothic, osmanya, tibetan, lydian, chinese-hongkong, carian, nko, balinese, marchen, chorasmian, armenian, kharoshthi, signwriting, imperial-aramaic, glagolitic, buhid, cyrillic-ext, siddham, zanabazar-square, inscriptional-parthian, hanifi-rohingya, greek, old-sogdian, linear-b, samaritan, sharada, adlam, braille, meroitic-hieroglyphs, lepcha, kaithi, music, sinhala, avestan, caucasian-albanian, medefaidrin, ugaritic, thaana, multani, hebrew, georgian, miao, tirhuta, bengali, korean, kawi, cham, masaram-gondi, meroitic-cursive, cuneiform, dogra, syloti-nagri, nyiakeng-puachue-hmong, devanagari, chinese-simplified, ethiopic, greek-ext, grantha, vai, tangsa, toto, deseret, mayan-numerals, tifinagh, old-persian, coptic, javanese, khitan-small-script, brahmi, nandinagari, old-italic, old-hungarian, nabataean, vietnamese, limbu, khudawadi, rejang, malayalam, oriya, mende-kikakui, mandaic, lao, vithkuqi, saurashtra, japanese, meroitic, bhaiksuki, elbasan, shavian, duployan, tamil, kayah-li
 * U+0020 SPACE: try adding one of: meetei-mayek, buginese, tai-viet, lycian, psalter-pahlavi, tagbanwa, telugu, yi, elymaic, sogdian, syriac, ahom, indic-siyaq-numbers, linear-a, cherokee, bamum, tagalog, canadian-aboriginal, ogham, gujarati, yezidi, takri, old-turkic, batak, hatran, mongolian, phoenician, khojki, nushu, wancho, old-permic, manichaean, gurmukhi, old-north-arabian, palmyrene, ottoman-siyaq-numbers, tai-tham, znamenny, cypro-minoan, inscriptional-pahlavi, pau-cin-hau, tai-le, nag-mundari, newa, thai, kannada, bassa-vah, mahajani, mro, sora-sompeng, tangut, hanunoo, myanmar, tamil-supplement, modi, old-uyghur, cyrillic, chinese-traditional, ol-chiki, pahawh-hmong, runic, makasar, gunjala-gondi, egyptian-hieroglyphs, sundanese, cypriot, khmer, osage, dives-akuru, anatolian-hieroglyphs, old-south-arabian, soyombo, lisu, phags-pa, chakma, new-tai-lue, warang-citi, gothic, osmanya, tibetan, lydian, chinese-hongkong, carian, nko, balinese, marchen, chorasmian, armenian, kharoshthi, signwriting, imperial-aramaic, glagolitic, buhid, cyrillic-ext, siddham, zanabazar-square, inscriptional-parthian, hanifi-rohingya, greek, old-sogdian, linear-b, samaritan, sharada, adlam, braille, meroitic-hieroglyphs, lepcha, kaithi, music, sinhala, avestan, caucasian-albanian, medefaidrin, ugaritic, thaana, multani, hebrew, georgian, miao, tirhuta, bengali, korean, kawi, cham, masaram-gondi, meroitic-cursive, cuneiform, dogra, syloti-nagri, nyiakeng-puachue-hmong, devanagari, chinese-simplified, ethiopic, greek-ext, grantha, vai, tangsa, toto, deseret, mayan-numerals, tifinagh, old-persian, coptic, javanese, khitan-small-script, brahmi, nandinagari, old-italic, old-hungarian, nabataean, vietnamese, limbu, khudawadi, rejang, malayalam, oriya, mende-kikakui, mandaic, lao, vithkuqi, saurashtra, japanese, meroitic, bhaiksuki, elbasan, shavian, duployan, tamil, kayah-li
 * U+00A0 NO-BREAK SPACE: try adding one of: meetei-mayek, buginese, tai-viet, lycian, psalter-pahlavi, tagbanwa, telugu, yi, elymaic, sogdian, syriac, ahom, indic-siyaq-numbers, linear-a, cherokee, bamum, tagalog, canadian-aboriginal, ogham, gujarati, yezidi, takri, old-turkic, batak, hatran, mongolian, phoenician, khojki, nushu, wancho, old-permic, manichaean, gurmukhi, old-north-arabian, palmyrene, ottoman-siyaq-numbers, tai-tham, znamenny, cypro-minoan, inscriptional-pahlavi, pau-cin-hau, tai-le, nag-mundari, newa, thai, kannada, bassa-vah, mahajani, mro, sora-sompeng, tangut, hanunoo, myanmar, tamil-supplement, modi, old-uyghur, cyrillic, chinese-traditional, ol-chiki, pahawh-hmong, runic, makasar, gunjala-gondi, egyptian-hieroglyphs, sundanese, cypriot, khmer, osage, dives-akuru, anatolian-hieroglyphs, old-south-arabian, soyombo, lisu, phags-pa, chakma, new-tai-lue, warang-citi, gothic, osmanya, tibetan, lydian, chinese-hongkong, carian, nko, balinese, marchen, chorasmian, armenian, kharoshthi, signwriting, imperial-aramaic, glagolitic, buhid, cyrillic-ext, siddham, zanabazar-square, inscriptional-parthian, hanifi-rohingya, greek, old-sogdian, linear-b, samaritan, sharada, adlam, braille, meroitic-hieroglyphs, lepcha, kaithi, music, sinhala, avestan, caucasian-albanian, medefaidrin, ugaritic, thaana, multani, hebrew, georgian, miao, tirhuta, bengali, korean, kawi, cham, masaram-gondi, meroitic-cursive, cuneiform, dogra, syloti-nagri, nyiakeng-puachue-hmong, devanagari, chinese-simplified, ethiopic, greek-ext, grantha, vai, tangsa, toto, deseret, mayan-numerals, tifinagh, old-persian, coptic, javanese, khitan-small-script, brahmi, nandinagari, old-italic, old-hungarian, nabataean, vietnamese, limbu, khudawadi, rejang, malayalam, oriya, mende-kikakui, mandaic, lao, vithkuqi, saurashtra, japanese, meroitic, bhaiksuki, elbasan, shavian, duployan, tamil, kayah-li
 * U+02C7 CARON: try adding one of: canadian-aboriginal, tifinagh, yi
 * U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition
 * U+02D8 BREVE: try adding one of: canadian-aboriginal, yi
 * U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
 * U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
 * U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
11 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`, `latin-ext`, `math`, `menu`, `symbols` [code: unreachable-subsetting]
</div></details><details><summary>⚠ <b>WARN:</b> Glyphs are similiar to Google Fonts version? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/production_glyphs_similarity">com.google.fonts/check/production_glyphs_similarity</a>)</summary><div>


* ⚠ **WARN** Following glyphs differ greatly from Google Fonts version:
	* uni0600
	* uni0603
	* uni0647
	* uni0657
	* uni0675
	* uni0676
	* uni0677
	* uni0678
	* uni0683
	* uni06AB and 22 more.

Use -F or --full-lists to disable shortening of long lists.
</div></details><details><summary>⚠ <b>WARN:</b> Is there kerning info for non-ligated sequences? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/kerning_for_non_ligated_sequences">com.google.fonts/check/kerning_for_non_ligated_sequences</a>)</summary><div>


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

	- uni0627 + uni0644.init

	- uni0644.init + uni0644.medi

	- uni0644.medi + uni0651

	- uni0651 + uni0670

	- uni0670 + uni0647.fina

	- uni0647.fina + uni0644.init

	- uni0670 + uni06C1.fina [code: lacks-kern-info]
</div></details><details><summary>⚠ <b>WARN:</b> Ensure variable fonts include an avar table. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/mandatory_avar_table">com.google.fonts/check/mandatory_avar_table</a>)</summary><div>


* ⚠ **WARN** This variable font does not have an avar table. [code: missing-avar]
</div></details><details><summary>⚠ <b>WARN:</b> Ensure fonts have ScriptLangTags declared on the 'meta' table. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/meta/script_lang_tags">com.google.fonts/check/meta/script_lang_tags</a>)</summary><div>


* ⚠ **WARN** This font file does not have a 'meta' table. [code: lacks-meta-table]
</div></details><details><summary>⚠ <b>WARN:</b> Check that legacy accents aren't used in composite glyphs. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/legacy_accents">com.google.fonts/check/legacy_accents</a>)</summary><div>


* ⚠ **WARN** Glyph "Aacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Abreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Acircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Adieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Agrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Aogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Aring" has a legacy accent component  (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Atilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Cacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ccaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ccedilla" has a legacy accent component  (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Cdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Dcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Eacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ecaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ecircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Edieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Edotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Egrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Eogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Gbreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Gdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Iacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Icircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Idieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Idotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Igrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Iogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Lacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Nacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ncaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ntilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Oacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ocircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Odieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ograve" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ohungarumlaut" has a legacy accent component  (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Otilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Racute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Rcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Sacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Scaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Scedilla" has a legacy accent component  (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Tcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Uacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ubreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ucircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Udieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ugrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Uhungarumlaut" has a legacy accent component  (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Uring" has a legacy accent component  (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Wacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Wcircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Wdieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Wgrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Yacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ycircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ydieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Ygrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Zacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Zcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "Zdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "aacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "abreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "acircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "acutecomb" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "adieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "agrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "aogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "aring" has a legacy accent component  (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "atilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0306" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "cacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni030C" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ccaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ccedilla" has a legacy accent component  (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "cdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0327" has a legacy accent component  (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0302" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0308" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0307" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "eacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ecaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ecircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "edieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "edotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "egrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "gbreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "gdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "gravecomb" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni030B" has a legacy accent component  (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "iacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "icircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "idieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "igrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "iogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "lacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "nacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ncaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ntilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "oacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ocircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "odieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni0328" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ograve" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ohungarumlaut" has a legacy accent component  (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "otilde" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "racute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "rcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uni030A" has a legacy accent component  (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "sacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "scaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "scedilla" has a legacy accent component  (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "tildecomb" has a legacy accent component  (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ubreve" has a legacy accent component  (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ucircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "udieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ugrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uhungarumlaut" has a legacy accent component  (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uogonek" has a legacy accent component  (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "uring" has a legacy accent component  (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "wacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "wcircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "wdieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "wgrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "yacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ycircumflex" has a legacy accent component  (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ydieresis" has a legacy accent component  (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "ygrave" has a legacy accent component  (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "zacute" has a legacy accent component  (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "zcaron" has a legacy accent component  (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
* ⚠ **WARN** Glyph "zdotaccent" has a legacy accent component  (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
</div></details><details><summary>⚠ <b>WARN:</b> Glyph names are all valid? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/valid_glyphnames">com.google.fonts/check/valid_glyphnames</a>)</summary><div>


* ⚠ **WARN** The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit:
twodotshorizontalabove_tahabovear, twodotshorizontalabovear.diagonal, twodotshorizontalbelow_tahabovear and twodotshorizontalcenter_tahabovear [code: legacy-long-names]
</div></details><details><summary>⚠ <b>WARN:</b> Check font contains no unreachable glyphs (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/unreachable_glyphs">com.google.fonts/check/unreachable_glyphs</a>)</summary><div>


* ⚠ **WARN** The following glyphs could not be reached by codepoint or substitution rules:

	- uni06F7.mark
 [code: unreachable-glyphs]
</div></details><details><summary>⚠ <b>WARN:</b> Check math signs have the same width. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/math_signs_width">com.google.fonts/check/math_signs_width</a>)</summary><div>


* ⚠ **WARN** The most common width is 572 among a set of 6 math glyphs.
The following math glyphs have a different width, though:

Width = 322:
minus
 [code: width-outliers]
</div></details><details><summary>⚠ <b>WARN:</b> Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/Shaping Checks.html#com.google.fonts/check/soft_dotted">com.google.fonts/check/soft_dotted</a>)</summary><div>


* ⚠ **WARN** The dot of soft dotted characters used in orthographies _must_ disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌

The dot of soft dotted characters _should_ disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̒ į̦̀ į̦́ į̦̂ į̦̃ į̦̄ į̦̆ į̦̇ į̦̈ į̦̊ į̦̋ į̦̌ į̦̒ į̧̀ į̧́

Your font fully covers the following languages that require the soft-dotted feature: Dutch (Latn, 31,709,104 speakers), Lithuanian (Latn, 2,357,094 speakers). 

Your font does *not* cover the following languages that require the soft-dotted feature: Ukrainian (Cyrl, 29,273,587 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Mango (Latn, 77,000 speakers), Igbo (Latn, 27,823,640 speakers), Bafut (Latn, 158,146 speakers), Zapotec (Latn, 490,000 speakers), Ejagham (Latn, 120,000 speakers), Sar (Latn, 500,000 speakers), Dii (Latn, 71,000 speakers), Basaa (Latn, 332,940 speakers), Koonzime (Latn, 40,000 speakers), Lugbara (Latn, 2,200,000 speakers), Nzakara (Latn, 50,000 speakers), Dan (Latn, 1,099,244 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Ebira (Latn, 2,200,000 speakers), Fur (Latn, 1,230,163 speakers), Kom (Latn, 360,685 speakers), Avokaya (Latn, 100,000 speakers), Gulay (Latn, 250,478 speakers), Nateni (Latn, 100,000 speakers), Ekpeye (Latn, 226,000 speakers), Mfumte (Latn, 79,000 speakers), South Central Banda (Latn, 244,000 speakers), Cicipu (Latn, 44,000 speakers), Ma’di (Latn, 584,000 speakers), Yala (Latn, 200,000 speakers), Navajo (Latn, 166,319 speakers), Aghem (Latn, 38,843 speakers), Southern Kisi (Latn, 360,000 speakers), Makaa (Latn, 221,000 speakers), Bete-Bendi (Latn, 100,000 speakers), Belarusian (Cyrl, 10,064,517 speakers), Mundani (Latn, 34,000 speakers). [code: soft-dotted]
</div></details><details><summary>ℹ <b>INFO:</b> Show hinting filesize impact. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/hinting_impact">com.google.fonts/check/hinting_impact</a>)</summary><div>


* ℹ **INFO** Hinting filesize impact:

 |               | ofl/notokufiarabic/NotoKufiArabic[wght].ttf          |
 |:------------- | ---------------:|
 | Dehinted Size | 424.0kb |
 | Hinted Size   | 424.0kb   |
 | Increase      | 24 bytes      |
 | Change        | 0.0 %  |
 [code: size-impact]
</div></details><details><summary>ℹ <b>INFO:</b> Font has old ttfautohint applied? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/old_ttfautohint">com.google.fonts/check/old_ttfautohint</a>)</summary><div>


* ℹ **INFO** Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 2.109'] [code: version-not-detected]
</div></details><details><summary>ℹ <b>INFO:</b> EPAR table present in font? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/epar">com.google.fonts/check/epar</a>)</summary><div>


* ℹ **INFO** EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818 [code: lacks-EPAR]
</div></details><details><summary>ℹ <b>INFO:</b> Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/gasp">com.google.fonts/check/gasp</a>)</summary><div>


* ℹ **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]
</div></details><details><summary>ℹ <b>INFO:</b> Check for font-v versioning. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/fontv">com.google.fonts/check/fontv</a>)</summary><div>


* ℹ **INFO** Version string is: "Version 2.109"
The version string must ideally include a git commit hash and either a "dev" or a "release" suffix such as in the example below:
"Version 1.3; git-0d08353-release" [code: bad-format]
</div></details><details><summary>ℹ <b>INFO:</b> Font contains all required tables? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/required_tables">com.google.fonts/check/required_tables</a>)</summary><div>


* ℹ **INFO** This font contains the following optional tables:

	- loca

	- prep

	- GPOS

	- GSUB

	- gasp [code: optional-tables]
</div></details><details><summary>ℹ <b>INFO:</b> List all superfamily filepaths (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/superfamily/list">com.google.fonts/check/superfamily/list</a>)</summary><div>


* ℹ **INFO** ofl/notokufiarabic [code: family-path]
</div></details><br></div></details>

### Summary

| 💔 ERROR | ☠ FATAL | 🔥 FAIL | ⚠ WARN | 💤 SKIP | ℹ INFO | 🍞 PASS | 🔎 DEBUG |
|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|
| 2 | 0 | 0 | 10 | 45 | 8 | 195 | 0 |
| 1% | 0% | 0% | 4% | 17% | 3% | 75% | 0% |

**Note:** The following loglevels were omitted in this report:
* **SKIP**
* **PASS**
* **DEBUG**

@simoncozens simoncozens force-pushed the gftools_packager_ofl_notokufiarabic branch from f5ad86a to c93a3b1 Compare February 12, 2024 19:40
Copy link

FontBakery report

fontbakery version: 0.11.1

Check results

[1] Family checks
INFO: Check axis ordering on the STAT table. (com.google.fonts/check/STAT/axis_order)
  • INFO None of the fonts lack a STAT table.

    And these are the most common STAT axis orderings:
    ('wght', 1) [code: summary]


[18] NotoKufiArabic[wght].ttf
WARN: Check for codepoints not covered by METADATA subsets. (com.google.fonts/check/metadata/unreachable_subsetting)
  • WARN The following codepoints supported by the font are not covered by
    any subsets defined in the font's metadata file, and will never
    be served. You can solve this by either manually adding additional
    subset declarations to METADATA.pb, or by editing the glyphset
    definitions.

  • U+0000 : try adding one of: mongolian, osmanya, modi, malayalam, indic-siyaq-numbers, khmer, anatolian-hieroglyphs, elymaic, cypro-minoan, nandinagari, sharada, tifinagh, bhaiksuki, lydian, tamil, shavian, greek, new-tai-lue, tibetan, wancho, cherokee, devanagari, elbasan, phoenician, mende-kikakui, khitan-small-script, syriac, vietnamese, samaritan, soyombo, pau-cin-hau, vai, chinese-simplified, cham, old-north-arabian, saurashtra, manichaean, linear-a, warang-citi, old-uyghur, ahom, kannada, hanifi-rohingya, old-persian, braille, nushu, znamenny, dogra, yezidi, armenian, bassa-vah, buginese, siddham, carian, javanese, old-turkic, tamil-supplement, syloti-nagri, kayah-li, old-hungarian, sogdian, sundanese, meroitic, gunjala-gondi, tagalog, nko, mayan-numerals, nabataean, avestan, myanmar, thai, hatran, hebrew, tirhuta, bengali, gurmukhi, cyrillic, runic, tangut, osage, nag-mundari, mandaic, brahmi, caucasian-albanian, limbu, miao, inscriptional-pahlavi, toto, zanabazar-square, tai-le, grantha, bamum, chakma, old-permic, korean, lisu, lycian, adlam, buhid, dives-akuru, gujarati, medefaidrin, mahajani, egyptian-hieroglyphs, ogham, palmyrene, nyiakeng-puachue-hmong, cypriot, khudawadi, takri, chorasmian, old-italic, oriya, tangsa, khojki, masaram-gondi, chinese-hongkong, rejang, kawi, meroitic-cursive, lepcha, makasar, canadian-aboriginal, ugaritic, gothic, thaana, pahawh-hmong, georgian, phags-pa, ol-chiki, sinhala, inscriptional-parthian, mro, meetei-mayek, music, vithkuqi, imperial-aramaic, balinese, deseret, kharoshthi, glagolitic, sora-sompeng, duployan, batak, tagbanwa, hanunoo, greek-ext, tai-viet, psalter-pahlavi, old-south-arabian, ethiopic, ottoman-siyaq-numbers, telugu, cuneiform, newa, tai-tham, meroitic-hieroglyphs, coptic, cyrillic-ext, chinese-traditional, signwriting, multani, marchen, linear-b, lao, yi, japanese, old-sogdian, kaithi

  • U+000D : try adding one of: mongolian, osmanya, modi, malayalam, indic-siyaq-numbers, khmer, anatolian-hieroglyphs, elymaic, cypro-minoan, nandinagari, sharada, tifinagh, bhaiksuki, lydian, tamil, shavian, greek, new-tai-lue, tibetan, wancho, cherokee, devanagari, elbasan, phoenician, mende-kikakui, khitan-small-script, syriac, vietnamese, samaritan, soyombo, pau-cin-hau, vai, chinese-simplified, cham, old-north-arabian, saurashtra, manichaean, linear-a, warang-citi, old-uyghur, ahom, kannada, hanifi-rohingya, old-persian, braille, nushu, znamenny, dogra, yezidi, armenian, bassa-vah, buginese, siddham, carian, javanese, old-turkic, tamil-supplement, syloti-nagri, kayah-li, old-hungarian, sogdian, sundanese, meroitic, gunjala-gondi, tagalog, nko, mayan-numerals, nabataean, avestan, myanmar, thai, hatran, hebrew, tirhuta, bengali, gurmukhi, cyrillic, runic, tangut, osage, nag-mundari, mandaic, brahmi, caucasian-albanian, limbu, miao, inscriptional-pahlavi, toto, zanabazar-square, tai-le, grantha, bamum, chakma, old-permic, korean, lisu, lycian, adlam, buhid, dives-akuru, gujarati, medefaidrin, mahajani, egyptian-hieroglyphs, ogham, palmyrene, nyiakeng-puachue-hmong, cypriot, khudawadi, takri, chorasmian, old-italic, oriya, tangsa, khojki, masaram-gondi, chinese-hongkong, rejang, kawi, meroitic-cursive, lepcha, makasar, canadian-aboriginal, ugaritic, gothic, thaana, pahawh-hmong, georgian, phags-pa, ol-chiki, sinhala, inscriptional-parthian, mro, meetei-mayek, music, vithkuqi, imperial-aramaic, balinese, deseret, kharoshthi, glagolitic, sora-sompeng, duployan, batak, tagbanwa, hanunoo, greek-ext, tai-viet, psalter-pahlavi, old-south-arabian, ethiopic, ottoman-siyaq-numbers, telugu, cuneiform, newa, tai-tham, meroitic-hieroglyphs, coptic, cyrillic-ext, chinese-traditional, signwriting, multani, marchen, linear-b, lao, yi, japanese, old-sogdian, kaithi

  • U+0020 SPACE: try adding one of: mongolian, osmanya, modi, malayalam, indic-siyaq-numbers, khmer, anatolian-hieroglyphs, elymaic, cypro-minoan, nandinagari, sharada, tifinagh, bhaiksuki, lydian, tamil, shavian, greek, new-tai-lue, tibetan, wancho, cherokee, devanagari, elbasan, phoenician, mende-kikakui, khitan-small-script, syriac, vietnamese, samaritan, soyombo, pau-cin-hau, vai, chinese-simplified, cham, old-north-arabian, saurashtra, manichaean, linear-a, warang-citi, old-uyghur, ahom, kannada, hanifi-rohingya, old-persian, braille, nushu, znamenny, dogra, yezidi, armenian, bassa-vah, buginese, siddham, carian, javanese, old-turkic, tamil-supplement, syloti-nagri, kayah-li, old-hungarian, sogdian, sundanese, meroitic, gunjala-gondi, tagalog, nko, mayan-numerals, nabataean, avestan, myanmar, thai, hatran, hebrew, tirhuta, bengali, gurmukhi, cyrillic, runic, tangut, osage, nag-mundari, mandaic, brahmi, caucasian-albanian, limbu, miao, inscriptional-pahlavi, toto, zanabazar-square, tai-le, grantha, bamum, chakma, old-permic, korean, lisu, lycian, adlam, buhid, dives-akuru, gujarati, medefaidrin, mahajani, egyptian-hieroglyphs, ogham, palmyrene, nyiakeng-puachue-hmong, cypriot, khudawadi, takri, chorasmian, old-italic, oriya, tangsa, khojki, masaram-gondi, chinese-hongkong, rejang, kawi, meroitic-cursive, lepcha, makasar, canadian-aboriginal, ugaritic, gothic, thaana, pahawh-hmong, georgian, phags-pa, ol-chiki, sinhala, inscriptional-parthian, mro, meetei-mayek, music, vithkuqi, imperial-aramaic, balinese, deseret, kharoshthi, glagolitic, sora-sompeng, duployan, batak, tagbanwa, hanunoo, greek-ext, tai-viet, psalter-pahlavi, old-south-arabian, ethiopic, ottoman-siyaq-numbers, telugu, cuneiform, newa, tai-tham, meroitic-hieroglyphs, coptic, cyrillic-ext, chinese-traditional, signwriting, multani, marchen, linear-b, lao, yi, japanese, old-sogdian, kaithi

  • U+00A0 NO-BREAK SPACE: try adding one of: mongolian, osmanya, modi, malayalam, indic-siyaq-numbers, khmer, anatolian-hieroglyphs, elymaic, cypro-minoan, nandinagari, sharada, tifinagh, bhaiksuki, lydian, tamil, shavian, greek, new-tai-lue, tibetan, wancho, cherokee, devanagari, elbasan, phoenician, mende-kikakui, khitan-small-script, syriac, vietnamese, samaritan, soyombo, pau-cin-hau, vai, chinese-simplified, cham, old-north-arabian, saurashtra, manichaean, linear-a, warang-citi, old-uyghur, ahom, kannada, hanifi-rohingya, old-persian, braille, nushu, znamenny, dogra, yezidi, armenian, bassa-vah, buginese, siddham, carian, javanese, old-turkic, tamil-supplement, syloti-nagri, kayah-li, old-hungarian, sogdian, sundanese, meroitic, gunjala-gondi, tagalog, nko, mayan-numerals, nabataean, avestan, myanmar, thai, hatran, hebrew, tirhuta, bengali, gurmukhi, cyrillic, runic, tangut, osage, nag-mundari, mandaic, brahmi, caucasian-albanian, limbu, miao, inscriptional-pahlavi, toto, zanabazar-square, tai-le, grantha, bamum, chakma, old-permic, korean, lisu, lycian, adlam, buhid, dives-akuru, gujarati, medefaidrin, mahajani, egyptian-hieroglyphs, ogham, palmyrene, nyiakeng-puachue-hmong, cypriot, khudawadi, takri, chorasmian, old-italic, oriya, tangsa, khojki, masaram-gondi, chinese-hongkong, rejang, kawi, meroitic-cursive, lepcha, makasar, canadian-aboriginal, ugaritic, gothic, thaana, pahawh-hmong, georgian, phags-pa, ol-chiki, sinhala, inscriptional-parthian, mro, meetei-mayek, music, vithkuqi, imperial-aramaic, balinese, deseret, kharoshthi, glagolitic, sora-sompeng, duployan, batak, tagbanwa, hanunoo, greek-ext, tai-viet, psalter-pahlavi, old-south-arabian, ethiopic, ottoman-siyaq-numbers, telugu, cuneiform, newa, tai-tham, meroitic-hieroglyphs, coptic, cyrillic-ext, chinese-traditional, signwriting, multani, marchen, linear-b, lao, yi, japanese, old-sogdian, kaithi

  • U+02C7 CARON: try adding one of: yi, tifinagh, canadian-aboriginal

  • U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition

  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal

  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal

  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal

  • U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
    11 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, latin-ext, math, menu, symbols [code: unreachable-subsetting]

WARN: Shapes languages in all GF glyphsets. (com.google.fonts/check/glyphsets/shape_languages)
  • WARN GF_Arabic_Plus glyphset:
Language FAIL messages
ms_Arab (Malay (Arabic)) No exemplar glyphs were defined for language Malay (Arabic)

[code: warning-language-shaping]

WARN: Glyphs are similiar to Google Fonts version? (com.google.fonts/check/production_glyphs_similarity)
  • WARN Following glyphs differ greatly from Google Fonts version:
    • uni0600
    • uni0603
    • uni0647
    • uni0657
    • uni0675
    • uni0676
    • uni0677
    • uni0678
    • uni0683
    • uni06AB and 22 more.

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

WARN: Is there kerning info for non-ligated sequences? (com.google.fonts/check/kerning_for_non_ligated_sequences)
  • WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • uni0627 + uni0644.init

    • uni0644.init + uni0644.medi

    • uni0644.medi + uni0651

    • uni0651 + uni0670

    • uni0670 + uni0647.fina

    • uni0647.fina + uni0644.init

    • uni0670 + uni06C1.fina [code: lacks-kern-info]

WARN: Ensure variable fonts include an avar table. (com.google.fonts/check/mandatory_avar_table)
  • WARN This variable font does not have an avar table. [code: missing-avar]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table. (com.google.fonts/check/meta/script_lang_tags)
  • WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Check that legacy accents aren't used in composite glyphs. (com.google.fonts/check/legacy_accents)
  • WARN Glyph "Aacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Abreve" has a legacy accent component (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Acircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Adieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Agrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Aogonek" has a legacy accent component (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Aring" has a legacy accent component (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Atilde" has a legacy accent component (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Cacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ccaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ccedilla" has a legacy accent component (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Cdotaccent" has a legacy accent component (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Dcaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Eacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ecaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ecircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Edieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Edotaccent" has a legacy accent component (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Egrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Eogonek" has a legacy accent component (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Gbreve" has a legacy accent component (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Gdotaccent" has a legacy accent component (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Iacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Icircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Idieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Idotaccent" has a legacy accent component (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Igrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Iogonek" has a legacy accent component (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Lacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Nacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ncaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ntilde" has a legacy accent component (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Oacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ocircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Odieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ograve" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ohungarumlaut" has a legacy accent component (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Otilde" has a legacy accent component (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Racute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Rcaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Sacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Scaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Scedilla" has a legacy accent component (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Tcaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Uacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ubreve" has a legacy accent component (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ucircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Udieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ugrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Uhungarumlaut" has a legacy accent component (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Uring" has a legacy accent component (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Wacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Wcircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Wdieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Wgrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Yacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ycircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ydieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Ygrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Zacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Zcaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "Zdotaccent" has a legacy accent component (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "aacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "abreve" has a legacy accent component (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "acircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "acutecomb" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "adieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "agrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "aogonek" has a legacy accent component (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "aring" has a legacy accent component (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "atilde" has a legacy accent component (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uni0306" has a legacy accent component (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "cacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uni030C" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ccaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ccedilla" has a legacy accent component (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "cdotaccent" has a legacy accent component (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uni0327" has a legacy accent component (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uni0302" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uni0308" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uni0307" has a legacy accent component (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "eacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ecaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ecircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "edieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "edotaccent" has a legacy accent component (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "egrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "gbreve" has a legacy accent component (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "gdotaccent" has a legacy accent component (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "gravecomb" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uni030B" has a legacy accent component (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "iacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "icircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "idieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "igrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "iogonek" has a legacy accent component (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "lacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "nacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ncaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ntilde" has a legacy accent component (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "oacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ocircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "odieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uni0328" has a legacy accent component (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ograve" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ohungarumlaut" has a legacy accent component (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "otilde" has a legacy accent component (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "racute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "rcaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uni030A" has a legacy accent component (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "sacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "scaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "scedilla" has a legacy accent component (cedilla). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "tildecomb" has a legacy accent component (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ubreve" has a legacy accent component (breve). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ucircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "udieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ugrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uhungarumlaut" has a legacy accent component (hungarumlaut). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uogonek" has a legacy accent component (ogonek). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "uring" has a legacy accent component (ring). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "wacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "wcircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "wdieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "wgrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "yacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ycircumflex" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ydieresis" has a legacy accent component (dieresis). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "ygrave" has a legacy accent component (grave). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "zacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "zcaron" has a legacy accent component (caron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
  • WARN Glyph "zdotaccent" has a legacy accent component (dotaccent). It needs to be replaced by a combining mark. [code: legacy-accents-component]
WARN: Glyph names are all valid? (com.google.fonts/check/valid_glyphnames)
  • WARN The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit:
    twodotshorizontalabove_tahabovear, twodotshorizontalabovear.diagonal, twodotshorizontalbelow_tahabovear and twodotshorizontalcenter_tahabovear [code: legacy-long-names]
WARN: Check font contains no unreachable glyphs (com.google.fonts/check/unreachable_glyphs)
  • WARN The following glyphs could not be reached by codepoint or substitution rules:

    • uni06F7.mark
      [code: unreachable-glyphs]
WARN: Check math signs have the same width. (com.google.fonts/check/math_signs_width)
  • WARN The most common width is 572 among a set of 6 math glyphs.
    The following math glyphs have a different width, though:

Width = 322:
minus
[code: width-outliers]

WARN: Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (com.google.fonts/check/soft_dotted)
  • WARN The dot of soft dotted characters used in orthographies must disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌

The dot of soft dotted characters should disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̒ į̦̀ į̦́ į̦̂ į̦̃ į̦̄ į̦̆ į̦̇ į̦̈ į̦̊ į̦̋ į̦̌ į̦̒ į̧̀ į̧́

Your font fully covers the following languages that require the soft-dotted feature: Lithuanian (Latn, 2,357,094 speakers), Dutch (Latn, 31,709,104 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Ejagham (Latn, 120,000 speakers), Southern Kisi (Latn, 360,000 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Navajo (Latn, 166,319 speakers), Cicipu (Latn, 44,000 speakers), Zapotec (Latn, 490,000 speakers), Bete-Bendi (Latn, 100,000 speakers), Koonzime (Latn, 40,000 speakers), Dan (Latn, 1,099,244 speakers), Makaa (Latn, 221,000 speakers), South Central Banda (Latn, 244,000 speakers), Nzakara (Latn, 50,000 speakers), Aghem (Latn, 38,843 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Ma’di (Latn, 584,000 speakers), Bafut (Latn, 158,146 speakers), Ekpeye (Latn, 226,000 speakers), Yala (Latn, 200,000 speakers), Ebira (Latn, 2,200,000 speakers), Mango (Latn, 77,000 speakers), Avokaya (Latn, 100,000 speakers), Nateni (Latn, 100,000 speakers), Fur (Latn, 1,230,163 speakers), Mfumte (Latn, 79,000 speakers), Gulay (Latn, 250,478 speakers), Igbo (Latn, 27,823,640 speakers), Lugbara (Latn, 2,200,000 speakers), Kom (Latn, 360,685 speakers), Sar (Latn, 500,000 speakers), Mundani (Latn, 34,000 speakers), Basaa (Latn, 332,940 speakers), Belarusian (Cyrl, 10,064,517 speakers), Ngbaka (Latn, 1,020,000 speakers), Dii (Latn, 71,000 speakers). [code: soft-dotted]

INFO: Show hinting filesize impact. (com.google.fonts/check/hinting_impact)
  • INFO Hinting filesize impact:
ofl/notokufiarabic/NotoKufiArabic[wght].ttf
Dehinted Size 424.0kb
Hinted Size 424.0kb
Increase 24 bytes
Change 0.0 %
[code: size-impact]
INFO: Font has old ttfautohint applied? (com.google.fonts/check/old_ttfautohint)
  • INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 2.109'] [code: version-not-detected]
INFO: EPAR table present in font? (com.google.fonts/check/epar)
INFO: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (com.google.fonts/check/gasp)
  • 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: Check for font-v versioning. (com.google.fonts/check/fontv)
  • INFO Version string is: "Version 2.109"
    The version string must ideally include a git commit hash and either a "dev" or a "release" suffix such as in the example below:
    "Version 1.3; git-0d08353-release" [code: bad-format]
INFO: Font contains all required tables? (com.google.fonts/check/required_tables)
  • INFO This font contains the following optional tables:

    • loca

    • prep

    • GPOS

    • GSUB

    • gasp [code: optional-tables]

INFO: List all superfamily filepaths (com.google.fonts/check/superfamily/list)
  • INFO ofl/notokufiarabic [code: family-path]

Summary

💔 ERROR ☠ FATAL 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 0 0 11 45 8 196 0
0% 0% 0% 4% 17% 3% 75% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • PASS
  • DEBUG

@emmamarichal emmamarichal merged commit 72988bd into main Feb 14, 2024
8 of 9 checks passed
@emmamarichal emmamarichal deleted the gftools_packager_ofl_notokufiarabic branch February 14, 2024 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Live
Development

Successfully merging this pull request may close these issues.

5 participants