]> git.eshelyaron.com Git - emacs.git/commitdiff
Add support for the Meetei Mayek script
authorसमीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Sat, 11 Jun 2022 13:23:43 +0000 (18:53 +0530)
committerEli Zaretskii <eliz@gnu.org>
Mon, 13 Jun 2022 13:55:20 +0000 (16:55 +0300)
* 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
etc/NEWS
lisp/international/fontset.el
lisp/language/indian.el
lisp/leim/quail/indian.el

index baa8af0f07c116870bc8c70c328d1e101266f968..d73465318ca3d5f1c11e96b7e30b748fe8f03c0a 100644 (file)
--- 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 (ᨣᩣᩴᨾᩮᩬᩥᨦ / ᨽᩣᩈᩣᩃ᩶ᩣ᩠ᨶᨶᩣ)   ᩈ᩠ᩅᩢᩔ᩠ᨯᩦᨣᩕᩢ᩠ᨸ
index f533575c9370a393851d139d80a060c520516004..8e3228864c0d914db041ac5c039ff0deed0a017c 100644 (file)
--- 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".
index 273cba8d631aadf46080d2ff3a12e0eedae37a70..8d34aa99c39d3c6c1649e1fee51dea95e3fd7799 100644 (file)
        (javanese #xA98F #xA9B4 #xA9CA)
        (cham #xAA00)
        (tai-viet #xAA80)
+        (meetei-mayek #xABC0 #xABE3 #xAAE0 #xAAF6)
        (hangul #xAC00)
        (linear-b #x10000)
        (aegean-number #x10100)
                     rejang
                     javanese
                    tai-viet
+                    meetei-mayek
                    aegean-number
                    ancient-greek-number
                    ancient-symbol
index 6e0fb10b4fefa99338eb23390cf383ed89c08bfa..2887d410adfa9bb320dfb4e342963a614e39e79e 100644 (file)
@@ -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
index bc61a312faecd88d450c5ddc4174f8e13d3fc9e6..8fffcc35119e86d0792716fc2ed655ba7b46b09f 100644 (file)
@@ -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