I’m having a serious issue with getting the ba_aa-khmer ligature to correctly render with a coeng consonant. In logical order
ba-khmer + coeng-khmer + ka-khmer + aasign-khmer, should render correctly to look like ប្កា= ប ្ ក ា
in order to avoid the graphical representation of ba-khmer + aasign-khmer ប ា (which would give you the consonant ha-khmer ហ).
I need only the ba-khmer to be substitued out for its ba_aa ligature បា - everything else including the coeng subscript and aasign vowel should be displayed, but you cannot have this type of rule in the features:
sub ba-khmer coeng_ka.liga’ aasign-khmer by baaa.liga;
I know my code is cumbersome, but I opted for just replacing the entire cluster of characters into one glyph called bkaaa.liga (ba-coengka-aasign) by the feature
sub ba-khmer’ coengka.liga’ aasign-khmer’ by bkaaa.liga;
No problem getting the bkaaa.liga glyph to render properly when typed into the correct order, however, after typing the necessary letters to produce this glyph, all letters after are placed immediately to the left of the glyph instead of continuing onto the right side.
My question is, is Glyhph app smart enough to know how vowel marks positional placement in Khmer (and nearly all indic scripts) can be either before, after, above and below each consonant? And are those rules built into each vowel automatically or must I manually produce each imaginable cluster and possible pairings for each consonant + subscript (coeng)?
Also, is there a more efficient feature code to dealing with ba_aa-khmer with the coeng cluster? If so, please help me build up a better code to substitute ba-khmer for its ligature when dealing with a coeng as part of its cluster.
sub coeng-khmer ka-khmer by coengka.blwf;
sub ba-khmer aasign-khmer by baaa.liga;
ideally I would like to produce ប្កា with the following code
sub ba-khmer coengka.blwf’ aasign-khmer by baaa_aa.liga;
I haven’t explored mark filtering, but these feature codes are getting more complicated the larger the consonant-subscript-vowel clusters get.