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 Nastaliq Urdu: Version 4.000 added #7950

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

simoncozens
Copy link
Collaborator

@simoncozens simoncozens commented Jul 17, 2024

Taken from the upstream repo https://github.com/notofonts/nastaliq at commit notofonts/nastaliq@9887ddf.

PR Checklist:

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

@simoncozens
Copy link
Collaborator Author

This is a new major release; when looking at the diffenator report, expect substantial change!

Noto Nastaliq Urdu v4.000

This is a major re-engineering of the font, which fixes most open issues. Dot positioning and bari ye handling has been extensively revised. Some connections have been simplified, reducing the glyphset dramatically.

Copy link

FontBakery report

fontbakery version: 0.12.8

Experimental checks

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

[2] NotoNastaliqUrdu[wght].ttf
🔥 FAIL Ensure 'smcp' (small caps) lookups are defined before ligature lookups in the 'GSUB' table.
  • 🔥 FAIL

    'smcp' or 'liga' lookups not found in GSUB table.


    [code: missing-lookups]
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Article page lacks visual assets.


    [code: missing-visual-asset]

All other checks

[17] NotoNastaliqUrdu[wght].ttf
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Arabic_Core glyphset:

Language FAIL messages
ar_Arab (Arabic) Shaper didn't attach uni0670 to TatweelNS
^ Shaper didn't attach uni0653 to TatweelNS
^ Shaper didn't attach uni0654 to TatweelNS
^ Shaper didn't attach uni0655 to TatweelNS
^ Shaper didn't attach uni064B to TatweelNS
^ Shaper didn't attach uni064C to TatweelNS
^ Shaper didn't attach uni064D to TatweelNS
^ Shaper didn't attach uni064E to TatweelNS
^ Shaper didn't attach uni064F to TatweelNS
^ Shaper didn't attach uni0650 to TatweelNS
^ Shaper didn't attach uni0651 to TatweelNS
^ Shaper didn't attach uni06540652 to TatweelNS
^ Shaper didn't attach uni0650 to uni0651
^ Shaper didn't attach uni064D to uni0651
[code: failed-language-shaping]
  • 🔥 FAIL

    GF_Arabic_Plus glyphset:

Language FAIL messages
sd_Arab (Sindhi) Some base glyphs were missing: ڪ
^ Shaper produced a .notdef
^ .fina version of ARABIC LETTER SWASH KAF; both buffers returned .notdef=1+900
^ .medi version of ARABIC LETTER SWASH KAF; both buffers returned space=1+0
^ .init version of ARABIC LETTER SWASH KAF; both buffers returned space=0+0
^ .fina version of ARABIC LETTER NGOEH; both buffers returned twodotshorizontalabovear.kaf=1+0
^ .medi version of ARABIC LETTER NGOEH; both buffers returned space=1+0
^ .init version of ARABIC LETTER NGOEH; both buffers returned space=0+0
^ .fina version of ARABIC LETTER GUEH; both buffers returned twodotsverticalbelowar=1+0
^ .medi version of ARABIC LETTER GUEH; both buffers returned space=1+0
^ .init version of ARABIC LETTER GUEH; both buffers returned space=0+0
[code: failed-language-shaping]
  • ⚠️ WARN

    GF_Arabic_Plus glyphset:

Language WARN messages
ms_Arab (Malay (Arabic)) No exemplar glyphs were defined for language Malay (Arabic)
[code: warning-language-shaping]
  • ⚠️ WARN

    GF_Arabic_Plus glyphset:

Language WARN messages
sd_Arab (Sindhi) Some auxiliary glyphs were missing: ڪ
[code: warning-language-shaping]
🔥 FAIL Does DESCRIPTION file contain broken links?
⚠️ WARN Detect any interpolation issues in the font.
  • ⚠️ WARN

    Interpolation issues were found in the font:

- Contour 1 point 8 in glyph 'uni0635.isol' has a kink between location wght=400 and location wght=700

- Contour 0 point 29 in glyph 'uni0647.medi.jeem' has a kink between location wght=400 and location wght=700

- Contour 0 in glyph 'nine': becomes underweight between wght=400 and wght=700.

- Contour 0 point 31 in glyph 'nine' has a kink between location wght=400 and location wght=700

- Contour 0 point 40 in glyph 'uniFDFD' has a kink between location wght=400 and location wght=700

- Contour 0 point 46 in glyph 'uni06D2.fina' has a kink between location wght=400 and location wght=700

- Contour 0 point 31 in glyph 'uni0633.medi.seen' has a kink between location wght=400 and location wght=700

- Contour 0 in glyph 'uni0603': becomes underweight between wght=400 and wght=700.

- Contour 0 in glyph 'uni0635.medi.sad': becomes underweight between wght=400 and wght=700.

- Contour 0 point 36 in glyph 'uni0635.medi.sad' has a kink between location wght=400 and location wght=700

- Contour 0 point 42 in glyph 'uni0635.medi.sad' has a kink between location wght=400 and location wght=700

- Contour 0 point 10 in glyph 'seven.encl' has a kink between location wght=400 and location wght=700

[code: interpolation-issues]

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

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

