]> git.eshelyaron.com Git - emacs.git/commitdiff
Add support for the Batak script (bug #55694)
authorसमीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Sun, 29 May 2022 13:25:58 +0000 (18:55 +0530)
committerEli Zaretskii <eliz@gnu.org>
Sun, 29 May 2022 16:27:35 +0000 (19:27 +0300)
* 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.

etc/HELLO
etc/NEWS
lisp/international/fontset.el
lisp/language/indonesian.el
lisp/leim/quail/indonesian.el

index 4ff066847d4f88e444eb24fd54ecc7c9a795bc13..c89f8943c71bb0e4d0b6f3f2707dfff535539261 100644 (file)
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -28,6 +28,7 @@ Amharic (አማርኛ)        ሠላም
 Arabic (العربيّة)      السّلام عليكم
 Armenian (հայերեն)      Բարև ձեզ
 Balinese (ᬅᬓ᭄ᬱᬭᬩᬮᬶ)    ᬒᬁᬲ᭄ᬯᬲ᭄ᬢ᭄ᬬᬲ᭄ᬢᬸ
+Batak (ᯘᯮᯒᯗ᯲ᯅᯗᯂ᯲)    ᯂᯬᯒᯘ᯲
 Belarusian (беларуская)      Прывітанне
 Bengali (বাংলা)      নমস্কার
 Brahmi (𑀩𑁆𑀭𑀸𑀳𑁆𑀫𑀻)      𑀦𑀫𑀲𑁆𑀢𑁂
index d8d22449f77a163f743d9416b89675e4dbd26e7f..5987acdac95ae30f997d173fdaf8e3a0e980c9c0 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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".
index 00ee0cf475591ca8e5a4ae95f72e734a8b8451b7..bf4b9b578e4612f5d55ecd357614bacf6c77750f 100644 (file)
         (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)
                     limbu
                     balinese
                     sundanese
+                    batak
                    symbol
                    braille
                    yi
index 4bdcd0a49c7943d32a4622a43ad4c5f8c2c85be3..319ec4815811e70b584d09e500043d76e99d0774 100644 (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
index 3a0654db903dad6a478dbc8dca6b0037a1cecf80..fd232c4f715dafaf0b6a6e4b6a7e42650a5f917f 100644 (file)
@@ -32,7 +32,7 @@
 ;; Javanese.
 
 (quail-define-package
- "balinese" "Balinese" "á¬\85" 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)
  ("`M" ?ᬀ))
 
 (quail-define-package
- "javanese" "Javanese" "ê¦\84" t "Javanese phonetic input method.
+ "javanese" "Javanese" "ê¦\97" 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)
  ("`m" ?ꦀ))
 
 (quail-define-package
- "sundanese" "Sundanese" "á®\83" t "Sundanese phonetic input method.
+ "sundanese" "Sundanese" "á®\9eᮥ" 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)
  ("`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