Add support for the Grantha script (bug#55782)

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

* etc/HELLO: Add two Grantha greetings.
* etc/NEWS: Announce the new language environment.
This commit is contained in:
समीर सिंह Sameer Singh 2022-06-01 22:29:24 +05:30 committed by Eli Zaretskii
parent effbd2aeef
commit 65dc15b722
5 changed files with 157 additions and 1 deletions

View file

@ -56,6 +56,7 @@ Finnish (suomi) Hei / Hyvää päivää
French (français) Bonjour / Salut
Georgian (ქართული) გამარჯობა
German (Deutsch) Guten Tag / Grüß Gott
Grantha (𑌗𑍍𑌰𑌨𑍍𑌥) 𑌨𑌮𑌸𑍍𑌤𑍇 / 𑌨𑌮𑌸𑍍𑌕𑌾𑌰𑌃
Greek (ελληνικά) Γειά σας
Greek, ancient (ἑλληνική) Οὖλέ τε καὶ μέγα χαῖρε
Gujarati (ગુજરાતી) નમસ્તે

View file

@ -852,6 +852,7 @@ corresponding language environments are:
**** Makasar script and language environment
**** Lontara script and language environment
**** Hanifi Rohingya script and language environment
**** Grantha script and language environment
---
*** The "Oriya" language environment was renamed to "Odia".

View file

@ -250,7 +250,7 @@
(sharada #x11191 #x111B3 #x111CD)
(khojki #x11200)
(khudawadi #x112B0)
(grantha #x11305)
(grantha #x11315 #x1133E #x11374)
(newa #x11400)
(tirhuta #x11481 #x1148F #x114D0)
(siddham #x1158E #x115AF #x115D4)
@ -801,6 +801,7 @@
brahmi
kaithi
sharada
grantha
tirhuta
siddham
modi

View file

@ -233,6 +233,17 @@ Limbu language and its script are supported in this
language environment."))
'("Indian"))
(set-language-info-alist
"Grantha" '((charset unicode)
(coding-system utf-8)
(coding-priority utf-8)
(input-method . "grantha")
(sample-text . "Grantha (𑌗𑍍𑌰𑌨𑍍𑌥) 𑌨𑌮𑌸𑍍𑌤𑍇 / 𑌨𑌮𑌸𑍍𑌕𑌾𑌰𑌃")
(documentation . "\
Languages such as Sanskrit and Manipravalam, when they use the
Grantha script, are supported in this language environment."))
'("Indian"))
;; Replace mnemonic characters in REGEXP according to TABLE. TABLE is
;; an alist of (MNEMONIC-STRING . REPLACEMENT-STRING).
@ -696,5 +707,32 @@ language environment."))
"?" vowel "?" other-signs "?")
1 'font-shape-gstring))))
;; Grantha composition rules
(let ((consonant "[\x11315-\x11339]")
(nukta "\x1133C")
(independent-vowel "[\x11305-\x11314\x11360\x11361]")
(vowel "[\x1133E-\x1134C\x11357\x11362\x11363]")
(nasal "[\x11300-\x11302]")
(bindu "\x1133B")
(visarga "\x11303")
(virama "\x1134D")
(avagraha "\x1133D")
(modifier-above "[\x11366-\x11374]"))
(set-char-table-range composition-function-table
'(#x1133B . #x1134D)
(list (vector
;; Consonant based syllables
(concat consonant nukta "?" "\\(?:" virama consonant nukta
"?\\)*\\(?:" virama "\\|" vowel "*" nukta "?" nasal
"?" bindu "?" visarga "?" modifier-above "?"
avagraha "?\\)")
1 'font-shape-gstring)
(vector
;; Vowels based syllables
(concat independent-vowel nukta "?" virama "?" vowel "?"
nasal "?" bindu "?" visarga "?" modifier-above
"?" avagraha "?")
1 'font-shape-gstring))))
(provide 'indian)
;;; indian.el ends here

View file

@ -1656,4 +1656,119 @@ Full key sequences are listed below:")
("`?" ?᥅)
)
(quail-define-package
"grantha" "Grantha" "𑌗𑍍𑌰" t "Grantha 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" ?𑌋)
("t" ?𑌤)
("T" ?𑌥)
("`t" ?𑍗)
("y" ?𑌯)
("u" ?𑍁)
("U" ?𑍂)
("`u" ?𑌉)
("`U" ?𑌊)
("i" ?𑌿)
("I" ?𑍀)
("`i" ?𑌇)
("`I" ?𑌈)
("o" ?𑍋)
("O" ?𑍌)
("`o" ?𑌓)
("`O" ?𑌔)
("p" ?𑌪)
("P" ?𑌫)
("`p" ?𑍴)
("a" ?𑌾)
("A" ?𑌆)
("`a" ?𑌅)
("`A" ?𑍰)
("s" ?𑌸)
("S" ?𑌶)
("d" ?𑌦)
("D" ?𑌧)
("f" ?𑍍)
("F" ?𑍄)
("`f" ?𑍠)
("g" ?𑌗)
("G" ?𑌘)
("h" ?𑌹)
("H" ?𑌃)
("j" ?𑌜)
("J" ?𑌝)
("k" ?𑌕)
("K" ?𑌖)
("`k" ?𑍱)
("l" ?𑌲)
("L" ?𑌳)
("`l" ?𑍢)
("`L" ?𑌌)
("z" ?𑌞)
("Z" ?𑌙)
("`z" ?𑍣)
("`Z" ?𑍡)
("x" ?𑌷)
("X" ?𑌼)
("`x" ?𑌻)
("c" ?𑌚)
("C" ?𑌛)
("`c" #x200C) ; ZWNJ
("v" ?𑌵)
("V" ?𑌽)
("`v" ?𑍳)
("b" ?𑌬)
("B" ?𑌭)
("n" ?𑌨)
("N" ?𑌣)
("`n" ?𑍲)
("m" ?𑌮)
("M" ?𑌂)
("`m" ?𑌁)
("`M" ?𑌀))
;;; indian.el ends here