Subject: bug#55869: closed (Re: bug#55869: [PATCH] Add support for the Lepcha script)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 11 Jun 2022 09:18:02 +0000

Your bug report

#55869: [PATCH] Add support for the Lepcha script

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
55869: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55869
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#55869: [PATCH] Add support for the Lepcha script
From: Eli Zaretskii <[email-masked]>
To: समीर सिंह Sameer Singh<[email-masked]>
Cc: [email-masked]
Date: Sat, 11 Jun 2022 12:17:27 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: समीर सिंह Sameer Singh
>  <[email-masked]>
> Date: Thu, 9 Jun 2022 19:59:51 +0530
> 
> The Lepcha script is added to Emacs this time.
> I have also adjusted some whitespace in the newly added Kharoshthi language environment.

Thanks, I installed this.

> +Lepcha (ᰛᰩᰵ)	ᰂᰦᰕᰥᰬ

Can you tell where did you take this name of the script (or is it the
language)?  Both Wikipedia and the Omniglot pages show names that look
differently and are written with different codepoints.

Subject: [PATCH] Add support for the Lepcha script
From: समीर सिंह Sameer Singh<[email-masked]>
To: [email-masked]
Date: Thu, 9 Jun 2022 19:59:51 +0530
List-Id: <debbugs-submit.debbugs.gnu.org>

The Lepcha script is added to Emacs this time.
I have also adjusted some whitespace in the newly added Kharoshthi language
environment.

Please review the patch
Thank You.
From 746772b9a572254215ea5dc2798023fc9e47fa87 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?= <[email-masked]>
Date: Thu, 9 Jun 2022 19:54:10 +0530
Subject: [PATCH] Add support for the Lepcha script

* 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"): Adjust 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 9fc8a74419..434525cbf2 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -864,6 +864,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 @@ font-encoding-charset-alist
         (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 @@ setup-default-fontset
                     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 @@ 'devanagari
 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 @@ malayalam-composable-pattern
                                        "?" 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 @@ egyptian-shape-grouping
 
 (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 @@ egyptian-shape-grouping
       (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 @@ "||"
  ("`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
-- 
2.36.1