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

@ -75,6 +75,7 @@ Norwegian (norsk) Hei / God dag
Oriya (ଓଡ଼ିଆ) ଶୁଣିବେ
Polish (język polski) Dzień dobry! / Cześć!
Russian (русский) Здра́вствуйте!
Sharada (𑆯𑆳𑆫𑆢𑆳) 𑆤𑆩𑆱𑇀𑆑𑆳𑆫
Sinhala (සිංහල) ආයුබෝවන්
Slovak (slovenčina) Dobrý deň
Slovenian (slovenščina) Pozdravljeni!

View file

@ -749,6 +749,11 @@ This language environment supports Tirhuta or Mithilaakshar, which is
used to write the Maithili language. A new input method, 'tirhuta',
is provided to type text in this script.
*** New language environment "Sharada".
This language environment supports the Sharada script. Named after the
goddess of learning, this script is used to write the Kashmiri language.
A new input method, 'sharada', is provided to type text in this script.
---
*** New Greek translation of the Emacs tutorial.
Type 'C-u C-h t' to select it in case your language setup does not do

View file

@ -234,6 +234,7 @@
(brahmi #x11013 #x11045 #x11052 #x11065)
(kaithi #x1108D #x110B0 #x110BD)
(mahajani #x11150)
(sharada #x11191 #x111B3 #x111CD)
(khojki #x11200)
(khudawadi #x112B0)
(grantha #x11305)
@ -774,6 +775,7 @@
old-uyghur
brahmi
kaithi
sharada
tirhuta
makasar
dives-akuru

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

View file

@ -1043,5 +1043,124 @@ Full key sequences are listed below:")
("`m" ?𑒿)
)
(quail-define-package
"sharada" "Sharada" "𑆯𑆳" t "Sharada phonetic input method.
`\\=`' is used to switch levels instead of Alt-Gr.
" nil t t t t nil nil nil nil nil t)
(quail-define-rules
("``" ?₹)
("1" ?𑇑)
("`1" ?1)
("2" ?𑇒)
("`2" ?2)
("3" ?𑇓)
("`3" ?3)
("4" ?𑇔)
("`4" ?4)
("5" ?𑇕)
("`5" ?5)
("6" ?𑇖)
("`6" ?6)
("7" ?𑇗)
("`7" ?7)
("8" ?𑇘)
("`8" ?8)
("9" ?𑇙)
("`9" ?9)
("0" ?𑇐)
("`0" ?0)
("`\)" ?𑇇)
("`\\" ?𑇅)
("`|" ?𑇆)
("`" ?𑆛)
("q" ?𑆛)
("Q" ?𑆜)
("`q" ?𑇈)
("`Q" ?𑇉)
("w" ?𑆝)
("W" ?𑆞)
("`w" ?𑇋)
("`W" ?𑇍)
("e" ?𑆼)
("E" ?𑆽)
("`e" ?𑆍)
("`E" ?𑆎)
("r" ?𑆫)
("R" ?𑆸)
("`r" ?𑆉)
("`R" ?𑇎)
("t" ?𑆠)
("T" ?𑆡)
("y" ?𑆪)
("u" ?𑆶)
("U" ?𑆷)
("`u" ?𑆇)
("`U" ?𑆈)
("i" ?𑆴)
("I" ?𑆵)
("`i" ?𑆅)
("`I" ?𑆆)
("o" ?𑆾)
("O" ?𑆿)
("`o" ?𑆏)
("`O" ?𑆐)
("p" ?𑆥)
("P" ?𑆦)
("`p" ?𑇃)
("a" ?𑆳)
("A" ?𑆄)
("`a" ?𑆃)
("s" ?𑆱)
("S" ?𑆯)
("d" ?𑆢)
("D" ?𑆣)
("`d" ?𑇚)
("`D" ?𑇛)
("f" ?𑇀)
("F" ?𑆹)
("`f" ?𑆊)
("`F" ?𑇌)
("g" ?𑆓)
("G" ?𑆔)
("`g" ?𑇜)
("`G" ?𑇝)
("h" ?𑆲)
("H" ?𑆂)
("`h" ?𑇞)
("`H" ?𑇟)
("j" ?𑆘)
("J" ?𑆙)
("`j" ?᳘)
("`J" ?᳕)
("k" ?𑆑)
("K" ?𑆒)
("`k" ?𑇂)
("l" ?𑆬)
("L" ?𑆭)
("`l" ?𑆺)
("`L" ?𑆋)
("z" ?𑆚)
("Z" ?𑆕)
("`z" ?𑆻)
("`Z" ?𑆌)
("x" ?𑆰)
("X" ?𑇊)
("c" ?𑆖)
("C" ?𑆗)
("`c" #x200C) ; ZWNJ
("v" ?𑆮)
("b" ?𑆧)
("B" ?𑆨)
("n" ?𑆤)
("N" ?𑆟)
("`n" ?𑇄)
("`N" ?𑇁)
("m" ?𑆩)
("M" ?𑆁)
("`m" ?𑆀)
("`M" ?𑇏)
)
;;; indian.el ends here