From 8cceeccae8e01685c5636d8d73c19ef525745333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=20=E0=A4=B8=E0=A4=BF?= =?UTF-8?q?=E0=A4=82=E0=A4=B9=20Sameer=20Singh?= Date: Wed, 25 May 2022 07:42:29 +0530 Subject: [PATCH] Add support for the Limbu script * lisp/language/indian.el ("Limbu"): New language environment. Add composition rules for Limbu. Add sample text and input method. * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Support Limbu. * lisp/leim/quail/indian.el ("limbu"): New input method. * etc/HELLO: Add a Limbu greeting. * etc/NEWS: Announce the new language environment and its input method. --- etc/HELLO | 1 + etc/NEWS | 1 + lisp/international/fontset.el | 2 + lisp/language/indian.el | 26 ++++++++++ lisp/leim/quail/indian.el | 91 +++++++++++++++++++++++++++++++++++ 5 files changed, 121 insertions(+) diff --git a/etc/HELLO b/etc/HELLO index a9653a4164..31f753c73a 100644 --- a/etc/HELLO +++ b/etc/HELLO @@ -70,6 +70,7 @@ Kannada (ಕನ್ನಡ) ನಮಸ್ಕಾರ Khmer (ភាសាខ្មែរ) ជំរាបសួរ Lakota (Lakȟotiyapi) Taŋyáŋ yahí! Lao (ພາສາລາວ) ສະບາຍດີ / ຂໍໃຫ້ໂຊກດີ +Limbu (ᤕᤰᤌᤢᤱ ᤐᤠᤴ) ᤛᤣᤘᤠᤖᤥ Malayalam (മലയാളം) നമസ്കാരം Maldivian (ދިވެހި) އައްސަލާމު ޢަލައިކުމް / ކިހިނެހް؟ Maltese (il-Malti) Bonġu / Saħħa diff --git a/etc/NEWS b/etc/NEWS index 857f300384..960e422699 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -822,6 +822,7 @@ corresponding language environments are: **** Hanunoo script and language environment **** Buhid script and language environment **** Tagbanwa script and language environment +**** Limbu script and language environment --- *** The "Oriya" language environment was renamed to "Odia". diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el index 5967648f36..42fbedae1d 100644 --- a/lisp/international/fontset.el +++ b/lisp/international/fontset.el @@ -188,6 +188,7 @@ font-encoding-charset-alist (tagbanwa #x1760) (khmer #x1780) (mongolian #x1826) + (limbu #x1901 #x1920 #x1936) (tai-le #x1950) (tai-lue #x1980) (tai-tham #x1A20 #x1A55 #x1A61 #x1A80) @@ -756,6 +757,7 @@ setup-default-fontset hanunoo buhid tagbanwa + limbu symbol braille yi diff --git a/lisp/language/indian.el b/lisp/language/indian.el index a5563a3ff7..5082a97f34 100644 --- a/lisp/language/indian.el +++ b/lisp/language/indian.el @@ -222,6 +222,17 @@ 'devanagari in this language environment.")) '("Indian")) +(set-language-info-alist + "Limbu" '((charset unicode) + (coding-system utf-8) + (coding-priority utf-8) + (input-method . "limbu") + (sample-text . "Limbu (ᤕᤠᤰᤌᤢᤱ ᤐᤠᤴ) ᤛᤣᤘᤠᤖᤥ") + (documentation . "\ +Limbu language and its script is supported in this +language environment.")) + '("Indian")) + ;; Replace mnemonic characters in REGEXP according to TABLE. TABLE is ;; an alist of (MNEMONIC-STRING . REPLACEMENT-STRING). @@ -670,5 +681,20 @@ malayalam-composable-pattern nasal "?" visarga "?") 1 'font-shape-gstring)))) +;; Limbu composition rules +(let ((consonant "[\x1900-\x191E]") + (vowel "[\x1920-\x1928]") + (subjoined-letter "[\x1929-\x192B]") + (small-letter "[\x1930-\x1938]") + (other-signs "[\x1939\x193A]") + (sa-i "\x193B")) + (set-char-table-range composition-function-table + '(#x1920 . #x193B) + (list (vector + ;; Consonant based syllables + (concat consonant sa-i "?" subjoined-letter "?" small-letter + "?" vowel "?" other-signs "?") + 1 'font-shape-gstring)))) + (provide 'indian) ;;; indian.el ends here diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el index b76cf9a80d..031c30aabb 100644 --- a/lisp/leim/quail/indian.el +++ b/lisp/leim/quail/indian.el @@ -1565,4 +1565,95 @@ "||" ("`M" ?ଽ) ) +(quail-define-package + "limbu" "Limbu" "ᤕ" t "Limbu 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" ?᥀) +("w" ?ᤘ) +("W" ?ᤫ) +("e" ?ᤣ) +("E" ?ᤤ) +("r" ?ᤖ) +("R" ?ᤷ) +("`r" ?ᤪ) +("t" ?ᤋ) +("T" ?ᤌ) +("`t" ?ᤳ) +("`T" ?ᤞ) +("y" ?ᤕ) +("Y" ?ᤩ) +("u" ?ᤢ) +("i" ?ᤡ) +("o" ?ᤥ) +("O" ?ᤦ) +("p" ?ᤐ) +("P" ?ᤑ) +("`p" ?ᤵ) +("a" ?ᤠ) +("A" ?ᤀ) +("s" ?ᤛ) +("S" ?ᤙ) +("d" ?ᤍ) +("D" ?ᤎ) +("f" ?᤻) +("g" ?ᤃ) +("G" ?ᤄ) +("`g" ?ᤝ) +("h" ?ᤜ) +("j" ?ᤈ) +("J" ?ᤉ) +("k" ?ᤁ) +("K" ?ᤂ) +("`k" ?ᤰ) +("l" ?ᤗ) +("L" ?ᤸ) +("z" ?ᤊ) +("Z" ?ᤅ) +("x" ?ᤚ) +("X" ?᤹) +("c" ?ᤆ) +("C" ?ᤇ) +("`c" #x200C) ; ZWNJ +("v" ?᤺) +("b" ?ᤒ) +("B" ?ᤓ) +("n" ?ᤏ) +("N" ?ᤴ) +("m" ?ᤔ) +("M" ?ᤱ) +("`m" ?ᤲ) +("`?" ?᥅) +) + ;;; indian.el ends here -- 2.36.1