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


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

This time the Sundanese script is added to Emacs.

Please review the patch.
Thank You.

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

[-- Attachment #2: 0001-Add-support-for-the-Sundanese-script.patch --]
[-- Type: text/x-patch, Size: 7732 bytes --]

From 01dbb96cc14f8c7a85e6c5339634c917769cc583 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: Thu, 26 May 2022 18:35:00 +0530
Subject: [PATCH] Add support for the Sundanese script

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

* etc/HELLO: Add a Sundanese 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   | 33 ++++++++++++-
 lisp/leim/quail/indonesian.el | 91 +++++++++++++++++++++++++++++++++++
 5 files changed, 126 insertions(+), 2 deletions(-)

diff --git a/etc/HELLO b/etc/HELLO
index 248c02b7ab..4ff066847d 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -89,6 +89,7 @@ Sinhala (සිංහල)	ආයුබෝවන්
 Slovak (slovenčina)	Dobrý deň
 Slovenian (slovenščina)	Pozdravljeni!
 Spanish (español)	¡Hola!
+Sundanese (ᮃᮊ᮪ᮟᮛᮞᮥᮔ᮪ᮓ)	ᮞᮙ᮪ᮕᮥᮛᮞᮥᮔ᮪
 Swedish (svenska)	Hej / Goddag / Hallå
 Syloti Nagri (ꠍꠤꠟꠐꠤ ꠘꠣꠉꠞꠤ)	ꠀꠌ꠆ꠍꠣꠟꠣꠝꠥ ꠀꠟꠣꠁꠇꠥꠝ / ꠘꠝꠡ꠆ꠇꠣꠞ
 Tamil (தமிழ்)	வணக்கம்
diff --git a/etc/NEWS b/etc/NEWS
index c03ec850c6..97a04405f5 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -825,6 +825,7 @@ corresponding language environments are:
 **** Limbu script and language environment
 **** Balinese script and language environment
 **** Javanese script and language environment
+**** Sundanese 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 6b51125629..00ee0cf475 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -190,6 +190,7 @@ font-encoding-charset-alist
 	(mongolian #x1826)
         (limbu #x1901 #x1920 #x1936)
         (balinese #x1B13 #x1B35 #x1B5E)
+        (sundanese #x1B8A #x1BAB #x1CC4)
         (tai-le #x1950)
         (tai-lue #x1980)
         (tai-tham #x1A20 #x1A55 #x1A61 #x1A80)
@@ -760,6 +761,7 @@ setup-default-fontset
                     tagbanwa
                     limbu
                     balinese
+                    sundanese
 		    symbol
 		    braille
 		    yi
diff --git a/lisp/language/indonesian.el b/lisp/language/indonesian.el
index 994be2484a..4bdcd0a49c 100644
--- a/lisp/language/indonesian.el
+++ b/lisp/language/indonesian.el
@@ -45,6 +45,14 @@
               (documentation . "\
 Javanese language and its script are supported in this language environment.")))
 
+(set-language-info-alist
+ "Sundanese" '((charset unicode)
+              (coding-system utf-8)
+              (coding-priority utf-8)
+              (input-method . "sundanese")
+              (sample-text . "Sundanese (ᮃᮊ᮪ᮞᮛᮞᮥᮔ᮪ᮓ)    ᮞᮙ᮪ᮕᮥᮛᮞᮥᮔ᮪")
+              (documentation . "\
+Sundanese language and its script are supported in this language environment.")))
 
 ;; Balinese composition rules
 (let ((consonant            "[\x1B13-\x1B33\x1B45-\x1B4B]")
@@ -58,7 +66,7 @@
                         '(#x1B34 . #x1B44)
                         (list (vector
                                ;; Consonant based syllables
-                               (concat consonant rerekan "?" "\\(?:" adeg-adeg consonant
+                               (concat consonant rerekan "?\\(?:" adeg-adeg consonant
                                        rerekan "?\\)*\\(?:" adeg-adeg "\\|" vowel "*" rerekan
                                        "?" modifier-above "?" musical-symbol "?\\)")
                                1 'font-shape-gstring)
@@ -80,7 +88,7 @@
                         '(#xA9B3 . #xA9C0)
                         (list (vector
                                ;; Consonant based syllables
-                               (concat consonant telu "?" "\\(?:" pangkon consonant
+                               (concat consonant telu "?\\(?:" pangkon consonant
                                        telu "?\\)*\\(?:" pangkon "\\|" vowel "*" telu
                                        "?" modifier-above "?" dependant-consonant "?\\)")
                                1 'font-shape-gstring)
@@ -90,5 +98,26 @@
                                        vowel "?" modifier-above "?" dependant-consonant "?")
                                1 'font-shape-gstring))))
 
+;; Sundanese composition rules
+(let ((consonant            "[\x1B8A-\x1BA0\x1BAE\x1BAF\x1BBB-\x1BBF]")
+      (independent-vowel    "[\x1B83-\x1B89]")
+      (vowel                "[\x1BA4-\x1BA9]")
+      (dependant-consonant  "[\x1BA1-\x1BA3\x1BAC-\x1BAD]")
+      (modifier-above       "[\x1B80-\x1B82]")
+      (virama               "[\x1BAA\x1BAB]"))
+  (set-char-table-range composition-function-table
+                        '(#x1BA1 . #x1BAD)
+                        (list (vector
+                               ;; Consonant based syllables
+                               (concat consonant "\\(?:" virama consonant
+                                       "\\)*\\(?:" virama "\\|" vowel "*"
+                                       modifier-above "?" dependant-consonant "?\\)")
+                               1 'font-shape-gstring)
+                              (vector
+                               ;; Vowels based syllables
+                               (concat independent-vowel 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 82d0a2c269..dd931e9879 100644
--- a/lisp/leim/quail/indonesian.el
+++ b/lisp/leim/quail/indonesian.el
@@ -286,5 +286,96 @@
  ("M"  ?ꦁ)
  ("`m" ?ꦀ))
 
+(quail-define-package
+ "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)
+
+(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"  ?ᮋ)
+ ("w"  ?ᮝ)
+ ("W"  ?ᮭ)
+ ("e"  ?ᮨ)
+ ("E"  ?ᮩ)
+ ("`e" ?ᮈ)
+ ("`E" ?ᮉ)
+ ("r"  ?ᮛ)
+ ("R"  ?ᮢ)
+ ("`r" ?ᮁ)
+ ("`R" ?ᮻ)
+ ("t"  ?ᮒ)
+ ("y"  ?ᮚ)
+ ("Y"  ?ᮡ)
+ ("u"  ?ᮥ)
+ ("U"  ?ᮅ)
+ ("i"  ?ᮤ)
+ ("I"  ?ᮄ)
+ ("o"  ?ᮧ)
+ ("O" ?ᮇ)
+ ("p"  ?ᮕ)
+ ("P"  ?ᮖ)
+ ("a"  ?ᮃ)
+ ("A"  ?ᮦ)
+ ("`a" ?ᮆ)
+ ("s"  ?ᮞ)
+ ("S" ?ᮯ)
+ ("d"  ?ᮓ)
+ ("D"  ?᳆)
+ ("f"  ?᮪)
+ ("F"  ?᮫)
+ ("g"  ?ᮌ)
+ ("h"  ?ᮠ)
+ ("H"  ?ᮂ)
+ ("j"  ?ᮏ)
+ ("k"  ?ᮊ)
+ ("K"  ?ᮮ)
+ ("`k" ?ᮾ)
+ ("`K" ?᳅)
+ ("l"  ?ᮜ)
+ ("L"  ?ᮣ)
+ ("`l" ?ᮼ)
+ ("`L" ?᳄)
+ ("z"  ?ᮐ)
+ ("x"  ?ᮟ)
+ ("c"  ?ᮎ)
+ ("`c" #x200C)  ; ZWNJ
+ ("b"  ?ᮘ)
+ ("B"  ?ᮽ)
+ ("`b" ?ᮺ)
+ ("`B" ?᳇)
+ ("n"  ?ᮔ)
+ ("N"  ?ᮍ)
+ ("`n" ?ᮑ)
+ ("m"  ?ᮙ)
+ ("M"  ?ᮀ)
+ ("`m" ?ᮿ)
+ ("`M" ?ᮬ))
+
 (provide 'indonesian)
 ;;; indonesian.el ends here
-- 
2.36.1


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

* bug#55686: [PATCH] Add support for the Sundanese script
  2022-05-28  0:05 bug#55686: [PATCH] Add support for the Sundanese script समीर सिंह Sameer Singh
@ 2022-05-28 10:16 ` Eli Zaretskii
  2022-05-28 10:17   ` समीर सिंह Sameer Singh
  0 siblings, 1 reply; 3+ messages in thread
From: Eli Zaretskii @ 2022-05-28 10:16 UTC (permalink / raw)
  To: समीर सिंह Sameer Singh
  Cc: 55686-done

> From: समीर सिंह Sameer Singh
>  <lumarzeli30@gmail.com>
> Date: Sat, 28 May 2022 05:35:59 +0530
> 
> This time the Sundanese script is added to Emacs.
> 
> Please review the patch.
> Thank You.

Thanks, I installed this.





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

* bug#55686: [PATCH] Add support for the Sundanese script
  2022-05-28 10:16 ` Eli Zaretskii
@ 2022-05-28 10:17   ` समीर सिंह Sameer Singh
  0 siblings, 0 replies; 3+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-05-28 10:17 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 55686-done

[-- Attachment #1: Type: text/plain, Size: 358 bytes --]

Great, thanks!

On Sat, May 28, 2022 at 3:46 PM Eli Zaretskii <eliz@gnu.org> wrote:

> > From: समीर सिंह Sameer Singh
> >  <lumarzeli30@gmail.com>
> > Date: Sat, 28 May 2022 05:35:59 +0530
> >
> > This time the Sundanese script is added to Emacs.
> >
> > Please review the patch.
> > Thank You.
>
> Thanks, I installed this.
>

[-- Attachment #2: Type: text/html, Size: 740 bytes --]

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

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

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-28  0:05 bug#55686: [PATCH] Add support for the Sundanese script समीर सिंह Sameer Singh
2022-05-28 10:16 ` Eli Zaretskii
2022-05-28 10:17   ` समीर सिंह Sameer Singh

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).