Nukta (nukt
) is one of the very first tables called by the shaping engine. In most fonts, the nukta forms are created here. Glyphs however, breaks the glyphs with nuktas (like qa-deva
to ka-deva
nukta-deva
) and lets GPOS position the nuktas later. So, when akhn
and cjct
tables are called, the bases are still separated from their nuktas. A sequence like क ् ष ़ (u0915 u094d u0937 093C) ends up as ka_ssa-deva
nukta-deva
, which, I understand, is incorrect. The correct sequence should be k-deva
ssa-deva
nukta-deva
(since ssa with a nukta is not a ssa). Likewise for all other conjuncts.
This could have been prevented if a nukta-ed ssa-deva
(ssa.nukta-deva
) was formed in the nukt
table or the akhn
and cjct
tables are made aware of the presence of a nukta.
Makes sense?
2 Likes
While I believe it’s arguable whether <क KA, ् VIRAMA, ष SSA, ़ NUKTA>
should be formed as <क्ष kssa ़ nukta>
or <क्ष halfka ssa ़ nukta>
, I can see this behavior is largely unintentional and thus an oversight (or, better put, a marginal case that is out of scope of the intended usage and does not get a designed fallback) of shaping logics that rely on GPOS for nukta shaping.
Yes, the nukt
feature is there to allow a font to simplify subsequent shaping rules as in this way all nukta-ed letters can be treated as atomic letters. When early ligations for nukta don’t happen, and nukta-ed letters are expected to behave differently from nukta-less letters, all subsequent contextual rules must be written in a way that they are actively aware (not just benefited from the nukta character’s ability of automatically disturbs some contexts) of a potential nukta following pretty much any character (because at least there are minor orthographies that use nukta on vowel signs).
But I also find it’s probably not very practical to recommend that fonts should treat all nukta-ed characters differently. Because that would mean, any nukta-ed character that is actually expected to behave in the same way of the nukta-less counterpart needs to be recognized on an opt-in basis. Mmm … or, that is exactly what we should promote?
1 Like
The follow up question to this will be: which letters behave differently when nukta-ed and in which languages? If all letters are given a nukta-ed form as well as a nukta-ed half-form we’ve pretty much covered half-form based conjuncts (or linear conjuncts in Glyphs terminology?). What is left will then be the ‘non-linear’ conjuncts like kssa and jnya.