Yes it was not correct, this seems more appropriate.
;; Syloti Nagri composition rules
(let ((consonant "[\xA807-\xA80A\xA80C-\xA822]")
(independent-vowel "[\xA800\xA801\xA803-\xA805]")
(vowel "[\xA802\xA823-\xA827]")
(nasal "[\xA80B]")
(virama "[\xA806\xA82C]"))
(set-char-table-range composition-function-table
'(#xA802 . #xA82C)
(list (vector
;; Consonant conjunct based syllables
(concat independent-vowel "?" consonant "\\(?:" virama consonant "\\)+"
vowel "?" nasal "?")
1 'font-shape-gstring))))
btw this range does not cause emacs to slow down, right?
also should I send separate patches for the syloti nagri, and the fix for previous scripts, or combine them into one?