From 004e6ae3f42bdc8cd632060f56dbf8c1ea850c4a Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=20=E0=A4=B8=E0=A4=BF?= =?utf8?q?=E0=A4=82=E0=A4=B9=20Sameer=20Singh?= Date: Mon, 30 May 2022 07:48:45 +0530 Subject: [PATCH] Add support for the Rejang script (bug#55718) * lisp/language/indonesian.el ("Rejang"): New language environment. Add composition rules for Rejang. Add sample text and input method. * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Support Rejang. * lisp/leim/quail/indonesian.el ("rejang"): New input method. * etc/HELLO: Add a Rejang greeting. * etc/NEWS: Announce the new language environment. --- etc/HELLO | 1 + etc/NEWS | 1 + lisp/international/fontset.el | 2 ++ lisp/language/indonesian.el | 22 ++++++++++++++++++ lisp/leim/quail/indonesian.el | 43 +++++++++++++++++++++++++++++++++++ 5 files changed, 69 insertions(+) diff --git a/etc/HELLO b/etc/HELLO index 7f49c613f6f..39cf6c75047 100644 --- a/etc/HELLO +++ b/etc/HELLO @@ -83,6 +83,7 @@ Northern Thai (ᨣᩣᩴᨾᩮᩬᩥᨦ / ᨽᩣᩈᩣᩃ᩶ᩣ᩠ᨶᨶᩣ) ᩈ Norwegian (norsk) Hei / God dag Odia (ଓଡ଼ିଆ) ନମସ୍କାର Polish (język polski) Dzień dobry! / Cześć! +Rejang (ꥆꤰ꥓ꤼꤽ ꤽꥍꤺꥏ) ꤸꥉꥐꤺꥉꥂꥎ Russian (русский) Здра́вствуйте! Sharada (𑆯𑆳𑆫𑆢𑆳) 𑆤𑆩𑆱𑇀𑆑𑆳𑆫 Siddham (𑖭𑖰𑖟𑖿𑖠𑖽) 𑖡𑖦𑖫𑖿𑖝𑖸 diff --git a/etc/NEWS b/etc/NEWS index 5987acdac95..1d37bb84c65 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -837,6 +837,7 @@ corresponding language environments are: **** Javanese script and language environment **** Sundanese script and language environment **** Batak script and language environment +**** Rejang 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 bf4b9b578e4..0c008f90b70 100644 --- a/lisp/international/fontset.el +++ b/lisp/international/fontset.el @@ -205,6 +205,7 @@ (han #x5B57) (yi #xA288) (syloti-nagri #xA807 #xA823 #xA82C) + (rejang #xA930 #xA947 #xA95F) (javanese #xA98F #xA9B4 #xA9CA) (cham #xAA00) (tai-viet #xAA80) @@ -768,6 +769,7 @@ braille yi syloti-nagri + rejang javanese tai-viet aegean-number diff --git a/lisp/language/indonesian.el b/lisp/language/indonesian.el index c65c1cd5d0c..efc7b739047 100644 --- a/lisp/language/indonesian.el +++ b/lisp/language/indonesian.el @@ -64,6 +64,15 @@ Sundanese language and its script are supported in this language environment.")) Languages that use the Batak script, such as Karo, Toba, Pakpak, Mandailing and Simalungun, are supported in this language environment."))) +(set-language-info-alist + "Rejang" '((charset unicode) + (coding-system utf-8) + (coding-priority utf-8) + (input-method . "rejang") + (sample-text . "Rejang (ꥆꤰ꥓ꤼꤽ ꤽꥍꤺꥏ) ꤸꥉꥐꤺꥉꥂꥎ") + (documentation . "\ +Rejang language and its script are supported in this language environment."))) + ;; Balinese composition rules (let ((consonant "[\x1B13-\x1B33\x1B45-\x1B4B]") (independent-vowel "[\x1B05-\x1B12]") @@ -143,5 +152,18 @@ and Simalungun, are supported in this language environment."))) "?" dependant-consonant "?") 1 'font-shape-gstring)))) +;; Rejang composition rules +(let ((akshara "[\xA930-\xA946]") + (vowel "[\xA947-\xA94E]") + (dependant-consonant "[\xA94F\xA952]") + (virama "\xA953")) + (set-char-table-range composition-function-table + '(#xA947 . #xA953) + (list (vector + ;; Akshara based syllables + (concat akshara virama "?" vowel "*" + dependant-consonant "?") + 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 fd232c4f715..206bcfc5fe3 100644 --- a/lisp/leim/quail/indonesian.el +++ b/lisp/leim/quail/indonesian.el @@ -443,5 +443,48 @@ ("M" ?ᯕ) ("`m" ?ᯣ)) +(quail-define-package + "rejang" "Rejang" "ꤽꥍ" nil "Rejang phonetic input method." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?꥟) + ("w" ?ꥀ) + ("e" ?ꥉ) + ("E" ?ꥊ) + ("r" ?ꤽ) + ("R" ?ꥑ) + ("t" ?ꤳ) + ("y" ?ꤿ) + ("u" ?ꥈ) + ("U" ?ꥍ) + ("i" ?ꥇ) + ("o" ?ꥋ) + ("O" ?ꥌ) + ("p" ?ꤶ) + ("a" ?ꥆ) + ("A" ?ꥎ) + ("s" ?ꤼ) + ("d" ?ꤴ) + ("D" ?ꥄ) + ("f" ?꥓) + ("F" ?ꥃ) + ("g" ?ꤱ) + ("h" ?ꥁ) + ("H" ?ꥒ) + ("j" ?ꤺ) + ("k" ?ꤰ) + ("l" ?ꤾ) + ("z" ?ꤲ) + ("Z" ?ꥏ) + ("x" ?ꤻ) + ("X" ?ꥅ) + ("c" ?ꤹ) + ("b" ?ꤷ) + ("n" ?ꤵ) + ("N" ?ꥐ) + ("m" ?ꤸ) + ("M" ?ꥂ)) + (provide 'indonesian) ;;; indonesian.el ends here -- 2.39.2