Add support for the Kaithi script

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

* etc/HELLO: Add a Kaithi greeting.
* etc/NEWS: Announce the new language environment and its
input method.
This commit is contained in:
समीर सिंह Sameer Singh 2022-05-07 17:55:25 +05:30 committed by Eli Zaretskii
parent f7c56a0d73
commit 987a212eb1
5 changed files with 149 additions and 0 deletions

View file

@ -59,6 +59,8 @@ Hindi (हिंदी) नमस्ते / नमस्कार ।
Inuktitut (ᐃᓄᒃᑎᑐᑦ) ᐊᐃ
Italian (italiano) Ciao / Buon giorno
Javanese (ꦧꦱꦗꦮꦶ) console.log("ꦲꦭꦺꦴ");
Kaithi (𑂍𑂶𑂟𑂲) 𑂩𑂰𑂧𑂩𑂰𑂧
Kannada (ಕನ್ನಡ) ನಮಸ್ಕಾರ
Khmer (ភាសាខ្មែរ) ជំរាបសួរ
Lakota (Lakȟotiyapi) Taŋyáŋ yahí!

View file

@ -731,6 +731,12 @@ This language environment supports Brahmi, which is a historical
script that was used in ancient South Asia. A new input method,
'brahmi', is provided to type text in this script.
*** New language environment "Kaithi".
This language environment supports Kaithi or Kayasthi, which was
an important writing system of the past mainly used for administrative
purposes. A new input method, 'kaithi', is provided to type text in
this script.
* Changes in Specialized Modes and Packages in Emacs 29.1

View file

@ -232,6 +232,7 @@
(elymaic #x10FE0)
(old-uyghur #x10F70)
(brahmi #x11013 #x11045 #x11052 #x11065)
(kaithi #x1108D #x110B0 #x110BD)
(mahajani #x11150)
(khojki #x11200)
(khudawadi #x112B0)
@ -772,6 +773,7 @@
elymaic
old-uyghur
brahmi
kaithi
makasar
dives-akuru
cuneiform

View file

@ -136,6 +136,17 @@ South Indian language Malayalam is supported in this language environment."))
The ancient Brahmi script is supported in this language environment."))
'("Indian")) ; Should we have an "Old" category?
(set-language-info-alist
"Kaithi" '((charset unicode)
(coding-system utf-8)
(coding-priority utf-8)
(input-method . "kaithi")
(sample-text . "Kaithi (𑂍𑂶𑂟𑂲) 𑂩𑂰𑂧𑂩𑂰𑂧")
(documentation . "\
Languages such as Awadhi, Bhojpuri, Magahi and Maithili
which used the Kaithi 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).
@ -421,6 +432,33 @@ The ancient Brahmi script is supported in this language environment."))
(concat multiplier number-joiner numeral)
1 'font-shape-gstring))))
;; Kaithi composition rules
(let ((consonant "[\x1108D-\x110AF]")
(nukta "\x110BA")
(vowel "[\x1108D-\x110C2]")
(anusvara-candrabindu "[\x11080\x11081]")
(virama "\x110B9")
(number-sign "\x110BD")
(number-sign-above "\x110CD")
(numerals "[\x966-\x96F]+")
(zwj "\x200D"))
(set-char-table-range composition-function-table
'(#x110B0 . #x110BA)
(list (vector
(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
(concat number-sign numerals)
0 'font-shape-gstring)))
(set-char-table-range composition-function-table
'(#x110CD . #x110CD)
(list (vector
(concat number-sign-above numerals)
0 'font-shape-gstring))))
(provide 'indian)
;;; indian.el ends here

View file

@ -835,5 +835,106 @@ Full key sequences are listed below:")
("`/" ?𑁿)
)
(quail-define-package
"kaithi" "Kaithi" "𑂍𑂶" t "Kaithi 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" ?९)
("0" ?)
("`0" ?0)
("`\)" ?𑂻)
("`\\" ?𑃀)
("`|" ?𑃁)
("`" ?𑂗)
("q" ?𑂗)
("Q" ?𑂘)
("w" ?𑂙)
("W" ?𑂛)
("`w" ?𑂚)
("`W" ?𑂜)
("e" ?𑂵)
("E" ?𑂶)
("`e" ?𑂉)
("`E" ?𑂊)
("r" ?𑂩)
("R" ?𑃂)
("t" ?𑂞)
("T" ?𑂟)
("y" ?𑂨)
("Y" ?⸱)
("u" ?𑂳)
("U" ?𑂴)
("`u" ?𑂇)
("`U" ?𑂈)
("i" ?𑂱)
("I" ?𑂲)
("`i" ?𑂅)
("`I" ?𑂆)
("o" ?𑂷)
("O" ?𑂸)
("`o" ?𑂋)
("`O" ?𑂌)
("p" ?𑂣)
("P" ?𑂤)
("a" ?𑂰)
("A" ?𑂄)
("`a" ?𑂃)
("s" ?𑂮)
("S" ?𑂬)
("d" ?𑂠)
("D" ?𑂡)
("`d" ?𑂼)
("`D" #x110BD) ; Kaithi Number Sign
("f" ?𑂹)
("F" #x110CD) ; Kaithi Number Sign Above
("`f" ?𑂾)
("`F" ?𑂿)
("g" ?𑂏)
("G" ?𑂐)
("h" ?𑂯)
("H" ?𑂂)
("j" ?𑂔)
("J" ?𑂕)
("k" ?𑂍)
("K" ?𑂎)
("l" ?𑂪)
("z" ?𑂖)
("Z" ?𑂑)
("x" ?𑂭)
("X" ?𑂺)
("c" ?𑂒)
("C" ?𑂓)
("`c" #x200C) ; ZWNJ
("`C" #x200D) ; ZWJ
("v" ?𑂫)
("b" ?𑂥)
("B" ?𑂦)
("n" ?𑂢)
("N" ?𑂝)
("m" ?𑂧)
("M" ?𑂁)
("`m" ?𑂀)
)
;;; indian.el ends here