emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 8d5eff3d84 1/2: Add support for the Limbu script (bug#55621)


From: Eli Zaretskii
Subject: master 8d5eff3d84 1/2: Add support for the Limbu script (bug#55621)
Date: Wed, 25 May 2022 14:41:16 -0400 (EDT)

branch: master
commit 8d5eff3d8452681d5e801a4c5b2936b0a4ae8da3
Author: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Commit: Eli Zaretskii <eliz@gnu.org>

    Add support for the Limbu script (bug#55621)
    
    * 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 92ebe22016..0f59d545e3 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 @@
         (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 @@
                     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 @@ Marathi language and one of its script Modi is supported
 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 @@ in this language environment."))
                                        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 @@ Full key sequences are listed below:")
 ("`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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]