Add support for the Batak script (bug #55694)

* lisp/language/indonesian.el ("Batak"): New language environment.
Add composition rules for Batak.  Add sample text and input
method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Batak.
* lisp/leim/quail/indonesian.el ("batak"): New input method.
Rename TITLE of balinese, javanese and sundanese in
("quail-define-package").

* etc/HELLO: Add a Batak greeting.
* etc/NEWS: Announce the new language environment and its
input method.
This commit is contained in:
समीर सिंह Sameer Singh 2022-05-29 18:55:58 +05:30 committed by Eli Zaretskii
parent e06d600b49
commit 230ed406aa
5 changed files with 97 additions and 3 deletions

View file

@ -28,6 +28,7 @@ Amharic (አማርኛ) ሠላም
Arabic (العربيّة) السّلام عليكم
Armenian (հայերեն) Բարև ձեզ
Balinese (ᬅᬓ᭄ᬱᬭᬩᬮᬶ) ᬒᬁᬲ᭄ᬯᬲ᭄ᬢ᭄ᬬᬲ᭄ᬢᬸ
Batak (ᯘᯮᯒᯗ᯲ᯅᯗᯂ᯲) ᯂᯬᯒᯘ᯲
Belarusian (беларуская) Прывітанне
Bengali (বাংলা) নমস্কার
Brahmi (𑀩𑁆𑀭𑀸𑀳𑁆𑀫𑀻) 𑀦𑀫𑀲𑁆𑀢𑁂

View file

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

View file

@ -191,6 +191,7 @@
(limbu #x1901 #x1920 #x1936)
(balinese #x1B13 #x1B35 #x1B5E)
(sundanese #x1B8A #x1BAB #x1CC4)
(batak #x1BC2 #x1BE7 #x1BFF)
(tai-le #x1950)
(tai-lue #x1980)
(tai-tham #x1A20 #x1A55 #x1A61 #x1A80)
@ -762,6 +763,7 @@
limbu
balinese
sundanese
batak
symbol
braille
yi

View file

@ -54,6 +54,16 @@ Javanese language and its script are supported in this language environment.")))
(documentation . "\
Sundanese language and its script are supported in this language environment.")))
(set-language-info-alist
"Batak" '((charset unicode)
(coding-system utf-8)
(coding-priority utf-8)
(input-method . "batak")
(sample-text . "Batak (ᯘᯮᯒᯗ᯲ᯅᯗᯂ᯲) ᯂᯬᯒᯘ᯲")
(documentation . "\
Such languages using the Batak script such as Karo, Toba, Pakpak, Mandailing
and Simalungun are supported in this language environment.")))
;; Balinese composition rules
(let ((consonant "[\x1B13-\x1B33\x1B45-\x1B4B]")
(independent-vowel "[\x1B05-\x1B12]")
@ -119,5 +129,19 @@ Sundanese language and its script are supported in this language environment."))
vowel "?" modifier-above "?" dependant-consonant "?")
1 'font-shape-gstring))))
;; Batak composition rules
(let ((akshara "[\x1BC0-\x1BE5]")
(vowel "[\x1BE7-\x1BEF]")
(dependant-consonant "[\x1BF0\x1BF1]")
(modifier-above "\x1BE6")
(virama "[\x1BF2\x1BF3]"))
(set-char-table-range composition-function-table
'(#x1BE6 . #x1BF3)
(list (vector
;; Akshara based syllables
(concat akshara virama "?" vowel "*" modifier-above
"?" dependant-consonant "?")
1 'font-shape-gstring))))
(provide 'indonesian)
;;; indonesian.el ends here

View file

@ -32,7 +32,7 @@
;; Javanese.
(quail-define-package
"balinese" "Balinese" "" t "Balinese phonetic input method.
"balinese" "Balinese" "" t "Balinese phonetic input method.
`\\=`' is used to switch levels instead of Alt-Gr.
" nil t t t t nil nil nil nil nil t)
@ -174,7 +174,7 @@
("`M" ?ᬀ))
(quail-define-package
"javanese" "Javanese" "" t "Javanese phonetic input method.
"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)
@ -287,7 +287,7 @@
("`m" ?ꦀ))
(quail-define-package
"sundanese" "Sundanese" "" t "Sundanese phonetic input method.
"sundanese" "Sundanese" "ᮞᮥ" t "Sundanese phonetic input method.
`\\=`' is used to switch levels instead of Alt-Gr.
" nil t t t t nil nil nil nil nil t)
@ -377,5 +377,71 @@
("`m" ?ᮿ)
("`M" ?ᮬ))
(quail-define-package
"batak" "Batak" "" t "Batak phonetic input method,
used by languages such as Karo, Toba, Pakpak, Mandailing
and Simalungun.
`\\=`' is used to switch levels instead of Alt-Gr.
" nil t t t t nil nil nil nil nil t)
(quail-define-rules
("q" ?᯼)
("Q" ?᯽)
("w" ?ᯋ)
("W" ?ᯌ)
("`w" ?ᯍ)
("e" ?ᯧ)
("E" ?ᯨ)
("`e" ?ᯩ)
("r" ?ᯒ)
("R" ?ᯓ)
("t" ?ᯖ)
("T" ?ᯗ)
("y" ?ᯛ)
("Y" ?ᯜ)
("u" ?ᯮ)
("U" ?ᯥ)
("`u" ?ᯯ)
("i" ?ᯪ)
("I" ?ᯫ)
("`i" ?ᯤ)
("o" ?ᯬ)
("O" ?ᯭ)
("p" ?ᯇ)
("P" ?ᯈ)
("a" ?ᯀ)
("A" ?ᯁ)
("s" ?ᯘ)
("S" ?ᯙ)
("`s" ?ᯚ)
("d" ?ᯑ)
("f" ?᯲)
("F" ?᯳)
("g" ?ᯎ)
("G" ?ᯏ)
("h" ?ᯂ)
("H" ?ᯃ)
("`h" ?ᯄ)
("`H" ?ᯱ)
("j" ?ᯐ)
("k" ?᯦)
("l" ?ᯞ)
("L" ?ᯟ)
("z" ?ᯝ)
("Z" ?ᯰ)
("x" ?ᯠ)
("c" ?ᯡ)
("v" ?᯾)
("V" ?᯿)
("b" ?ᯅ)
("B" ?ᯆ)
("n" ?ᯉ)
("N" ?ᯊ)
("`n" ?ᯢ)
("m" ?ᯔ)
("M" ?ᯕ)
("`m" ?ᯣ))
(provide 'indonesian)
;;; indonesian.el ends here