summaryrefslogtreecommitdiff
path: root/lisp/language
diff options
context:
space:
mode:
authorसमीर सिंह Sameer Singh <lumarzeli30@gmail.com>2022-05-07 17:55:25 +0530
committerEli Zaretskii <eliz@gnu.org>2022-05-07 16:22:20 +0300
commit987a212eb17b32cabcf46640417768bcccb2be5e (patch)
tree01be267c0f2b1c6635845ef0cd8ab54c2fc9ae4c /lisp/language
parentf7c56a0d739d1397b5fb2b1beeeea6b74a1d5886 (diff)
downloademacs-987a212eb17b32cabcf46640417768bcccb2be5e.tar.gz
emacs-987a212eb17b32cabcf46640417768bcccb2be5e.tar.bz2
emacs-987a212eb17b32cabcf46640417768bcccb2be5e.zip
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.
Diffstat (limited to 'lisp/language')
-rw-r--r--lisp/language/indian.el38
1 files changed, 38 insertions, 0 deletions
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index c3d59b6f770..0031405182c 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -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