unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#55694: [PATCH] Add support for the Batak scripts
@ 2022-05-29  0:51 समीर सिंह Sameer Singh
  2022-05-29  7:13 ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-05-29  0:51 UTC (permalink / raw)
  To: 55694


[-- Attachment #1.1: Type: text/plain, Size: 278 bytes --]

This time the Batak scripts are added to Emacs.
Since the Batak scripts are actually a collection of five scripts:
Toba, Karo, Pakpak, Mandailing, and Simalungun.
I have provided 5 different language environments and input-methods for
them.

Please review the patch.
Thank you.

[-- Attachment #1.2: Type: text/html, Size: 379 bytes --]

[-- Attachment #2: 0001-Add-support-for-the-Batak-scripts.patch --]
[-- Type: text/x-patch, Size: 9966 bytes --]

From 6ed29ccbfd4e66c5126b8bfe1f12666e030d1629 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=20=E0=A4=B8=E0=A4=BF?=
 =?UTF-8?q?=E0=A4=82=E0=A4=B9=20Sameer=20Singh?= <lumarzeli30@gmail.com>
Date: Sat, 28 May 2022 06:46:55 +0530
Subject: [PATCH] Add support for the Batak scripts

* lisp/language/indonesian.el ("Batak Karo")
("Batak Toba") ("Batak Pakpak") ("Batak Mandailing")
("Batak Simalungun"): New language environments.
Add composition rules for Batak.  Add sample texts and input
methods.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Batak.
* lisp/leim/quail/indonesian.el ("batak-karo")
("batak-toba") ("batak-pakpak") ("batak-mandailing")
("batak-simalungun") : New input methods.

* etc/HELLO: Add a Batak greeting.
* etc/NEWS: Announce the new language environments and their
input methods.
---
 etc/HELLO                     |   1 +
 etc/NEWS                      |   5 +
 lisp/international/fontset.el |   2 +
 lisp/language/indonesian.el   |  59 ++++++++++
 lisp/leim/quail/indonesian.el | 199 ++++++++++++++++++++++++++++++++++
 5 files changed, 266 insertions(+)

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 97a04405f5..601f103b40 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -826,6 +826,11 @@ corresponding language environments are:
 **** Balinese script and language environment
 **** Javanese script and language environment
 **** Sundanese script and language environment
+**** Batak Karo script and language environment
+**** Batak Toba script and language environment
+**** Batak Pakpak script and language environment
+**** Batak Mandailing script and language environment
+**** Batak Simalungun 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 @@ font-encoding-charset-alist
         (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 @@ setup-default-fontset
                     limbu
                     balinese
                     sundanese
+                    batak
 		    symbol
 		    braille
 		    yi
diff --git a/lisp/language/indonesian.el b/lisp/language/indonesian.el
index 4bdcd0a49c..aad8c534cb 100644
--- a/lisp/language/indonesian.el
+++ b/lisp/language/indonesian.el
@@ -54,6 +54,51 @@
               (documentation . "\
 Sundanese language and its script are supported in this language environment.")))
 
+(set-language-info-alist
+ "Batak Karo" '((charset unicode)
+                (coding-system utf-8)
+                (coding-priority utf-8)
+                (input-method . "batak-karo")
+                (sample-text . "Batak Karo (ᯘᯬᯒᯗ᯳ᯆᯗᯂ᯳)    ᯔᯧᯐᯬᯀᯱᯐᯬᯀᯱ")
+                (documentation . "\
+Batak Karo language and its script are supported in this language environment.")))
+
+(set-language-info-alist
+ "Batak Toba" '((charset unicode)
+                (coding-system utf-8)
+                (coding-priority utf-8)
+                (input-method . "batak-toba")
+                (sample-text . "Batak Toba (ᯘᯮᯮᯒᯖ᯲ᯅᯖᯂ᯲)    ᯂᯬᯒᯘ᯲")
+                (documentation . "\
+Batak Toba language and its script are supported in this language environment.")))
+
+(set-language-info-alist
+ "Batak Pakpak" '((charset unicode)
+                  (coding-system utf-8)
+                  (coding-priority utf-8)
+                  (input-method . "batak-pakpak")
+                  (sample-text . "Batak Pakpak (ᯘᯮᯒᯗ᯲ᯅᯗᯂ᯲)    ᯂᯬᯒᯘ᯲")
+                  (documentation . "\
+Batak Pakpak language and its script are supported in this language environment.")))
+
+(set-language-info-alist
+ "Batak Mandailing" '((charset unicode)
+                      (coding-system utf-8)
+                      (coding-priority utf-8)
+                      (input-method . "batak-mandailing")
+                      (sample-text . "Batak Mandailing (ᯚᯮᯒᯖ᯲ᯅᯖᯄᯱ᯲)    ᯄᯬᯒᯚ᯲")
+                      (documentation . "\
+Batak Mandailing language and its script are supported in this language environment.")))
+
+(set-language-info-alist
+ "Batak Simalungun" '((charset unicode)
+                      (coding-system utf-8)
+                      (coding-priority utf-8)
+                      (input-method . "batak-simalungun")
+                      (sample-text . "Batak Simalungun (ᯙᯮᯮᯓᯖ᯳ᯅᯖᯃ᯳)    ᯃᯬᯓᯙ᯲")
+                      (documentation . "\
+Batak Simalungun language and its script are supported in this language environment.")))
+
 ;; Balinese composition rules
 (let ((consonant            "[\x1B13-\x1B33\x1B45-\x1B4B]")
       (independent-vowel    "[\x1B05-\x1B12]")
@@ -119,5 +164,19 @@
                                        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 dd931e9879..3033a48e4f 100644
--- a/lisp/leim/quail/indonesian.el
+++ b/lisp/leim/quail/indonesian.el
@@ -377,5 +377,204 @@
  ("`m" ?ᮿ)
  ("`M" ?ᮬ))
 
+(quail-define-package
+ "batak-karo" "Batak Karo" "ᯂᯒᯭ" nil "Batak Karo phonetic input method."
+ nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("q" ?᯼)
+ ("Q" ?᯽)
+ ("w" ?ᯋ)
+ ("e" ?ᯧ)
+ ("E" ?ᯩ)
+ ("r" ?ᯒ)
+ ("t" ?ᯗ)
+ ("y" ?ᯛ)
+ ("u" ?ᯮ)
+ ("U" ?ᯥ)
+ ("i" ?ᯫ)
+ ("I" ?ᯤ)
+ ("o" ?ᯭ)
+ ("p" ?ᯇ)
+ ("a" ?ᯀ)
+ ("s" ?ᯘ)
+ ("d" ?ᯑ)
+ ("f" ?᯲)
+ ("F" ?᯳)
+ ("g" ?ᯎ)
+ ("h" ?ᯱ)
+ ("j" ?ᯐ)
+ ("k" ?ᯂ)
+ ("l" ?ᯞ)
+ ("z" ?ᯝ)
+ ("Z" ?ᯰ)
+ ("c" ?ᯠ)
+ ("C" ?ᯡ)
+ ("v" ?᯾)
+ ("V" ?᯿)
+ ("b" ?ᯆ)
+ ("n" ?ᯉ)
+ ("N" ?ᯢ)
+ ("m" ?ᯔ)
+ ("M" ?ᯣ))
+
+(quail-define-package
+ "batak-mandailing" "Batak Mandailing" "ᯔᯊᯑᯤᯞᯪᯰ" nil "Batak Mandailing phonetic input method."
+ nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("q" ?᯼)
+ ("Q" ?᯽)
+ ("w" ?ᯋ)
+ ("e" ?ᯧ)
+ ("E" ?ᯩ)
+ ("r" ?ᯒ)
+ ("t" ?ᯖ)
+ ("y" ?ᯛ)
+ ("u" ?ᯮ)
+ ("U" ?ᯥ)
+ ("i" ?ᯪ)
+ ("I" ?ᯤ)
+ ("o" ?ᯬ)
+ ("p" ?ᯇ)
+ ("a" ?ᯀ)
+ ("s" ?ᯚ)
+ ("d" ?ᯑ)
+ ("f" ?᯲)
+ ("F" ?᯳)
+ ("g" ?ᯎ)
+ ("h" ?ᯄ)
+ ("H" ?ᯱ)
+ ("j" ?ᯐ)
+ ("l" ?ᯞ)
+ ("z" ?ᯝ)
+ ("Z" ?ᯰ)
+ ("x" ?᯦)
+ ("v" ?᯾)
+ ("V" ?᯿)
+ ("b" ?ᯅ)
+ ("n" ?ᯊ)
+ ("N" ?ᯠ)
+ ("m" ?ᯔ))
+
+(quail-define-package
+ "batak-pakpak" "Batak Pakpak" "ᯇᯂ᯲ᯇᯂ᯲" nil "Batak Pakpak phonetic input method."
+ nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("q" ?᯼)
+ ("Q" ?᯽)
+ ("w" ?ᯍ)
+ ("e" ?ᯨ)
+ ("E" ?ᯩ)
+ ("r" ?ᯒ)
+ ("t" ?ᯗ)
+ ("y" ?ᯛ)
+ ("u" ?ᯮ)
+ ("U" ?ᯥ)
+ ("i" ?ᯪ)
+ ("I" ?ᯤ)
+ ("o" ?ᯬ)
+ ("p" ?ᯇ)
+ ("a" ?ᯀ)
+ ("s" ?ᯘ)
+ ("d" ?ᯑ)
+ ("f" ?᯲)
+ ("F" ?᯳)
+ ("g" ?ᯎ)
+ ("h" ?ᯱ)
+ ("j" ?ᯐ)
+ ("k" ?ᯂ)
+ ("l" ?ᯞ)
+ ("z" ?ᯝ)
+ ("Z" ?ᯰ)
+ ("c" ?ᯡ)
+ ("b" ?ᯅ)
+ ("v" ?᯾)
+ ("V" ?᯿)
+ ("n" ?ᯉ)
+ ("N" ?ᯠ)
+ ("m" ?ᯔ))
+
+(quail-define-package
+ "batak-toba" "Batak Toba" "ᯖᯬᯅ" nil "Batak Toba phonetic input method."
+ nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("q" ?᯼)
+ ("Q" ?᯽)
+ ("w" ?ᯋ)
+ ("W" ?ᯍ)
+ ("e" ?ᯧ)
+ ("E" ?ᯩ)
+ ("r" ?ᯒ)
+ ("t" ?ᯖ)
+ ("T" ?ᯗ)
+ ("y" ?ᯛ)
+ ("u" ?ᯮ)
+ ("U" ?ᯥ)
+ ("i" ?ᯪ)
+ ("I" ?ᯤ)
+ ("o" ?ᯬ)
+ ("p" ?ᯇ)
+ ("a" ?ᯀ)
+ ("s" ?ᯘ)
+ ("d" ?ᯑ)
+ ("f" ?᯲)
+ ("F" ?᯳)
+ ("g" ?ᯎ)
+ ("h" ?ᯂ)
+ ("j" ?ᯐ)
+ ("l" ?ᯞ)
+ ("z" ?ᯝ)
+ ("Z" ?ᯰ)
+ ("c" ?ᯡ)
+ ("v" ?᯾)
+ ("V" ?᯿)
+ ("b" ?ᯅ)
+ ("n" ?ᯉ)
+ ("N" ?ᯠ)
+ ("m" ?ᯔ))
+
+(quail-define-package
+ "batak-simalungun" "Batak Simalungun" "ᯙᯫᯕᯟᯮᯝᯮᯉ᯳" nil "Batak Simalungun phonetic input method."
+ nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("q" ?᯼)
+ ("Q" ?᯽)
+ ("w" ?ᯌ)
+ ("e" ?ᯧ)
+ ("E" ?ᯩ)
+ ("r" ?ᯓ)
+ ("t" ?ᯖ)
+ ("y" ?ᯜ)
+ ("u" ?ᯮ)
+ ("U" ?ᯥ)
+ ("i" ?ᯪ)
+ ("I" ?ᯤ)
+ ("o" ?ᯬ)
+ ("p" ?ᯈ)
+ ("a" ?ᯁ)
+ ("s" ?ᯙ)
+ ("S" ?ᯯ)
+ ("d" ?ᯑ)
+ ("f" ?᯲)
+ ("F" ?᯳)
+ ("g" ?ᯏ)
+ ("h" ?ᯃ)
+ ("H" ?ᯱ)
+ ("j" ?ᯐ)
+ ("l" ?ᯟ)
+ ("z" ?ᯝ)
+ ("Z" ?ᯰ)
+ ("c" ?ᯡ)
+ ("v" ?᯾)
+ ("V" ?᯿)
+ ("b" ?ᯅ)
+ ("n" ?ᯉ)
+ ("N" ?ᯠ)
+ ("m" ?ᯕ))
+
 (provide 'indonesian)
 ;;; indonesian.el ends here
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-05-29 17:13 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-29  0:51 bug#55694: [PATCH] Add support for the Batak scripts समीर सिंह Sameer Singh
2022-05-29  7:13 ` Eli Zaretskii
2022-05-29 11:44   ` समीर सिंह Sameer Singh
2022-05-29 12:07     ` Eli Zaretskii
2022-05-29 12:33       ` समीर सिंह Sameer Singh
2022-05-29 12:58         ` Eli Zaretskii
2022-05-29 13:34           ` समीर सिंह Sameer Singh
2022-05-29 16:37             ` Eli Zaretskii
2022-05-29 16:43               ` समीर सिंह Sameer Singh
2022-05-29 17:13                 ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).