From: समीर सिंह Sameer Singh Date: Sat, 11 Jun 2022 13:23:43 +0000 (+0530) Subject: Add support for the Meetei Mayek script X-Git-Tag: emacs-29.0.90~1910^2~36 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5381a1e6ddcbc898439bd7f53d5dd0816f910feb;p=emacs.git 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. --- diff --git a/etc/HELLO b/etc/HELLO index baa8af0f07c..d73465318ca 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 f533575c937..8e3228864c0 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 273cba8d631..8d34aa99c39 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 6e0fb10b4fe..2887d410adf 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 bc61a312fae..8fffcc35119 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