emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 230ed406aa 1/2: Add support for the Batak script (bug #55694)


From: Eli Zaretskii
Subject: master 230ed406aa 1/2: Add support for the Batak script (bug #55694)
Date: Sun, 29 May 2022 12:35:57 -0400 (EDT)

branch: master
commit 230ed406aae59b4cebb024f6020241422a29e240
Author: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Commit: Eli Zaretskii <eliz@gnu.org>

    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.
---
 etc/HELLO                     |  1 +
 etc/NEWS                      |  1 +
 lisp/international/fontset.el |  2 ++
 lisp/language/indonesian.el   | 24 +++++++++++++++
 lisp/leim/quail/indonesian.el | 72 +++++++++++++++++++++++++++++++++++++++++--
 5 files changed, 97 insertions(+), 3 deletions(-)

diff --git a/etc/HELLO b/etc/HELLO
index 4ff066847d..c89f8943c7 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -28,6 +28,7 @@ Amharic (አማርኛ)        ሠላም
 Arabic (العربيّة)      السّلام عليكم
 Armenian (հայերեն)     Բարև ձեզ
 Balinese (ᬅᬓ᭄ᬱᬭᬩᬮᬶ)    ᬒᬁᬲ᭄ᬯᬲ᭄ᬢ᭄ᬬᬲ᭄ᬢᬸ
+Batak (ᯘᯮᯒᯗ᯲ᯅᯗᯂ᯲)      ᯂᯬᯒᯘ᯲
 Belarusian (беларуская)        Прывітанне
 Bengali (বাংলা)        নমস্কার
 Brahmi (𑀩𑁆𑀭𑀸𑀳𑁆𑀫𑀻)      𑀦𑀫𑀲𑁆𑀢𑁂
diff --git a/etc/NEWS b/etc/NEWS
index d8d22449f7..5987acdac9 100644
--- 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".
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 00ee0cf475..bf4b9b578e 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -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
diff --git a/lisp/language/indonesian.el b/lisp/language/indonesian.el
index 4bdcd0a49c..319ec48158 100644
--- a/lisp/language/indonesian.el
+++ b/lisp/language/indonesian.el
@@ -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
diff --git a/lisp/leim/quail/indonesian.el b/lisp/leim/quail/indonesian.el
index 3a0654db90..fd232c4f71 100644
--- a/lisp/leim/quail/indonesian.el
+++ b/lisp/leim/quail/indonesian.el
@@ -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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]