Thank you for reviewing the patch.
I have noticed that when there is no nasal sign in the range of the set-char-table-range function, it is rendered correctly when alone with a consonant or an independent vowel.
But when it is added to the range, it is not displayed correctly, until and unless a composition rule is added for it.
Sometimes for scripts like Syloti Nagri, Sharada and Kaithi these signs are not in a contiguous range with virama and vowel signs (they are far away)
So when I add them to the range, Emacs starts to hang. (Maybe because the range is too big, or there are unnecessary symbols like consonants there)
This is why I had decided to not include them, because they were still rendering fine.
So should I leave them as it is, or make another set-char-table-range that includes only them?
Similarly here: this rule will never match if 'vowel' isn't present,
because the second character of the matching sequence _must_ be a
vowel, since that is what triggers the composition rule in the first
place. Am I missing something?
Here too since consonant vowel nasal was not rendering I added the rule, maybe I should remove the "?" after vowel.
(consonant nasal was rendering fine)