Subject: bug#58159: [PATCH] Add support for the Wancho script

From: समीर सिंह Sameer Singh <[email-masked]>
Date: Thu, 29 Sep 2022 16:39:27 +0530

On Thu, Sep 29, 2022 at 4:37 PM समीर सिंह Sameer Singh <
[email-masked]> wrote:

> The Wancho script is added to Emacs this time.
>
> Also can we add something like this to etc/HELLO:
> "Some of these greetings or the script name may be wrong or misspelled so
> if you know the script, please help by correcting them."?
>
> For many of these languages/scripts it is difficult to find their
> greetings and most of the time if their greetings are available online they
> are in the roman script so often I have to convert them into their native
> script therefore these greetings may have a high chance of misspelling or
> they may be wrong altogether so adding something like the above mentioned
> line may help.
>
> Thanks
>
From aff36cedc83384647be1bbea4f076c8738c0326c 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, 29 Sep 2022 16:33:10 +0530
Subject: [PATCH] Add support for the Wancho script (bug#58159)

* lisp/language/indian.el ("Wancho"): New language environment.
Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Wancho.
* lisp/leim/quail/indian.el ("wancho"): New input method.

* etc/HELLO: Add a Wancho greeting.
* etc/NEWS: Announce the new language environment.
---
 etc/HELLO                     |  1 +
 etc/NEWS                      |  1 +
 lisp/international/fontset.el |  3 +-
 lisp/language/indian.el       | 11 +++++
 lisp/leim/quail/indian.el     | 77 +++++++++++++++++++++++++++++++++++
 5 files changed, 92 insertions(+), 1 deletion(-)

diff --git a/etc/HELLO b/etc/HELLO
index 7e0e847521..1899b087e0 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -116,6 +116,7 @@ Turkish (Türkçe)	Merhaba
 Ukrainian (українська)	Вітаю
 Vietnamese (tiếng Việt)	Chào bạn
 
+Wancho (𞋒𞋀𞋉𞋃𞋕)    	𞋂𞋈𞋛

 <x-charset><param>japanese-jisx0208</param>Japanese (日本語)	こんにちは</x-charset> <x-charset><param>katakana-jisx0201</param>/ ｺﾝﾆﾁﾊ
diff --git a/etc/NEWS b/etc/NEWS
index 97eac058f1..4bab95da51 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1261,6 +1261,7 @@ Lepcha script and language environment
 Meetei Mayek script and language environment
 Adlam script and language environment
 Mende Kikakui script and language environment
+Wancho 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 0028c454af..ec505a0903 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -292,7 +292,7 @@ font-encoding-charset-alist
 	(counting-rod-numeral #x1D360)
 	(nyiakeng-puachue-hmong #x1e100)
 	(toto #x1E290)
-	(wancho #x1e2c0)
+	(wancho #x1E2C0 #x1E2E8 #x1E2EF)
         (nag-mundari #x1E4D0 #x1E4EB #x1E4F0)
 	(mende-kikakui #x1E810 #x1E8A6)
 	(adlam #x1E900 #x1E943)
@@ -832,6 +832,7 @@ setup-default-fontset
 		    tai-xuan-jing-symbol
 		    counting-rod-numeral
                     toto
+                    wancho
                     nag-mundari
                     mende-kikakui
 		    adlam
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index 81b7cbd99b..bc8f532857 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -266,6 +266,17 @@ 'devanagari
 language environment."))
  '("Indian"))
 
+(set-language-info-alist
+ "Wancho" '((charset unicode)
+            (coding-system utf-8)
+            (coding-priority utf-8)
+            (input-method . "wancho")
+            (sample-text . "Wancho (𞋒𞋀𞋉𞋃𞋕)	𞋂𞋈𞋛")
+            (documentation . "\
+Wancho 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).
 
diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el
index 431d8369c1..443488c18d 100644
--- a/lisp/leim/quail/indian.el
+++ b/lisp/leim/quail/indian.el
@@ -2134,5 +2134,82 @@ "||"
  ("`m" ?ꫲ)
  ("`?" ?꫱))
 
+(quail-define-package
+ "wancho" "Wancho" "𞋒" t "Wancho 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"  ?𞋡)
+ ("w"  ?𞋒)
+ ("e"  ?𞋛)
+ ("E"  ?𞋧)
+ ("r"  ?𞋗)
+ ("t"  ?𞋋)
+ ("T"  ?𞋌)
+ ("y"  ?𞋆)
+ ("Y"  ?𞋫)
+ ("u"  ?𞋞)
+ ("U"  ?𞋪)
+ ("i"  ?𞋜)
+ ("I"  ?𞋥)
+ ("o"  ?𞋕)
+ ("O"  ?𞋖)
+ ("`o" ?𞋢)
+ ("`O" ?𞋦)
+ ("p"  ?𞋊)
+ ("P"  ?𞋇)
+ ("a"  ?𞋁)
+ ("A"  ?𞋀)
+ ("`a" ?𞋤)
+ ("`A" ?𞋣)
+ ("s"  ?𞋎)
+ ("S"  ?𞋏)
+ ("d"  ?𞋄)
+ ("f"  ?𞋍)
+ ("g"  ?𞋅)
+ ("h"  ?𞋚)
+ ("j"  ?𞋐)
+ ("k"  ?𞋔)
+ ("K"  ?𞋙)
+ ("l"  ?𞋈)
+ ("L"  ?𞋟)
+ ("z"  ?𞋑)
+ ("x"  ?𞋩)
+ ("X"  ?𞋝)
+ ("c"  ?𞋃)
+ ("C"  ?𞋬)
+ ("v"  ?𞋓)
+ ("V"  ?𞋭)
+ ("b"  ?𞋂)
+ ("B"  ?𞋮)
+ ("n"  ?𞋉)
+ ("N"  ?𞋯)
+ ("m"  ?𞋘)
+ ("M"  ?𞋨))
+
 (provide 'indian)
 ;;; indian.el ends here
-- 
2.37.3