summaryrefslogtreecommitdiff
path: root/lisp/language/indian.el
diff options
context:
space:
mode:
authorसमीर सिंह Sameer Singh <lumarzeli30@gmail.com>2022-11-02 08:05:44 +0530
committerEli Zaretskii <eliz@gnu.org>2022-12-11 12:35:49 +0200
commit9f7e5584a4ff3c61a90301f70366a829c2c0ac04 (patch)
treeb8ca39a297a516fc58ed2636e01c04cbdd82492c /lisp/language/indian.el
parent78ad33bb05f63460ca6ceda26e851b119ac0eb7d (diff)
downloademacs-9f7e5584a4ff3c61a90301f70366a829c2c0ac04.tar.gz
emacs-9f7e5584a4ff3c61a90301f70366a829c2c0ac04.tar.bz2
emacs-9f7e5584a4ff3c61a90301f70366a829c2c0ac04.zip
* lisp/language/indian.el: Improve Brahmi composition rules. (bug#58957)
Diffstat (limited to 'lisp/language/indian.el')
-rw-r--r--lisp/language/indian.el42
1 files changed, 29 insertions, 13 deletions
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index 4994cfdc7ac..f70f7fcce17 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -552,25 +552,41 @@ 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
;; Additive-multiplicative numerals