emacs-diffs
[Top][All Lists]
Advanced

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

master fb6484e3d0: Add support for the Sundanese script (bug#55686)


From: Eli Zaretskii
Subject: master fb6484e3d0: Add support for the Sundanese script (bug#55686)
Date: Sat, 28 May 2022 06:12:56 -0400 (EDT)

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

    Add support for the Sundanese script (bug#55686)
    
    * 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 90d03f8fa8..85a0ee44b9 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -832,6 +832,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 @@
        (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 @@
                     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 @@ Balinese language and its script are supported in this 
language environment.")))
               (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 @@ Javanese language and its script are supported in this 
language environment.")))
                         '(#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 @@ Javanese language and its script are supported in this 
language environment.")))
                         '(#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 @@ Javanese language and its script are supported in this 
language environment.")))
                                        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



reply via email to

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