fonttools / fontbakery

🧁 A font quality assurance tool for everyone
https://fontbakery.readthedocs.io
Apache License 2.0
548 stars 99 forks source link

[com.google.fonts/check/glyphsets/shape_languages] output contains unnecessary messages triggered by already-reported problems #4654

Closed bobh0303 closed 5 months ago

bobh0303 commented 5 months ago

Once "Missing glyph" [technically this is a missing "character" as it was missing from the cmap] errors are reported, there is no need to report other errors related to the same character, such as missing contextual forms or attachments not working.

Observed behaviour

           fa_Arab (Persian)   Some base glyphs were missing: چ
           ^                   Shaper produced a .notdef
           ^                   .fina version of ARABIC LETTER TCHEH; both buffers returned .notdef=1+1033
           ^                   Shaper didn't attach uni064B to None
           ^                   Shaper didn't attach uni064D to None
           ^                   Shaper didn't attach uni064C to None
           ^                   Shaper didn't attach uni0651 to None
           ^                   Shaper didn't attach uni0654 to None
           ^                   .medi version of ARABIC LETTER TCHEH; both buffers returned space=1+0
           ^                   Shaper didn't attach uni064B to space
           ^                   Shaper didn't attach uni064D to space
           ^                   Shaper didn't attach uni064C to space
           ^                   Shaper didn't attach uni0651 to space
           ^                   Shaper didn't attach uni0654 to space
           ^                   .init version of ARABIC LETTER TCHEH; both buffers returned space=0+0

Expected behaviour

All of the above messages are a result of the font not encoding U+0686 ARABIC LETTER TCHEH so the first message is all that is needed:

           fa_Arab (Persian)   Some base glyphs were missing: چ

Resources and steps needed to reproduce

font: Alkalami v3.000, downloadable from https://software.sil.org/alkalami/download/

fontbakery check-googlefonts -c com.google.fonts/check/glyphsets/shape_languages Alkalami-Regular.ttf | more

fontbakery from source at tag v0.12.2 python 3.10.12 ubuntu 22.04

bobh0303 commented 5 months ago

(I realize this one might be harder to clean up than #4646)

felipesanches commented 5 months ago

"Shaper didn't attach uni064B to None" sounds non-sensical. Perhaps we should address that first.

bobh0303 commented 5 months ago

"Shaper didn't attach uni064B to None" sounds non-sensical. Perhaps we should address that first.

I assume that was because the test attempted to attach the mark to the missing/unencoded base char [that was previously reported] and got glyph #0 / .notdef which some part of the rendering stack or reporting logic mapped to "None".

simoncozens commented 5 months ago

This is probably an issue that belongs in the shaperglot repository.