Improve support for the Brahmi script
* lisp/language/indian.el ("Brahmi"): New language environment. Add composition rules for Brahmi. * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Support Brahmi. (Bug#54914) * etc/NEWS: Announce the new language environment.
This commit is contained in:
parent
de306d3e5d
commit
16ccca6dc3
3 changed files with 40 additions and 0 deletions
4
etc/NEWS
4
etc/NEWS
|
@ -596,6 +596,10 @@ to edit such sequences by allowing point to "enter" the sequence.
|
|||
*** New language environment "Northern Thai".
|
||||
This uses the Tai Tham script, whose support has been enhanced.
|
||||
|
||||
*** New language environment "Brahmi".
|
||||
This language environment supports Brahmi, which is a historical
|
||||
script that was used in ancient South Asia.
|
||||
|
||||
|
||||
* Changes in Specialized Modes and Packages in Emacs 29.1
|
||||
|
||||
|
|
|
@ -231,6 +231,7 @@
|
|||
(chorasmian #x10FB0)
|
||||
(elymaic #x10FE0)
|
||||
(old-uyghur #x10F70)
|
||||
(brahmi #x11013 #x11045 #x11052 #x11065)
|
||||
(mahajani #x11150)
|
||||
(khojki #x11200)
|
||||
(khudawadi #x112B0)
|
||||
|
@ -770,6 +771,7 @@
|
|||
chorasmian
|
||||
elymaic
|
||||
old-uyghur
|
||||
brahmi
|
||||
makasar
|
||||
dives-akuru
|
||||
cuneiform
|
||||
|
|
|
@ -126,6 +126,16 @@ environment."))
|
|||
South Indian language Malayalam is supported in this language environment."))
|
||||
'("Indian"))
|
||||
|
||||
(set-language-info-alist
|
||||
"Brahmi" '((charset unicode)
|
||||
(coding-system utf-8)
|
||||
(coding-priority utf-8)
|
||||
; (input-method . "brahmi") ; FIXME
|
||||
(documentation . "\
|
||||
The ancient Brahmi script is supported in this language environment."))
|
||||
'("Indian")) ; Should we have an "Old" category?
|
||||
|
||||
|
||||
;; Replace mnemonic characters in REGEXP according to TABLE. TABLE is
|
||||
;; an alist of (MNEMONIC-STRING . REPLACEMENT-STRING).
|
||||
|
||||
|
@ -384,6 +394,30 @@ South Indian language Malayalam is supported in this language environment."))
|
|||
(list (vector (cdr slot) 0 #'font-shape-gstring))))))
|
||||
char-script-table))
|
||||
|
||||
;; Brahmi composition rules
|
||||
(let ((consonant "[\U00011013-\U00011034]")
|
||||
(non-consonant "[^\U00011013-\U00011034]")
|
||||
(numeral "[\U00011052-\U00011065]")
|
||||
(multiplier "[\U00011064\U00011065]")
|
||||
(virama "\U00011046")
|
||||
(number-joiner "\U0001107F"))
|
||||
(set-char-table-range composition-function-table
|
||||
'(#x11046 . #x11046)
|
||||
(list (vector
|
||||
;; Consonant conjuncts
|
||||
(concat consonant virama consonant)
|
||||
1 'font-shape-gstring)
|
||||
(vector
|
||||
;; Vowelless consonants
|
||||
(concat consonant virama non-consonant)
|
||||
1 'font-shape-gstring)))
|
||||
(set-char-table-range composition-function-table
|
||||
'(#x1107F . #x1107F)
|
||||
(list (vector
|
||||
;; Additive-multiplicative numerals
|
||||
(concat multiplier number-joiner numeral)
|
||||
1 'font-shape-gstring))))
|
||||
|
||||
(provide 'indian)
|
||||
|
||||
;;; indian.el ends here
|
||||
|
|
Loading…
Add table
Reference in a new issue