Add support for the Siddham script

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

* etc/HELLO: Add a Siddham greeting.
* etc/NEWS: Announce the new language environment and its
input method.  (Bug#55350)
This commit is contained in:
समीर सिंह Sameer Singh 2022-05-10 03:54:14 +05:30 committed by Eli Zaretskii
parent a175c9f3f0
commit b186d5063d
5 changed files with 143 additions and 1 deletions

View file

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

View file

@ -772,6 +772,12 @@ 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 language environment "Siddham".
This language environment supports the Siddham script for the Sanskrit
language. Nowadays it is mostly used by the Buddhist monks in Japan for
religious writings. A new input method, 'siddham', 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

@ -240,7 +240,7 @@
(grantha #x11305)
(newa #x11400)
(tirhuta #x11481 #x1148F #x114D0)
(siddham #x11580)
(siddham #x1158E #x115AF #x115D4)
(modi #x11600)
(takri #x11680)
(dogra #x11800)
@ -777,6 +777,7 @@
kaithi
sharada
tirhuta
siddham
makasar
dives-akuru
cuneiform

View file

@ -169,6 +169,17 @@ Kashmiri language and its script Sharada is supported in this
language environment."))
'("Indian"))
(set-language-info-alist
"Siddham" '((charset unicode)
(coding-system utf-8)
(coding-priority utf-8)
(input-method . "siddham")
(sample-text . "Siddham (𑖭𑖰𑖟𑖿𑖠𑖽) 𑖡𑖦𑖭𑖿𑖝𑖸")
(documentation . "\
Sanskrit language and one of its script Siddham is supported
in this language environment."))
'("Indian"))
;; Replace mnemonic characters in REGEXP according to TABLE. TABLE is
;; an alist of (MNEMONIC-STRING . REPLACEMENT-STRING).
@ -543,5 +554,24 @@ language environment."))
(concat fricatives "?" consonant vowel "?")
0 'font-shape-gstring))))
;; Siddham composition rules
(let ((consonant "[\x1158E-\x115AE]")
(nukta "\x115C0")
(independent-vowel "[\x11580-\x1158D\x115D8-\x115DB]")
(vowel "[\x115AF-\x115BB\x115DC\x115DD]")
(nasal "[\x115BC\x115BD]")
(virama "\x115BF"))
(set-char-table-range composition-function-table
'(#x115AF . #x115C0)
(list (vector
;; Consonant based syllables
(concat consonant nukta "?\\(?:" virama consonant nukta "?\\)*\\(?:"
virama "\\|" vowel "*" nukta "?" nasal "?\\)")
1 'font-shape-gstring)
(vector
;; Nasal vowels
(concat independent-vowel nasal "?")
1 'font-shape-gstring))))
(provide 'indian)
;;; indian.el ends here

View file

@ -1163,4 +1163,108 @@ Full key sequences are listed below:")
("`M" ?𑇏)
)
(quail-define-package
"siddham" "Sharada" "𑖭𑖰" t "Siddham 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" ?𑗊)
("`!" ?𑗔)
("`2" ?𑗋)
("`@" ?𑗕)
("`3" ?𑗌)
("`#" ?𑗖)
("`4" ?𑗍)
("`$" ?𑗗)
("`5" ?𑗎)
("`%" ?𑗅)
("`6" ?𑗏)
("`^" ?𑗆)
("`7" ?𑗐)
("`&" ?𑗇)
("`8" ?𑗑)
("`*" ?𑗈)
("`9" ?𑗒)
("`\(" ?𑗉)
("`0" ?𑗓)
("`\)" ?𑗄)
("`\\" ?𑗂)
("`|" ?𑗃)
("`" ?𑖘)
("q" ?𑖘)
("Q" ?𑖙)
("`q" ?𑗘)
("`Q" ?𑗙)
("w" ?𑖚)
("W" ?𑖛)
("`w" ?𑗚)
("`W" ?𑗛)
("e" ?𑖸)
("E" ?𑖹)
("`e" ?𑖊)
("`E" ?𑖋)
("r" ?𑖨)
("R" ?𑖴)
("`r" ?𑖆)
("t" ?𑖝)
("T" ?𑖞)
("`t" ?𑗜)
("`T" ?𑗝)
("y" ?𑖧)
("u" ?𑖲)
("U" ?𑖳)
("`u" ?𑖄)
("`U" ?𑖅)
("i" ?𑖰)
("I" ?𑖱)
("`i" ?𑖂)
("`I" ?𑖃)
("o" ?𑖺)
("O" ?𑖻)
("`o" ?𑖌)
("`O" ?𑖍)
("p" ?𑖢)
("P" ?𑖣)
("a" ?𑖯)
("A" ?𑖁)
("`a" ?𑖀)
("s" ?𑖭)
("S" ?𑖫)
("d" ?𑖟)
("D" ?𑖠)
("`d" ?𑗁)
("f" ?𑖿)
("F" ?𑖵)
("`f" ?𑖇)
("g" ?𑖐)
("G" ?𑖑)
("h" ?𑖮)
("H" ?𑖾)
("j" ?𑖕)
("J" ?𑖖)
("k" ?𑖎)
("K" ?𑖏)
("l" ?𑖩)
("L" ?𑖈)
("`l" ?𑖉)
("z" ?𑖗)
("Z" ?𑖒)
("x" ?𑖬)
("X" ?𑗀)
("c" ?𑖓)
("C" ?𑖔)
("`c" #x200C) ; ZWNJ
("v" ?𑖪)
("b" ?𑖤)
("B" ?𑖥)
("n" ?𑖡)
("N" ?𑖜)
("m" ?𑖦)
("M" ?𑖽)
("`m" ?𑖼)
)
;;; indian.el ends here