emacs-diffs
[Top][All Lists]
Advanced

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

master 5381a1e6dd: Add support for the Meetei Mayek script


From: Eli Zaretskii
Subject: master 5381a1e6dd: Add support for the Meetei Mayek script
Date: Mon, 13 Jun 2022 09:57:15 -0400 (EDT)

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

    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 f533575c93..8e3228864c 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -890,6 +890,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 @@
        (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 @@
                     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..2887d410ad 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -255,6 +255,17 @@ Lepcha language and its script are supported in this
 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 @@ language environment."))
                                        other-signs "?")
                                1 'font-shape-gstring))))
 
+;; Meetei Mayek composition rules
+(let ((akshara              "[\xABC0-\xABE2\xAAE0-\xAAEA]")
+      (vowel                "[\xABE3-\xABE9\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 @@ Full key sequences are listed below:")
  ("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



reply via email to

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