Width = 559: less, greater

[code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs
  • ⚠️ WARN

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

- NullMk

- _gaf.sarkash.inv2

- _gaf.sarkash.invshort2

- _gaf.sarkash.invshorter

[code: unreachable-glyphs]

⚠️ WARN Glyph names are all valid?
  • ⚠️ WARN

    The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit:
    twodotshorizontalabove_tahabovear, twodotshorizontalbelow_tahabovear and twodotshorizontalcenter_tahabovear


    [code: legacy-long-names]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
  • ⚠️ 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: Mfumte (Latn, 79,000 speakers), Nzakara (Latn, 50,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Southern Kisi (Latn, 360,000 speakers), Avokaya (Latn, 100,000 speakers), Bafut (Latn, 158,146 speakers), Gulay (Latn, 250,478 speakers), Dii (Latn, 71,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Kom (Latn, 360,685 speakers), Mundani (Latn, 34,000 speakers), Ma’di (Latn, 584,000 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Bete-Bendi (Latn, 100,000 speakers), Sar (Latn, 500,000 speakers), Ebira (Latn, 2,200,000 speakers), Ekpeye (Latn, 226,000 speakers), Nateni (Latn, 100,000 speakers), Makaa (Latn, 221,000 speakers), Yala (Latn, 200,000 speakers), Koonzime (Latn, 40,000 speakers), Vute (Latn, 21,000 speakers), Cicipu (Latn, 44,000 speakers), Mango (Latn, 77,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Dan (Latn, 1,099,244 speakers), Igbo (Latn, 27,823,640 speakers), South Central Banda (Latn, 244,000 speakers), Navajo (Latn, 166,319 speakers), Belarusian (Cyrl, 10,064,517 speakers), Aghem (Latn, 38,843 speakers), Basaa (Latn, 332,940 speakers), Lugbara (Latn, 2,200,000 speakers), Fur (Latn, 1,230,163 speakers), Zapotec (Latn, 490,000 speakers), Ejagham (Latn, 120,000 speakers).

[code: soft-dotted]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ WARN

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

  • U+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+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, math, coptic, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: old-permic, tifinagh, malayalam, syriac, canadian-aboriginal, tai-le, math, coptic
  • U+030A COMBINING RING ABOVE: try adding syriac 8 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, menu

[code: unreachable-subsetting]
⚠️ WARN Ensure variable fonts include an avar table.
  • ⚠️ WARN

    This variable font does not have an avar table.


    [code: missing-avar]
ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/notonastaliqurdu


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

    This font contains the following optional tables:

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
  • ℹ️ INFO

    Please consider adding a family.minisite_url entry.


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

    These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/notonastaliqurdu/NotoNastaliqUrdu[wght].ttf
Dehinted Size 317.4kb
Hinted Size 317.5kb
Increase 24 bytes
Change 0.0 %
[code: size-impact]
ℹ️ INFO Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ℹ️ INFO

    ur-Arab, ks-Arab, ky-Arab, ug-Arab, bcc-Arab, bgn-Arab, bgp-Arab, crh-Arab


    [code: dlng-tag]

  • ℹ️ INFO

    ar-Arab, fa-Arab, sd-Arab


    [code: slng-tag]

ℹ️ INFO Font has old ttfautohint applied?
  • ℹ️ INFO

    Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 4.000']


    [code: version-not-detected]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
  • ℹ️ INFO

    None of the fonts lack a STAT table.

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

[code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 3 8 45 9 186 0
0% 0% 1% 3% 18% 4% 74% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • PASS
  • DEBUG

@m4rc1e
Copy link
Collaborator

m4rc1e commented Jul 18, 2024

@simoncozens Qq, I'm guessing there are empty glyphs since the shaping engine eventually picks an isol, init, medi or fina form so they're kinda redundant?

Screenshot 2024-07-18 at 14 36 45

@simoncozens
Copy link
Collaborator Author

No isol feature, but those particular glyphs are empty because they're immediately decomposed into base glyph + dot glyph in ccmp.

@emmamarichal
Copy link
Collaborator

I see some interpolations issues left: ⚠️ WARN Detect any interpolation issues in the font.
NotoNastaliqUrdu[wght].pdf

The '9' looks more problematic:

Screen.Recording.2024-07-31.at.15.36.00.mov

@emmamarichal
Copy link
Collaborator

Screen.Recording.2024-07-31.at.15.44.34.mov
Screen.Recording.2024-07-31.at.15.45.05.mov
Screen.Recording.2024-07-31.at.15.46.31.mov

@emmamarichal emmamarichal added the -- Needs Upstream Resolution Upstream fix required before moving forward label Jul 31, 2024
@emmamarichal emmamarichal self-requested a review July 31, 2024 13:54
@emmamarichal
Copy link
Collaborator

@simoncozens I'm checking the opened PRs, have you seen this?

@simoncozens
Copy link
Collaborator Author

I'm working on these plus a few shaping issues reported by the community.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-- Needs Upstream Resolution Upstream fix required before moving forward I Font Upgrade
Projects
Status: PR GF
Development

Successfully merging this pull request may close these issues.

4 participants