all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#55923: [PATCH] Add support for the Meetei Mayek script
@ 2022-06-12 10:05 समीर सिंह Sameer Singh
  2022-06-13 13:37 ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-06-12 10:05 UTC (permalink / raw)
  To: 55923


[-- Attachment #1.1: Type: text/plain, Size: 90 bytes --]

This time the Meetei Mayek script is added to Emacs.

Please review the patch.
Thank you.

[-- Attachment #1.2: Type: text/html, Size: 160 bytes --]

[-- Attachment #2: 0001-Add-support-for-the-Meetei-Mayek-script.patch --]
[-- Type: text/x-patch, Size: 6299 bytes --]

From 0302d13ac0fc6eea79ebb7745e78c074b63f5757 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?= <lumarzeli30@gmail.com>
Date: Sat, 11 Jun 2022 18:53:43 +0530
Subject: [PATCH] Add support for the Meetei Mayek script

* lisp/language/indian.el ("Meetei Mayek"): New language environment.
Add composition rules for Meetei Mayek. Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Meetei Mayek.
* lisp/leim/quail/indian.el ("meetei-mayek"): New input method.

* etc/HELLO: Add a Meetei Mayek greeting.
* etc/NEWS: Announce the new language environment.
---
 etc/HELLO                     |  1 +
 etc/NEWS                      |  1 +
 lisp/international/fontset.el |  2 +
 lisp/language/indian.el       | 27 ++++++++++
 lisp/leim/quail/indian.el     | 99 +++++++++++++++++++++++++++++++++++
 5 files changed, 130 insertions(+)

diff --git a/etc/HELLO b/etc/HELLO
index baa8af0f07..d73465318c 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -83,6 +83,7 @@ Malayalam (മലയാളം)	നമസ്കാരം
 Maldivian (ދިވެހި)	އައްސަލާމު ޢަލައިކުމް / ކިހިނެހް؟
 Maltese (il-Malti)	Bonġu / Saħħa
 Mathematics	∀ p ∈ world • hello p  □
+Meetei Mayek (ꯃꯤꯇꯩ ꯃꯌꯦꯛ)	ꯈꯨꯔꯨꯝꯖꯔꯤ
 Modi (𑘦𑘻𑘚𑘲)	𑘡𑘦𑘭𑘿𑘎𑘰𑘨
 Mongolian (монгол хэл)	Сайн байна уу?
 Northern Thai (ᨣᩣᩴᨾᩮᩬᩥᨦ / ᨽᩣᩈᩣᩃ᩶ᩣ᩠ᨶᨶᩣ)	ᩈ᩠ᩅᩢᩔ᩠ᨯᩦᨣᩕᩢ᩠ᨸ
diff --git a/etc/NEWS b/etc/NEWS
index 424d1250c3..7aa1158ed7 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -884,6 +884,7 @@ corresponding language environments are:
 **** Grantha script and language environment
 **** Kharoshthi script and language environment
 **** Lepcha script and language environment
+**** Meetei Mayek 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 273cba8d63..8d34aa99c3 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -211,6 +211,7 @@ font-encoding-charset-alist
 	(javanese #xA98F #xA9B4 #xA9CA)
 	(cham #xAA00)
 	(tai-viet #xAA80)
+        (meetei-mayek #xABC0 #xABE3 #xAAE0 #xAAF6)
 	(hangul #xAC00)
 	(linear-b #x10000)
 	(aegean-number #x10100)
@@ -776,6 +777,7 @@ setup-default-fontset
                     rejang
                     javanese
 		    tai-viet
+                    meetei-mayek
 		    aegean-number
 		    ancient-greek-number
 		    ancient-symbol
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index 6e0fb10b4f..c5bb47955d 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -255,6 +255,17 @@ 'devanagari
 language environment."))
  '("Indian"))
 
+(set-language-info-alist
+ "Meetei Mayek" '((charset unicode)
+                  (coding-system utf-8)
+                  (coding-priority utf-8)
+                  (input-method . "meetei-mayek")
+                  (sample-text . "Meetei Mayek (ꯃꯤꯇꯩ ꯃꯌꯦꯛ)	ꯈꯨꯔꯨꯝꯖꯔꯤ")
+                  (documentation . "\
+Meetei language and its script Meetei Mayek are supported in this
+language environment."))
+ '("Indian"))
+
 ;; Replace mnemonic characters in REGEXP according to TABLE.  TABLE is
 ;; an alist of (MNEMONIC-STRING . REPLACEMENT-STRING).
 
@@ -760,5 +771,21 @@ malayalam-composable-pattern
                                        other-signs "?")
                                1 'font-shape-gstring))))
 
+;; Meetei Mayek composition rules
+(let ((akshara              "[\xABC0-\xABE2\xAAE0-\xAAEA]")
+      (vowel                "[\xABE3-\xABEA\xAAEB-\xAAEC]")
+      (nasal                "\xABEA")
+      (visarga              "\xAAF5")
+      (virama               "[\xABED\xAAF6]")
+      (heavy-tone           "\x11640"))
+  (set-char-table-range composition-function-table
+                        '(#xABE3 . #xABED)
+                        (list (vector
+                               ;; Consonant based syllables
+                               (concat akshara "\\(?:" virama akshara "\\)*\\(?:"
+                                       virama "\\|" vowel "*" nasal "?" visarga "?"
+                                       heavy-tone "?\\)")
+                               1 'font-shape-gstring))))
+
 (provide 'indian)
 ;;; indian.el ends here
diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el
index bc61a312fa..8fffcc3511 100644
--- a/lisp/leim/quail/indian.el
+++ b/lisp/leim/quail/indian.el
@@ -1863,5 +1863,104 @@ "||"
  ("M"  ?ᰖ)
  ("`m"  ?ᰮ))
 
+(quail-define-package
+ "meetei-mayek" "Meetei Mayek" "ꯃꯤ" t "Meetei Mayek 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"  ?ꯋ)
+ ("W"  ?ꫦ)
+ ("`w" ?ꫧ)
+ ("e"  ?ꯦ)
+ ("E"  ?ꯩ)
+ ("`e" ?ꫠ)
+ ("r"  ?ꯔ)
+ ("t"  ?ꯇ)
+ ("T"  ?ꯊ)
+ ("`t" ?ꯠ)
+ ("y"  ?ꯌ)
+ ("u"  ?ꯨ)
+ ("U"  ?ꯎ)
+ ("`u" ?ꫬ)
+ ("i"  ?ꯤ)
+ ("I"  ?ꯏ)
+ ("`i" ?ꯢ)
+ ("`I" ?ꫫ)
+ ("o"  ?ꯣ)
+ ("O"  ?ꯧ)
+ ("`o" ?ꫡ)
+ ("`O" ?ꫮ)
+ ("p"  ?ꯄ)
+ ("P"  ?ꯐ)
+ ("`p" ?ꯞ)
+ ("a"  ?ꯥ)
+ ("A"  ?ꯑ)
+ ("`a" ?ꫭ)
+ ("`A" ?ꫯ)
+ ("s"  ?ꯁ)
+ ("S"  ?ꫩ)
+ ("`s" ?ꫪ)
+ ("d"  ?ꯗ)
+ ("D"  ?ꯙ)
+ ("f"  ?꯭)
+ ("F"  ?꫶)
+ ("g"  ?ꯒ)
+ ("G"  ?ꯘ)
+ ("h"  ?ꯍ)
+ ("H"  ?ꫵ)
+ ("j"  ?ꯖ)
+ ("J"  ?ꯓ)
+ ("k"  ?ꯀ)
+ ("K"  ?ꯈ)
+ ("`k" ?ꯛ)
+ ("l"  ?ꯂ)
+ ("L"  ?ꯜ)
+ ("z"  ?ꯉ)
+ ("Z"  ?ꯡ)
+ ("`z" ?ꫣ)
+ ("x"  ?ꯪ)
+ ("c"  ?ꯆ)
+ ("C"  ?ꫢ)
+ ("v"  ?꯬)
+ ("V"  ?ꫳ)
+ ("`v" ?ꫴ)
+ ("b"  ?ꯕ)
+ ("B"  ?ꯚ)
+ ("n"  ?ꯅ)
+ ("N"  ?ꯟ)
+ ("`n" ?ꫨ)
+ ("m"  ?ꯃ)
+ ("M"  ?ꯝ)
+ ("`m" ?ꫲ)
+ ("`?" ?꫱))
+
 (provide 'indian)
 ;;; indian.el ends here
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-06-13 13:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-12 10:05 bug#55923: [PATCH] Add support for the Meetei Mayek script समीर सिंह Sameer Singh
2022-06-13 13:37 ` Eli Zaretskii
2022-06-13 13:42   ` समीर सिंह Sameer Singh
2022-06-13 13:57     ` Eli Zaretskii
2022-06-13 13:58       ` समीर सिंह Sameer Singh

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.