1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-22 07:09:54 +00:00

* lisp/language/indian.el: Improve Brahmi composition rules. (bug#58957)

This commit is contained in:
समीर सिंह Sameer Singh 2022-11-02 08:05:44 +05:30 committed by Eli Zaretskii
parent 78ad33bb05
commit 9f7e5584a4

View File

@ -552,24 +552,40 @@ environment."))
char-script-table))
;; Brahmi composition rules
(let ((consonant "[\U00011013-\U00011034]")
(non-consonant "[^\U00011013-\U00011034\U00011046\U0001107F]")
(vowel "[\U00011038-\U00011045]")
(numeral "[\U00011052-\U00011065]")
(multiplier "[\U00011064\U00011065]")
(virama "\U00011046")
(number-joiner "\U0001107F"))
(let ((consonant "[\x11013-\x11037\x11075]")
(independent-vowel "[\x11005-\x11012\x11071\x11072]")
(vowel "[\x11038-\x11045\x11073\x11074]")
(nasal "[\x11000\x11001]")
(virama "\x11046")
(jivhamuliya "\x11003")
(upadhmaniya "\x11004")
(ka-kha "[\x11013\x11014]")
(pa-pha "[\x11027\x11028]")
(number-joiner "\x1107F")
(numeral "[\x11052-\x11065]")
(multiplier "[\x11064\x11065]"))
(set-char-table-range composition-function-table
'(#x11046 . #x11046)
'(#x11046 . #x11046)
(list (vector
;; Consonant conjuncts
(concat consonant "\\(?:" virama consonant "\\)+"
vowel "?")
;; Consonant based syllables
(concat consonant "\\(?:" virama consonant
"\\)*\\(?:" virama "\\|" vowel "*"
nasal "?\\)")
1 'font-shape-gstring)
(vector
;; Vowelless consonants
(concat consonant virama non-consonant)
;; Vowel based syllables
(concat independent-vowel virama "?" vowel "?" nasal "?")
1 'font-shape-gstring)))
(set-char-table-range composition-function-table
'(#x11003 . #x11004)
(list (vector
;; Velar fricative
(concat jivhamuliya ka-kha "?")
0 'font-shape-gstring)
(vector
;; Bilabial fricative
(concat upadhmaniya pa-pha "?")
0 'font-shape-gstring)))
(set-char-table-range composition-function-table
'(#x1107F . #x1107F)
(list (vector