summaryrefslogtreecommitdiff
path: root/lisp/language/indonesian.el
diff options
context:
space:
mode:
authorसमीर सिंह Sameer Singh <lumarzeli30@gmail.com>2022-05-26 18:35:00 +0530
committerEli Zaretskii <eliz@gnu.org>2022-05-28 13:12:12 +0300
commitfb6484e3d02c6583ed287acee3f4b8b7ae2061eb (patch)
tree5572651d9d5c2861a3cf7fd8ba896e9e1dd14739 /lisp/language/indonesian.el
parent6f1d5e59f3649de11555e57e9f629ee9e5b01b1a (diff)
downloademacs-fb6484e3d02c6583ed287acee3f4b8b7ae2061eb.tar.gz
emacs-fb6484e3d02c6583ed287acee3f4b8b7ae2061eb.tar.bz2
emacs-fb6484e3d02c6583ed287acee3f4b8b7ae2061eb.zip
Add support for the Sundanese script (bug#55686)
* lisp/language/indonesian.el ("Sundanese"): New language environment. Add composition rules for Sundanese. Add sample text and input method. Improve composition rules for Balinese and Javanese. * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Support Sundanese. * lisp/leim/quail/indonesian.el ("sundanese"): New input method. * etc/HELLO: Add a Sundanese greeting. * etc/NEWS: Announce the new language environment and its input method.
Diffstat (limited to 'lisp/language/indonesian.el')
-rw-r--r--lisp/language/indonesian.el33
1 files changed, 31 insertions, 2 deletions
diff --git a/lisp/language/indonesian.el b/lisp/language/indonesian.el
index 994be2484a7..4bdcd0a49c7 100644
--- a/lisp/language/indonesian.el
+++ b/lisp/language/indonesian.el
@@ -45,6 +45,14 @@ Balinese language and its script are supported in this language environment.")))
(documentation . "\
Javanese language and its script are supported in this language environment.")))
+(set-language-info-alist
+ "Sundanese" '((charset unicode)
+ (coding-system utf-8)
+ (coding-priority utf-8)
+ (input-method . "sundanese")
+ (sample-text . "Sundanese (ᮃᮊ᮪ᮞᮛᮞᮥᮔ᮪ᮓ) ᮞᮙ᮪ᮕᮥᮛᮞᮥᮔ᮪")
+ (documentation . "\
+Sundanese language and its script are supported in this language environment.")))
;; Balinese composition rules
(let ((consonant "[\x1B13-\x1B33\x1B45-\x1B4B]")
@@ -58,7 +66,7 @@ Javanese language and its script are supported in this language environment.")))
'(#x1B34 . #x1B44)
(list (vector
;; Consonant based syllables
- (concat consonant rerekan "?" "\\(?:" adeg-adeg consonant
+ (concat consonant rerekan "?\\(?:" adeg-adeg consonant
rerekan "?\\)*\\(?:" adeg-adeg "\\|" vowel "*" rerekan
"?" modifier-above "?" musical-symbol "?\\)")
1 'font-shape-gstring)
@@ -80,7 +88,7 @@ Javanese language and its script are supported in this language environment.")))
'(#xA9B3 . #xA9C0)
(list (vector
;; Consonant based syllables
- (concat consonant telu "?" "\\(?:" pangkon consonant
+ (concat consonant telu "?\\(?:" pangkon consonant
telu "?\\)*\\(?:" pangkon "\\|" vowel "*" telu
"?" modifier-above "?" dependant-consonant "?\\)")
1 'font-shape-gstring)
@@ -90,5 +98,26 @@ Javanese language and its script are supported in this language environment.")))
vowel "?" modifier-above "?" dependant-consonant "?")
1 'font-shape-gstring))))
+;; Sundanese composition rules
+(let ((consonant "[\x1B8A-\x1BA0\x1BAE\x1BAF\x1BBB-\x1BBF]")
+ (independent-vowel "[\x1B83-\x1B89]")
+ (vowel "[\x1BA4-\x1BA9]")
+ (dependant-consonant "[\x1BA1-\x1BA3\x1BAC-\x1BAD]")
+ (modifier-above "[\x1B80-\x1B82]")
+ (virama "[\x1BAA\x1BAB]"))
+ (set-char-table-range composition-function-table
+ '(#x1BA1 . #x1BAD)
+ (list (vector
+ ;; Consonant based syllables
+ (concat consonant "\\(?:" virama consonant
+ "\\)*\\(?:" virama "\\|" vowel "*"
+ modifier-above "?" dependant-consonant "?\\)")
+ 1 'font-shape-gstring)
+ (vector
+ ;; Vowels based syllables
+ (concat independent-vowel virama "?"
+ vowel "?" modifier-above "?" dependant-consonant "?")
+ 1 'font-shape-gstring))))
+
(provide 'indonesian)
;;; indonesian.el ends here