notofonts / lao

Noto Lao
SIL Open Font License 1.1
2 stars 1 forks source link

Normalisation with yamakkan 0ECE #14

Closed ohbendy closed 1 year ago

ohbendy commented 1 year ago

The addition of yamakkan in Unicode 14 presents some new requirements for Lao shaping. This might not be the best place to note these, but the issues should be noted here for future reference.

If I understand correctly, yamakkan marks a base letter as a 'two-way consonant'. When it appears above a consonant, it marks that consonant as a devowelised final consonant of the first syllable and simultaneously indicates the same consonant acts as the intial of the second syllable. Because that consonant is part of two syllables, we have some new/unusual possibilities to cater for:

Even without yamakkan, we should note that a below vowel mark followed by phinthu/virama (0E81 0EB9 0EBA ກ຺ູ) does get normalised to phinthu then vowel (0E81 0EBA 0EB9 ກ຺ູ), but the same does not happen for above vowels (0E81 0EB5 0EBA ກີ຺ does not get adjusted to 0E81 0EBA 0EB5 ກ຺ີ). So the two distinct sequences with the above vowel result in the same visual appearance.

So it seems some normalisation might be required?

* Chrome Version 109.0.5414.87 seems not to have integrated Unicode 14 yet: yamakkan 0ECE doesn't get anchored to base consonants.

simoncozens commented 1 year ago

Is there anything left to do on this from your perspective? Do we need to raise reordering possibilities on the shaper side?

ohbendy commented 1 year ago

On reflection, I think it's very unlikely that yamakkan would appear with a vowel, but we have catered for that anyway. I'm not quite certain enough about normalisation to know whether anything else needs to be adjusted for Lao, so maybe let's leave this for the time being. If anyone else initiates discussion I'll be interested to know the outcome, and we can make further updates if needed.