Add support for the Lepcha script (bug#55869)

* lisp/language/indian.el ("Lepcha"): New language environment.
Add composition rules for Lepcha. Add sample text and input method.
* lisp/language/misc-lang.el ("Kharoshthi"): Fix whitespace.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Lepcha.
* lisp/leim/quail/indian.el ("lepcha"): New input method.

* etc/HELLO: Add a Lepcha greeting.
* etc/NEWS: Announce the new language environment.
This commit is contained in:
समीर सिंह Sameer Singh 2022-06-09 19:54:10 +05:30 committed by Eli Zaretskii
parent 46b9bfb9fc
commit 71b17f1e94
6 changed files with 128 additions and 6 deletions

View file

@ -76,6 +76,7 @@ Kharoṣṭhī (𐨑𐨪𐨆𐨛𐨁) 𐨣𐨨𐨲𐨪𐨆 𐨐𐨪𐨅𐨨𐨁
Khmer (ភាសាខ្មែរ) ជំរាបសួរ
Lakota (Lakȟotiyapi) Taŋyáŋ yahí!
Lao (ພາສາລາວ) ສະບາຍດີ / ຂໍໃຫ້ໂຊກດີ
Lepcha (ᰛᰩᰵ) ᰂᰦᰕᰥᰬ
Limbu (ᤕᤰᤌᤢᤱ ᤐᤠᤴ) ᤛᤣᤘᤠᤖᤥ
Makasar (𑻪𑻢𑻪𑻢) 𑻦𑻤𑻵𑻱
Malayalam (മലയാളം) നമസ്കാരം

View file

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

View file

@ -193,6 +193,7 @@
(balinese #x1B13 #x1B35 #x1B5E)
(sundanese #x1B8A #x1BAB #x1CC4)
(batak #x1BC2 #x1BE7 #x1BFF)
(lepcha #x1C00 #x1C24 #x1C40)
(tai-le #x1950)
(tai-lue #x1980)
(tai-tham #x1A20 #x1A55 #x1A61 #x1A80)
@ -767,6 +768,7 @@
balinese
sundanese
batak
lepcha
symbol
braille
yi

View file

@ -244,6 +244,17 @@ Languages such as Sanskrit and Manipravalam, when they use the
Grantha script, are supported in this language environment."))
'("Indian"))
(set-language-info-alist
"Lepcha" '((charset unicode)
(coding-system utf-8)
(coding-priority utf-8)
(input-method . "lepcha")
(sample-text . "Lepcha (ᰛᰩᰵ) ᰂᰦᰕᰥᰬ")
(documentation . "\
Lepcha language and its 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).
@ -734,5 +745,19 @@ Grantha script, are supported in this language environment."))
"?" avagraha "?")
1 'font-shape-gstring))))
;; Lepcha composition rules
(let ((consonant "[\x1C00-\x1C23\x1C4D-\x1C4F]")
(vowel "[\x1C26-\x1C2C]")
(subjoined-letter "[\x1C24\x1C25]")
(consonant-sign "[\x1C2D-\x1C35]")
(other-signs "[\x1C36\x1C37]"))
(set-char-table-range composition-function-table
'(#x1C24 . #x1C37)
(list (vector
;; Consonant based syllables
(concat consonant other-signs "?" vowel "?"
consonant-sign "?" subjoined-letter "?")
1 'font-shape-gstring))))
(provide 'indian)
;;; indian.el ends here

View file

@ -242,11 +242,11 @@ in this language environment.")))
(set-language-info-alist
"Kharoshthi" '((charset unicode)
(coding-system utf-8)
(coding-priority utf-8)
(input-method . "kharoshthi")
(sample-text . "Kharoṣṭhī (𐨑𐨪𐨆𐨛𐨁) 𐨣𐨨𐨲𐨪𐨆 𐨐𐨪𐨅𐨨𐨁")
(documentation . "\
(coding-system utf-8)
(coding-priority utf-8)
(input-method . "kharoshthi")
(sample-text . "Kharoṣṭhī (𐨑𐨪𐨆𐨛𐨁) 𐨣𐨨𐨲𐨪𐨆 𐨐𐨪𐨅𐨨𐨁")
(documentation . "\
Language environment for Gāndhārī, Sanskrit, and other languages
using the Kharoṣṭhī script.")))
@ -255,7 +255,7 @@ using the Kharoṣṭhī script.")))
(virama "\U00010A3F")
(modifier "[\U00010A0C-\U00010A0F\U00010A38-\U00010A3A]"))
(set-char-table-range composition-function-table
'(#x10A3F . #x10A3F)
'(#x10A3F . #x10A3F)
(list
(vector
(concat consonant

View file

@ -1771,4 +1771,97 @@ Full key sequences are listed below:")
("`m" ?𑌁)
("`M" ?𑌀))
(quail-define-package
"lepcha" "Lepcha" "ᰛᰩᰵ" t "Lepcha 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" ?᰿)
("e" ?ᰬ)
("r" ?ᰛ)
("R" ?ᰥ)
("`r" ?ᰲ)
("t" ?ᰊ)
("T" ?ᰋ)
("`t" ?ᰳ)
("y" ?ᰚ)
("Y" ?ᰤ)
("u" ?ᰪ)
("U" ?ᰫ)
("i" ?ᰧ)
("o" ?ᰨ)
("O" ?ᰩ)
("p" ?ᰎ)
("P" ?ᰏ)
("`p" ?ᰐ)
("`P" ?ᰱ)
("a" ?ᰦ)
("A" ?ᰣ)
("s" ?ᰠ)
("S" ?ᰡ)
("d" ?ᰌ)
("f" ?ᰑ)
("F" ?ᰒ)
("g" ?ᰃ)
("G" ?ᰄ)
("h" ?ᰝ)
("H" ?ᰞ)
("j" ?ᰈ)
("k" ?ᰀ)
("K" ?ᰁ)
("`k" ?ᰂ)
("`K" ?ᰭ)
("l" ?ᰜ)
("L" ?ᰯ)
("z" ?ᰉ)
("Z" ?ᰅ)
("`z" ?ᰴ)
("`Z" ?ᰵ)
("x" ?ᰶ)
("X" ?᰷)
("c" ?ᰆ)
("C" ?ᰇ)
("`c" #x200C) ; ZWNJ
("v" ?ᰟ)
("b" ?ᰓ)
("B" ?ᰔ)
("n" ?ᰍ)
("N" ?ᰰ)
("m" ?ᰕ)
("M" ?ᰖ)
("`m" ?ᰮ))
(provide 'indian)
;;; indian.el ends here