emacs-diffs
[Top][All Lists]
Advanced

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

master 71b17f1e94: Add support for the Lepcha script (bug#55869)


From: Eli Zaretskii
Subject: master 71b17f1e94: Add support for the Lepcha script (bug#55869)
Date: Sat, 11 Jun 2022 05:12:55 -0400 (EDT)

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

    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.
---
 etc/HELLO                     |  1 +
 etc/NEWS                      |  1 +
 lisp/international/fontset.el |  2 +
 lisp/language/indian.el       | 25 ++++++++++++
 lisp/language/misc-lang.el    | 12 +++---
 lisp/leim/quail/indian.el     | 93 +++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 128 insertions(+), 6 deletions(-)

diff --git a/etc/HELLO b/etc/HELLO
index 8787a6e0ae..e53bf74f4d 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -76,6 +76,7 @@ Kharoṣṭhī (𐨑𐨪𐨆𐨛𐨁)     𐨣𐨨𐨲𐨪𐨆 𐨐𐨪𐨅𐨨𐨁
 Khmer (ភាសាខ្មែរ)      ជំរាបសួរ
 Lakota (Lakȟotiyapi)   Taŋyáŋ yahí!
 Lao (ພາສາລາວ)  ສະບາຍດີ / ຂໍໃຫ້ໂຊກດີ
+Lepcha (ᰛᰩᰵ)   ᰂᰦᰕᰥᰬ
 Limbu (ᤕᤰᤌᤢᤱ ᤐᤠᤴ)      ᤛᤣᤘᤠᤖᤥ
 Makasar (𑻪𑻢𑻪𑻢) 𑻦𑻤𑻵𑻱
 Malayalam (മലയാളം)     നമസ്കാരം
diff --git a/etc/NEWS b/etc/NEWS
index 1789d47351..424d1250c3 100644
--- 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".
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 44421a96da..273cba8d63 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -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
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index 9329b43fea..a6f50962d8 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -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
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index e0e7add158..1e915c2f83 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -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
diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el
index 6a3582e83d..bc61a312fa 100644
--- a/lisp/leim/quail/indian.el
+++ b/lisp/leim/quail/indian.el
@@ -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



reply via email to

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