From 5816de130429e9fb226cddde09e9f36ad38a4622 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?= Date: Mon, 30 May 2022 17:46:14 +0530 Subject: [PATCH] Add support for the Makasar and Buginese scripts * lisp/language/indonesian.el ("Makasar") ("Buginese"): New language environment. Add composition rules for Makasar and Buginese. Add sample texts and input methods. * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Support Makasar and Buginese. * lisp/leim/quail/indonesian.el ("makasar") ("buginese"): New input methods. * etc/HELLO: Add Makasar and Buginese greetings. * etc/NEWS: Announce the new language environments. --- etc/HELLO | 2 + etc/NEWS | 2 + lisp/international/fontset.el | 4 +- lisp/language/indonesian.el | 28 ++++++++++++++ lisp/leim/quail/indonesian.el | 71 ++++++++++++++++++++++++++++++++++- 5 files changed, 104 insertions(+), 3 deletions(-) diff --git a/etc/HELLO b/etc/HELLO index 39cf6c7504..f63f65ff7d 100644 --- a/etc/HELLO +++ b/etc/HELLO @@ -34,6 +34,7 @@ Bengali (বাংলা) নমস্কার Brahmi (𑀩𑁆𑀭𑀸𑀳𑁆𑀫𑀻) 𑀦𑀫𑀲𑁆𑀢𑁂 Braille ⠓⠑⠇⠇⠕ +Buginese (ᨒᨚᨈᨑ) ᨖᨒᨚ Burmese (မြန်မာ) မင်္ဂလာပါ C printf (orange red"Hello, world!\n"); Cham (ꨌꩌ) ꨦꨤꩌ ꨦꨁꨰ @@ -73,6 +74,7 @@ Khmer (ភាសាខ្មែរ) ជំរាបសួរ Lakota (Lakȟotiyapi) Taŋyáŋ yahí! Lao (ພາສາລາວ) ສະບາຍດີ / ຂໍໃຫ້ໂຊກດີ Limbu (ᤕᤰᤌᤢᤱ ᤐᤠᤴ) ᤛᤣᤘᤠᤖᤥ +Makasar (𑻪𑻢𑻪𑻢) 𑻦𑻤𑻵𑻱 Malayalam (മലയാളം) നമസ്കാരം Maldivian (ދިވެހި) އައްސަލާމު ޢަލައިކުމް / ކިހިނެހް؟ Maltese (il-Malti) Bonġu / Saħħa diff --git a/etc/NEWS b/etc/NEWS index 1d37bb84c6..1f34b0c4a8 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -838,6 +838,8 @@ corresponding language environments are: **** Sundanese script and language environment **** Batak script and language environment **** Rejang script and language environment +**** Makasar script and language environment +**** Buginese 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 0c008f90b7..425e9dcb41 100644 --- a/lisp/international/fontset.el +++ b/lisp/international/fontset.el @@ -189,6 +189,7 @@ font-encoding-charset-alist (khmer #x1780) (mongolian #x1826) (limbu #x1901 #x1920 #x1936) + (buginese #x1A00 #x1A1E) (balinese #x1B13 #x1B35 #x1B5E) (sundanese #x1B8A #x1BAB #x1CC4) (batak #x1BC2 #x1BE7 #x1BFF) @@ -266,7 +267,7 @@ font-encoding-charset-alist (marchen #x11C72) (masaram-gondi #x11D00) (gunjala-gondi #x11D60) - (makasar #x11EE0) + (makasar #x11EE0 #x11EF7) (cuneiform #x12000) (cypro-minoan #x12F90) (egyptian #x13000) @@ -762,6 +763,7 @@ setup-default-fontset buhid tagbanwa limbu + buginese balinese sundanese batak diff --git a/lisp/language/indonesian.el b/lisp/language/indonesian.el index efc7b73904..e73e8f4614 100644 --- a/lisp/language/indonesian.el +++ b/lisp/language/indonesian.el @@ -73,6 +73,24 @@ (documentation . "\ Rejang language and its script are supported in this language environment."))) +(set-language-info-alist + "Makasar" '((charset unicode) + (coding-system utf-8) + (coding-priority utf-8) + (input-method . "makasar") + (sample-text . "Makasar (𑻪𑻢𑻪𑻢) 𑻦𑻤𑻵𑻱") + (documentation . "\ +Makasar language and its script are supported in this language environment."))) + +(set-language-info-alist + "Buginese" '((charset unicode) + (coding-system utf-8) + (coding-priority utf-8) + (input-method . "buginese") + (sample-text . "Buginese (ᨒᨚᨈᨑ) ᨖᨒᨚ") + (documentation . "\ +Buginese language and its script are supported in this language environment."))) + ;; Balinese composition rules (let ((consonant "[\x1B13-\x1B33\x1B45-\x1B4B]") (independent-vowel "[\x1B05-\x1B12]") @@ -165,5 +183,15 @@ dependant-consonant "?") 1 'font-shape-gstring)))) +;; Makasar composition rules +(let ((akshara "[\x11EE0-\x11EF2]") + (vowel "[\x11EF3-\x11EF6]")) + (set-char-table-range composition-function-table + '(#x11EF3 . #x11EF6) + (list (vector + ;; Akshara based syllables + (concat akshara vowel "*") + 1 'font-shape-gstring)))) + (provide 'indonesian) ;;; indonesian.el ends here diff --git a/lisp/leim/quail/indonesian.el b/lisp/leim/quail/indonesian.el index 206bcfc5fe..bd5d721492 100644 --- a/lisp/leim/quail/indonesian.el +++ b/lisp/leim/quail/indonesian.el @@ -444,8 +444,8 @@ ("`m" ?ᯣ)) (quail-define-package - "rejang" "Rejang" "ꤽꥍ" nil "Rejang phonetic input method." - nil t t t t nil nil nil nil nil t) + "rejang" "Rejang" "ꤽꥍ" nil "Rejang phonetic input method." + nil t t t t nil nil nil nil nil t) (quail-define-rules ("q" ?꥟) @@ -486,5 +486,72 @@ ("m" ?ꤸ) ("M" ?ꥂ)) +(quail-define-package + "makasar" "Makasar" "𑻪" nil "Makasar phonetic input method." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?𑻷) + ("Q" ?𑻸) + ("e" ?𑻵) + ("r" ?𑻭) + ("t" ?𑻦) + ("y" ?𑻬) + ("u" ?𑻴) + ("i" ?𑻳) + ("o" ?𑻶) + ("p" ?𑻣) + ("a" ?𑻱) + ("s" ?𑻰) + ("d" ?𑻧) + ("g" ?𑻡) + ("j" ?𑻪) + ("k" ?𑻠) + ("l" ?𑻮) + ("z" ?𑻢) + ("Z" ?𑻲) + ("x" ?𑻫) + ("c" ?𑻩) + ("v" ?𑻯) + ("b" ?𑻤) + ("n" ?𑻨) + ("m" ?𑻥)) + +(quail-define-package + "buginese" "Buginese" "ᨒ" nil "Buginese phonetic input method." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?᨞) + ("Q" ?᨟) + ("e" ?ᨙ) + ("E" ?ᨛ) + ("r" ?ᨑ) + ("t" ?ᨈ) + ("y" ?ᨐ) + ("u" ?ᨘ) + ("i" ?ᨗ) + ("o" ?ᨚ) + ("p" ?ᨄ) + ("a" ?ᨕ) + ("s" ?ᨔ) + ("d" ?ᨉ) + ("g" ?ᨁ) + ("h" ?ᨖ) + ("j" ?ᨍ) + ("k" ?ᨀ) + ("l" ?ᨒ) + ("z" ?ᨂ) + ("Z" ?ᨃ) + ("x" ?ᨎ) + ("X" ?ᨏ) + ("c" ?ᨌ) + ("v" ?ᨓ) + ("b" ?ᨅ) + ("n" ?ᨊ) + ("N" ?ᨋ) + ("m" ?ᨆ) + ("M" ?ᨇ)) + (provide 'indonesian) ;;; indonesian.el ends here -- 2.36.1