Add support for the Sharada script

* lisp/language/indian.el ("Sharada"): New language environment.
Add composition rules for Sharada.  Add sample text and input
method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Sharada.
* lisp/leim/quail/indian.el ("sharada"): New input method.

* etc/HELLO: Add a Sharada greeting.
* etc/NEWS: Announce the new language environment and its
input method.  (Bug#55328)
This commit is contained in:
समीर सिंह Sameer Singh 2022-05-09 04:22:57 +05:30 committed by Eli Zaretskii
parent 558286315c
commit 57b69ff39c
5 changed files with 170 additions and 0 deletions

View file

@ -158,6 +158,17 @@ Maithili language and its script Tirhuta is supported in this
language environment."))
'("Indian"))
(set-language-info-alist
"Sharada" '((charset unicode)
(coding-system utf-8)
(coding-priority utf-8)
(input-method . "sharada")
(sample-text . "Sharada (𑆯𑆳𑆫𑆢𑆳) 𑆤𑆩𑆱𑇀𑆑𑆳𑆫")
(documentation . "\
Kashmiri language and its script Sharada is supported in this
language environment."))
'("Indian"))
;; Replace mnemonic characters in REGEXP according to TABLE. TABLE is
;; an alist of (MNEMONIC-STRING . REPLACEMENT-STRING).
@ -461,17 +472,20 @@ language environment."))
(set-char-table-range composition-function-table
'(#x110B0 . #x110BA)
(list (vector
;; Consonant based syllables
(concat consonant nukta "?\\(?:" virama zwj "?" consonant nukta "?\\)*\\(?:"
virama zwj "?\\|" vowel "*" nukta "?" anusvara-candrabindu "?\\)")
1 'font-shape-gstring)))
(set-char-table-range composition-function-table
'(#x110BD . #x110BD)
(list (vector
;; Number sign
(concat number-sign numerals)
0 'font-shape-gstring)))
(set-char-table-range composition-function-table
'(#x110CD . #x110CD)
(list (vector
;; Number sign above
(concat number-sign-above numerals)
0 'font-shape-gstring))))
@ -486,8 +500,37 @@ language environment."))
(set-char-table-range composition-function-table
'(#x114B0 . #x114C3)
(list (vector
;; Consonant based syllables
(concat consonant nukta "?\\(?:" virama consonant nukta "?\\)*\\(?:"
virama "\\|" vowel "*" nukta "?" anusvara-candrabindu "?\\)")
1 'font-shape-gstring))))
;; Sharada composition rules
(let ((consonant "[\x11191-\x111B2]")
(nukta "\x111CA")
(vowel "[\x111B3-\x111BF\x111CE]")
(vowel-modifier "\x111CB")
(extra-short-vowel-mark "\x111CC")
(anusvara-candrabindu "[\x11181\x11180\x111CF]")
(virama "\x111C0")
(fricatives "[\x111C2\x111C3]")
(sandhi-mark "\x111C9")
(misc "[^\x11180-\x111C0\x111C2\x111C3\x111C9-\x111CC\x111CE-\x111CF]"))
(set-char-table-range composition-function-table
'(#x111B3 . #x111CF)
(list (vector
;; Consonant based syllables
(concat consonant nukta "?" vowel-modifier "?\\(?:" virama
consonant nukta "?" vowel-modifier "?\\)*\\(?:" virama
"\\|" vowel "*" nukta "?" anusvara-candrabindu "?"
extra-short-vowel-mark "?" vowel-modifier "?" sandhi-mark
"?+" misc "?\\)")
1 'font-shape-gstring)))
(set-char-table-range composition-function-table
'(#x111C2 . #x111C3)
(list (vector
;; Fricatives with Consonants
(concat fricatives "?" consonant vowel "?")
0 'font-shape-gstring))))
;;; indian.el ends here