]> git.eshelyaron.com Git - emacs.git/commitdiff
Add support for the Lepcha script (bug#55869)
authorसमीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Thu, 9 Jun 2022 14:24:10 +0000 (19:54 +0530)
committerEli Zaretskii <eliz@gnu.org>
Sat, 11 Jun 2022 09:03:56 +0000 (12:03 +0300)
* 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.

etc/HELLO
etc/NEWS
lisp/international/fontset.el
lisp/language/indian.el
lisp/language/misc-lang.el
lisp/leim/quail/indian.el

index 8787a6e0ae99a5f368a799fe275eaf3227cceb6e..e53bf74f4d30ae691ea96edc201feb68688f27c9 100644 (file)
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -76,6 +76,7 @@ Kharoṣṭhī (𐨑𐨪𐨆𐨛𐨁) 𐨣𐨨𐨲𐨪𐨆 𐨐𐨪𐨅𐨨𐨁
 Khmer (ភាសាខ្មែរ)    ជំរាបសួរ
 Lakota (Lakȟotiyapi)  Taŋyáŋ yahí!
 Lao (ພາສາລາວ)    ສະບາຍດີ / ຂໍໃຫ້ໂຊກດີ
+Lepcha (ᰛᰩᰵ)     ᰂᰦᰕᰥᰬ
 Limbu (ᤕᤰᤌᤢᤱ ᤐᤠᤴ)      ᤛᤣᤘᤠᤖᤥ
 Makasar (𑻪𑻢𑻪𑻢)     𑻦𑻤𑻵𑻱
 Malayalam (മലയാളം) നമസ്കാരം
index 1789d47351b4ad216d69a4cda8c21d766091f110..424d1250c33220c1582390ff0636bef1a02ba117 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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".
index 44421a96da22487424228c9bc30d52f0f9072323..273cba8d631aadf46080d2ff3a12e0eedae37a70 100644 (file)
         (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)
                     balinese
                     sundanese
                     batak
+                    lepcha
                    symbol
                    braille
                    yi
index 9329b43fea3ac51172d68715dadcf02a903d479b..a6f50962d8d799afabbb1f8a98e0bba5ca8d6882 100644 (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
index e0e7add15836b09f808d0e08bb95cf1dd094a55e..1e915c2f83848b3c87b99ea976ca17a1117590a9 100644 (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
index 6a3582e83d0bfeaaf92f9c1dbe3f7ae5dfe26b9d..bc61a312faecd88d450c5ddc4174f8e13d3fc9e6 100644 (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