Add support for the Javanese script (bug#55667)

* lisp/language/indonesian.el ("Javanese"): New language environment.
Add composition rules for Javanese.  Add sample text and input
method.
* lisp/international/fontset.el (script-representative-chars):
Support Javanese.
* lisp/leim/quail/indonesian.el ("javanese"): New input method.

* etc/NEWS: Announce the new language environment and its
input method.
This commit is contained in:
समीर सिंह Sameer Singh 2022-05-26 11:36:15 +05:30 committed by Eli Zaretskii
parent 7da754015f
commit 77bfc5ed7a
4 changed files with 145 additions and 1 deletions

View file

@ -824,6 +824,7 @@ corresponding language environments are:
**** Tagbanwa script and language environment
**** Limbu script and language environment
**** Balinese script and language environment
**** Javanese script and language environment
---
*** The "Oriya" language environment was renamed to "Odia".

View file

@ -203,7 +203,7 @@
(han #x5B57)
(yi #xA288)
(syloti-nagri #xA807 #xA823 #xA82C)
(javanese #xA980)
(javanese #xA98F #xA9B4 #xA9CA)
(cham #xAA00)
(tai-viet #xAA80)
(hangul #xAC00)

View file

@ -36,6 +36,15 @@
(documentation . "\
Balinese language and its script are supported in this language environment.")))
(set-language-info-alist
"Javanese" '((charset unicode)
(coding-system utf-8)
(coding-priority utf-8)
(input-method . "javanese")
(sample-text . "Javanese (ꦲꦏ꧀ꦱꦫꦗꦮ) ꦲꦭꦺꦴ")
(documentation . "\
Javanese language and its script are supported in this language environment.")))
;; Balinese composition rules
(let ((consonant "[\x1B13-\x1B33\x1B45-\x1B4B]")
@ -59,6 +68,27 @@ Balinese language and its script are supported in this language environment.")))
vowel "?" modifier-above "?" musical-symbol "?")
1 'font-shape-gstring))))
;; Javanese composition rules
(let ((consonant "[\xA98F-\xA9B2]")
(independent-vowel "[\xA984-\xA98E]")
(telu "\xA9B3")
(vowel "[\xA9B4-\xA9BC]")
(dependant-consonant "[\xA9BD-\xA9BF]")
(modifier-above "[\xA980-\xA983]")
(pangkon "\xA9C0"))
(set-char-table-range composition-function-table
'(#xA9B3 . #xA9C0)
(list (vector
;; Consonant based syllables
(concat consonant telu "?" "\\(?:" pangkon consonant
telu "?\\)*\\(?:" pangkon "\\|" vowel "*" telu
"?" modifier-above "?" dependant-consonant "?\\)")
1 'font-shape-gstring)
(vector
;; Vowels based syllables
(concat independent-vowel telu "?" pangkon "?"
vowel "?" modifier-above "?" dependant-consonant "?")
1 'font-shape-gstring))))
(provide 'indonesian)
;;; indonesian.el ends here

View file

@ -173,5 +173,118 @@
("`m" ?ᬁ)
("`M" ?ᬀ))
(quail-define-package
"javanese" "Javanese" "" t "Javanese 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" ?ꦜ)
("`q" ?꧟)
("`Q" ?ꧏ)
("w" ?ꦝ)
("W" ?ꦞ)
("`w" ?꧌)
("`W" ?꧍)
("e" ?ꦺ)
("E" ?ꦻ)
("`e" ?ꦌ)
("`E" ?ꦍ)
("r" ?ꦫ)
("R" ?ꦬ)
("`r" ?ꦿ)
("`R" ?ꦂ)
("t" ?ꦠ)
("T" ?ꦡ)
("`t" ?ꦼ)
("y" ?ꦪ)
("Y" ?ꦾ)
("u" ?ꦸ)
("U" ?ꦹ)
("`u" ?ꦈ)
("`U" ?ꦅ)
("i" ?ꦶ)
("I" ?ꦷ)
("`i" ?ꦆ)
("`I" ?ꦇ)
("o" ?ꦎ)
("p" ?ꦥ)
("P" ?ꦦ)
("`p" ?ꦉ)
("a" ?ꦴ)
("A" ?ꦄ)
("`a" ?ꦵ)
("s" ?ꦱ)
("S" ?ꦯ)
("d" ?ꦢ)
("D" ?ꦣ)
("f" ?꧀)
("F" ?ꦽ)
("`f" ?ꦉ)
("g" ?ꦒ)
("G" ?ꦓ)
("h" ?ꦲ)
("H" ?ꦃ)
("j" ?ꦗ)
("J" ?ꦙ)
("`j" ?ꦘ)
("k" ?ꦏ)
("K" ?ꦑ)
("`k" ?ꦐ)
("l" ?ꦭ)
("L" ?ꦊ)
("`l" ?ꦋ)
("z" ?ꦚ)
("Z" ?ꦔ)
("x" ?ꦰ)
("X" ?꦳)
("c" ?ꦕ)
("C" ?ꦖ)
("`c" #x200C) ; ZWNJ
("v" ?ꦮ)
("V" ?ᭉ)
("b" ?ꦧ)
("B" ?ꦨ)
("n" ?ꦤ)
("N" ?ꦟ)
("m" ?ꦩ)
("M" ?ꦁ)
("`m" ?ꦀ))
(provide 'indonesian)
;;; indonesian.el ends here