]> git.eshelyaron.com Git - emacs.git/commitdiff
Add support for the Sundanese script (bug#55686)
authorसमीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Thu, 26 May 2022 13:05:00 +0000 (18:35 +0530)
committerEli Zaretskii <eliz@gnu.org>
Sat, 28 May 2022 10:12:12 +0000 (13:12 +0300)
* 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
etc/NEWS
lisp/international/fontset.el
lisp/language/indonesian.el
lisp/leim/quail/indonesian.el

index 248c02b7ab6eb54aaf2130db3b5c066f83fe6c50..4ff066847d4f88e444eb24fd54ecc7c9a795bc13 100644 (file)
--- 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 (தமிழ்)        வணக்கம்
index 90d03f8fa8a61e3d78fb92e9d4c213888feafe4e..85a0ee44b9eb0795dfa89d8140e11b61302f3f33 100644 (file)
--- 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".
index 6b511256298f6191f7a12a3c6a66db9383b30ccd..00ee0cf475591ca8e5a4ae95f72e734a8b8451b7 100644 (file)
        (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)
                     tagbanwa
                     limbu
                     balinese
+                    sundanese
                    symbol
                    braille
                    yi
index 994be2484a7ddc341ed5aeb018036aafdca65868..4bdcd0a49c7943d32a4622a43ad4c5f8c2c85be3 100644 (file)
@@ -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
index 82d0a2c26942cab628017fc09459d2a6ad4a70b5..dd931e987997486f477166abfe34336fb5d9f510 100644 (file)
  ("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