3 ms·
Yeah, ligatures are required for many languages. E.g. you list Myanmar, where it's possible to construct something like င်္င္င္င္ငြေေေေေေေောာာာာာာာ, which has
by yorwba 5y ago
Yeah, ligatures are required for many languages.
E.g. you list Myanmar, where it's possible to construct something like င်္င္င္င္ငြေေေေေေေောာာာာာာာ, which has "nga" င, "asat" ်, "virama" ္ combined to put င်္ on the following consonant, which in this case is four "nga" င separated by three "virama" ္ to form a cluster င္င္င္င (Noto Sans Myanmar apparently supports stacking up to height 3, the fourth "nga" င awkwardly overlaps), then there's a "medial ra" ြ which puts a box around the preceding consonant without overlapping, then 8 copies of "e" ေ which should be rendered to the left of the consonant it follows and then 8 copies of "aa" ာ which attach to the right.
You're not going to encounter something crazy like this in the wild (in Burmese, there's at most one of each vowel sign on a consonant, and I don't think stacking four consonants is ever necessary) but it serves as a demonstration of the edge cases that a font needs to handle. The lookup tables end up getting quite large, which I think is one of the reasons Noto isn't usually used as one file with all scripts.
- akkartik 5y agoYes, the vowel diacritics are definitely an issue. I'm familiar with Hindi and Tamil. Hindi's _matras_ are pretty regular, and Unifont is designed so you can just type a single diacritic in the same spot as a consonant and have the thing look right (albeit terrible). Tamil, however, doesn't have this property. Does Myanmar? At the moment a single diacritic is the extent of my ambition.
- yorwba 5y agoThere are vowel signs that attach to the left, right, top, bottom or wrap around the preceding consonant. You could maybe emulate it by manually placing characters into a grid, but that would be very much not Unicode. Anyways, if you could get Tamil to work with a generic approach, I guess most of the edge cases for Myanmar would be covered by that as well. (Edit: seems like Tamil only has at most one diacritic, so it would have to be more general for Myanmar still.)
- akkartik 5y agoYeah, that does sound like Tamil. Ligatures become necessary even for combining just 2 code points.