Subject: bug#58151: [PATCH] Support Mende Kikakui script

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

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

> The Mende Kikakui script is added to Emacs this time.
> I have also added support for indic and ottoman siyaq numbers.
>
> Please check the patch.
> Thanks
>
From 2164d3c0f035614997cf75b1716927903085c705 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 02:13:46 +0530
Subject: [PATCH] Add support for the Mende Kikakui script (bug#58151)

* lisp/language/misc-lang.el ("Mende Kikakui"): New language environment.
Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Mende Kikakui, Indic Siyaq Numbers,
Ottoman Siyaq Numbers.
* lisp/leim/quail/misc-lang.el ("mende-kikakui"): New input method.

* etc/HELLO: Add Mende Kikakui greeting.
* etc/NEWS: Announce the new language environment.
---
 etc/HELLO                     |   1 +
 etc/NEWS                      |   1 +
 lisp/international/fontset.el |   9 +-
 lisp/language/misc-lang.el    |  14 ++
 lisp/leim/quail/misc-lang.el  | 247 ++++++++++++++++++++++++++++++++++
 5 files changed, 269 insertions(+), 3 deletions(-)

diff --git a/etc/HELLO b/etc/HELLO
index 18c5ee5e54..7e0e847521 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -85,6 +85,7 @@ Maldivian (ދިވެހި)	އައްސަލާމު ޢަލައިކުމް / ކިހިނ
 Maltese (il-Malti)	Bonġu / Saħħa
 Mathematics	∀ p ∈ world • hello p  □
 Meetei Mayek (ꯃꯤꯇꯩ ꯃꯌꯦꯛ)	ꯈꯨꯔꯨꯝꯖꯔꯤ
+Mende Kikakui (𞠀𞠁𞠂)	𞠛𞠉
 Modi (𑘦𑘻𑘚𑘲)	𑘡𑘦𑘭𑘿𑘎𑘰𑘨
 Mongolian (монгол хэл)	Сайн байна уу?
 Northern Thai (ᨣᩣᩴᨾᩮᩬᩥᨦ / ᨽᩣᩈᩣᩃ᩶ᩣ᩠ᨶᨶᩣ)	ᩈ᩠ᩅᩢᩔ᩠ᨯᩦᨣᩕᩢ᩠ᨸ
diff --git a/etc/NEWS b/etc/NEWS
index 4c0c07b570..97eac058f1 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1260,6 +1260,7 @@ Kharoshthi script and language environment
 Lepcha script and language environment
 Meetei Mayek script and language environment
 Adlam script and language environment
+Mende Kikakui 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 3cd7765ef8..0028c454af 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -294,10 +294,10 @@ font-encoding-charset-alist
 	(toto #x1E290)
 	(wancho #x1e2c0)
         (nag-mundari #x1E4D0 #x1E4EB #x1E4F0)
-	(mende-kikakui #x1E810)
+	(mende-kikakui #x1E810 #x1E8A6)
 	(adlam #x1E900 #x1E943)
-	(indic-siyaq-number #x1ec71)
-	(ottoman-siyaq-number #x1ed01)
+	(indic-siyaq-number #x1EC71 #x1EC9F)
+	(ottoman-siyaq-number #x1ED01 #x1ED27)
 	(mahjong-tile #x1F000)
 	(domino-tile #x1F030)
         (emoji #x1F300 #x1F600)
@@ -833,8 +833,11 @@ setup-default-fontset
 		    counting-rod-numeral
                     toto
                     nag-mundari
+                    mende-kikakui
 		    adlam
                     tai-tham
+                    indic-siyaq-number
+                    ottoman-siyaq-number
 		    mahjong-tile
 		    domino-tile
                     emoji
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index bd1edb9185..1f85c3973f 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -291,6 +291,20 @@ egyptian-shape-grouping
         "[\x1E900-\x1E95F]+"
         0 'font-shape-gstring)))
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Mende Kikakui
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(set-language-info-alist
+ "Mende Kikakui" '((charset unicode)
+                   (coding-system utf-8)
+                   (coding-priority utf-8)
+                   (input-method . "mende-kikakui")
+                   (sample-text . "Mende Kikakui (𞠀𞠁𞠂)	𞠛𞠉")
+                   (documentation . "\
+Mende language and its script Kikakui are supported
+in this language environment.")))
+
 (provide 'misc-lang)
 
 ;;; misc-lang.el ends here
diff --git a/lisp/leim/quail/misc-lang.el b/lisp/leim/quail/misc-lang.el
index 6bafa6b5fb..1bf9de4d8c 100644
--- a/lisp/leim/quail/misc-lang.el
+++ b/lisp/leim/quail/misc-lang.el
@@ -1277,5 +1277,252 @@
  ("`m" ?𞥋)
  ("`/" ?𞥟))
 
+(quail-define-package
+ "mende-kikakui" "Mende Kikakui" "𞠗" nil
+ "Mende Kikakui input method." nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("1"    ?𞣇)
+ ("2"    ?𞣈)
+ ("3"    ?𞣉)
+ ("4"    ?𞣊)
+ ("5"    ?𞣋)
+ ("6"    ?𞣌)
+ ("7"    ?𞣍)
+ ("8"    ?𞣎)
+ ("9"    ?𞣏)
+
+ (".1"   ?𞣐)
+ (".2"   ?𞣑)
+ (".3"   ?𞣒)
+ (".4"   ?𞣓)
+ (".5"   ?𞣔)
+ (".6"   ?𞣕)
+ (".7"   ?𞣖)
+
+ ("ki"   ?𞠀)
+ ("ka"   ?𞠁)
+ ("ku"   ?𞠂)
+ ("kee"  ?𞠃)
+ ("ke"   ?𞠄)
+ ("koo"  ?𞠅)
+ ("ko"   ?𞠆)
+ ("kua"  ?𞠇)
+
+ ("wi"   ?𞠈)
+ ("wa"   ?𞠉)
+ ("wu"   ?𞠊)
+ ("wee"  ?𞠋)
+ ("we"   ?𞠌)
+ ("woo"  ?𞠍)
+ ("wo"   ?𞠎)
+ ("wui"  ?𞠏)
+ ("wei"  ?𞠐)
+
+ ("wvi"  ?𞠑)
+ ("wua"  ?𞠒)
+ ("wve"  ?𞠓)
+
+ ("min"  ?𞠔)
+ ("man"  ?𞠕)
+ ("mun"  ?𞠖)
+ ("men"  ?𞠗)
+ ("mon"  ?𞠘)
+ ("muan" ?𞠙)
+ ("muen" ?𞠚)
+
+ ("bi"   ?𞠛)
+ ("ba"   ?𞠜)
+ ("bu"   ?𞠝)
+ ("bee"  ?𞠞)
+ ("be"   ?𞠟)
+ ("boo"  ?𞠠)
+ ("bo"   ?𞠡)
+
+ ("i"    ?𞠢)
+ ("a"    ?𞠣)
+ ("u"    ?𞠤)
+ ("ee"   ?𞠥)
+ ("e"    ?𞠦)
+ ("oo"   ?𞠧)
+ ("o"    ?𞠨)
+ ("ei"   ?𞠩)
+ ("in"   ?𞠪)
+ ("inn"  ?𞠫)
+ ("an"   ?𞠬)
+ ("en"   ?𞠭)
+
+ ("si"   ?𞠮)
+ ("sa"   ?𞠯)
+ ("su"   ?𞠰)
+ ("see"  ?𞠱)
+ ("se"   ?𞠲)
+ ("soo"  ?𞠳)
+ ("so"   ?𞠴)
+ ("sia"  ?𞠵)
+
+ ("li"   ?𞠶)
+ ("la"   ?𞠷)
+ ("lu"   ?𞠸)
+ ("lee"  ?𞠹)
+ ("le"   ?𞠺)
+ ("loo"  ?𞠻)
+ ("lo"   ?𞠼)
+ ("lle"  ?𞠽)
+
+ ("di"   ?𞠾)
+ ("da"   ?𞠿)
+ ("du"   ?𞡀)
+ ("dee"  ?𞡁)
+ ("doo"  ?𞡂)
+ ("do"   ?𞡃)
+
+ ("ti"   ?𞡄)
+ ("ta"   ?𞡅)
+ ("tu"   ?𞡆)
+ ("tee"  ?𞡇)
+ ("te"   ?𞡈)
+ ("too"  ?𞡉)
+ ("to"   ?𞡊)
+
+ ("ji"   ?𞡋)
+ ("ja"   ?𞡌)
+ ("ju"   ?𞡍)
+ ("jee"  ?𞡎)
+ ("je"   ?𞡏)
+ ("joo"  ?𞡐)
+ ("jo"   ?𞡑)
+ ("jjo"  ?𞡒)
+
+ ("yi"   ?𞡓)
+ ("ya"   ?𞡔)
+ ("yu"   ?𞡕)
+ ("yee"  ?𞡖)
+ ("ye"   ?𞡗)
+ ("yoo"  ?𞡘)
+ ("yo"   ?𞡙)
+
+ ("fi"   ?𞡚)
+ ("fa"   ?𞡛)
+ ("fu"   ?𞡜)
+ ("fee"  ?𞡝)
+ ("fe"   ?𞡞)
+ ("foo"  ?𞡟)
+ ("fo"   ?𞡠)
+ ("fua"  ?𞡡)
+ ("fan"  ?𞡢)
+
+ ("nin"  ?𞡣)
+ ("nan"  ?𞡤)
+ ("nun"  ?𞡥)
+ ("nen"  ?𞡦)
+ ("non"  ?𞡧)
+
+ ("hi"   ?𞡨)
+ ("ha"   ?𞡩)
+ ("hu"   ?𞡪)
+ ("hee"  ?𞡫)
+ ("he"   ?𞡬)
+ ("hoo"  ?𞡭)
+ ("ho"   ?𞡮)
+ ("heei" ?𞡯)
+ ("hoou" ?𞡰)
+ ("hin"  ?𞡱)
+ ("han"  ?𞡲)
+ ("hun"  ?𞡳)
+ ("hen"  ?𞡴)
+ ("hon"  ?𞡵)
+ ("huan" ?𞡶)
+
+ ("nggi"   ?𞡷)
+ ("ngga"   ?𞡸)
+ ("nggu"   ?𞡹)
+ ("nggee"  ?𞡺)
+ ("ngge"   ?𞡻)
+ ("nggoo"  ?𞡼)
+ ("nggo"   ?𞡽)
+ ("nggaa"  ?𞡾)
+ ("nggua"  ?𞡿)
+ ("nngge"  ?𞢀)
+ ("nnggoo" ?𞢁)
+ ("nnggo"  ?𞢂)
+
+ ("gi"    ?𞢃)
+ ("ga"    ?𞢄)
+ ("gu"    ?𞢅)
+ ("gee"   ?𞢆)
+ ("guei"  ?𞢇)
+ ("guan"  ?𞢈)
+
+ ("ngen"  ?𞢉)
+ ("ngon"  ?𞢊)
+ ("nguan" ?𞢋)
+
+ ("pi"    ?𞢌)
+ ("pa"    ?𞢍)
+ ("pu"    ?𞢎)
+ ("pee"   ?𞢏)
+ ("pe"    ?𞢐)
+ ("poo"   ?𞢑)
+ ("po"    ?𞢒)
+
+ ("mbi"   ?𞢓)
+ ("mba"   ?𞢔)
+ ("mbu"   ?𞢕)
+ ("mbee"  ?𞢖)
+ ("mmbee" ?𞢗)
+ ("mbe"   ?𞢘)
+ ("mboo"  ?𞢙)
+ ("mbo"   ?𞢚)
+ ("mbuu"  ?𞢛)
+ ("mmbe"  ?𞢜)
+ ("mmboo" ?𞢝)
+ ("mmbo"  ?𞢞)
+
+ ("kpi"   ?𞢟)
+ ("kpa"   ?𞢠)
+ ("kpu"   ?𞢡)
+ ("kpee"  ?𞢢)
+ ("kpe"   ?𞢣)
+ ("kpoo"  ?𞢤)
+ ("kpo"   ?𞢥)
+
+ ("gbi"   ?𞢦)
+ ("gba"   ?𞢧)
+ ("gbu"   ?𞢨)
+ ("gbee"  ?𞢩)
+ ("gbe"   ?𞢪)
+ ("gboo"  ?𞢫)
+ ("gbo"   ?𞢬)
+
+ ("ra"    ?𞢭)
+
+ ("ndi"   ?𞢮)
+ ("nda"   ?𞢯)
+ ("ndu"   ?𞢰)
+ ("ndee"  ?𞢱)
+ ("nde"   ?𞢲)
+ ("ndoo"  ?𞢳)
+ ("ndo"   ?𞢴)
+
+ ("nja"   ?𞢵)
+ ("nju"   ?𞢶)
+ ("njee"  ?𞢷)
+ ("njoo"  ?𞢸)
+
+ ("vi"    ?𞢹)
+ ("va"    ?𞢺)
+ ("vu"    ?𞢻)
+ ("vee"   ?𞢼)
+ ("ve"    ?𞢽)
+ ("voo"   ?𞢾)
+ ("vo"    ?𞢿)
+
+ ("nyin"  ?𞣀)
+ ("nyan"  ?𞣁)
+ ("nyun"  ?𞣂)
+ ("nyen"  ?𞣃)
+ ("nyon"  ?𞣄))
+
 (provide 'misc-lang)
 ;;; misc-lang.el ends here
-- 
2.37.3