Closed arrowtype closed 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.
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 aWARN
if the table is missing entirely.This could definitely be made more specific, checking for specific cases, such as:
TRK
block in thelocl
feature.CAT
block in thelocl
feature.NLD
block in thelocl
feature.ROM
andMOL
blocks in thelocl
feature. (Though, per the Glyphs tutorial, this is solved in modern texts because there are now distinct Unicodes for comma-accented vs cedilla-accented characters.)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 ameta
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.