fonttools / fontbakery

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

New check: should we warn if fonts have no `locl` table when expected? #4766

Closed arrowtype closed 2 weeks ago

arrowtype commented 2 weeks ago

What needs to be checked?

I am not seeing any checks for the locl table in fonts, when I would expect there to be.

Caveat: this subject is a good deal bigger than my knowledge of it. If anyone with more familiarity of Latin script localization is willing to correct me or add any detail here, I would be very happy for any insights!

Detailed description of the problem

My understanding is that it is often useful to include a locl feature in fonts, at least when they have characters for languages that have slightly special rules, such as Turkish when small caps and ligatures exist, Catalan for L·L, Romanian and Moldovan for comma accented S & T, Dutch for the IJacute, and sometimes Polish for the acute vs kreska.

The exact needs for localization varies from font to font, based on the character set and the design itself. However, my guess is, most Latin script fonts with a character set beyond basic English would usually be better with some localization.

So, my proposal is: should there perhaps be a check that simply checks whether a locl table exists, if a font has a sufficiently large glyph set? It could probably warrant a WARN if the table is missing entirely.

This could definitely be made more specific, checking for specific cases, such as:

Or, does such a check already exist, and I have simply missed it? The closest check I can find is com.google.fonts/check/meta/script_lang_tags, but that only checks for a meta table.

Suggested profile

Universal (broadly accepted best practices on the type design community)

Suggested result

Which log result level should the check have: ⚠️ WARN (A potential issues that may need to be addressed)

Severity assessment

2, though maybe my ranking would be higher if I were writing in another language.

arrowtype commented 2 weeks ago

From a conversation in a side channel, it sounds like check com.google.fonts/check/glyphsets/shape_languages is being made for this, using https://github.com/googlefonts/shaperglot to check shaping in a smarter way than simply checking for a few heuristics in a cmap table or locl feature. I’ll close this issue, then, as it seems there is a better answer.