]> git.eshelyaron.com Git - emacs.git/commitdiff
Add support for the Javanese script (bug#55667)
authorसमीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Thu, 26 May 2022 06:06:15 +0000 (11:36 +0530)
committerEli Zaretskii <eliz@gnu.org>
Fri, 27 May 2022 06:41:24 +0000 (09:41 +0300)
* lisp/language/indonesian.el ("Javanese"): New language environment.
Add composition rules for Javanese.  Add sample text and input
method.
* lisp/international/fontset.el (script-representative-chars):
Support Javanese.
* lisp/leim/quail/indonesian.el ("javanese"): New input method.

* etc/NEWS: Announce the new language environment and its
input method.

etc/NEWS
lisp/international/fontset.el
lisp/language/indonesian.el
lisp/leim/quail/indonesian.el

index 8f877f40ac9a4d020cbfc8ada1a6aac954e5a709..3065fa85d3b9f8a502f24df633cf348d22195566 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -824,6 +824,7 @@ corresponding language environments are:
 **** Tagbanwa script and language environment
 **** Limbu script and language environment
 **** Balinese script and language environment
+**** Javanese script and language environment
 
 ---
 *** The "Oriya" language environment was renamed to "Odia".
index a7d7109c8d554c2b3bb17fcd4acb8f44993341aa..6b511256298f6191f7a12a3c6a66db9383b30ccd 100644 (file)
        (han #x5B57)
        (yi #xA288)
         (syloti-nagri #xA807 #xA823 #xA82C)
-       (javanese #xA980)
+       (javanese #xA98F #xA9B4 #xA9CA)
        (cham #xAA00)
        (tai-viet #xAA80)
        (hangul #xAC00)
index 9a86135d89b4d86a0be786047d99fb2debc50030..994be2484a7ddc341ed5aeb018036aafdca65868 100644 (file)
               (documentation . "\
 Balinese language and its script are supported in this language environment.")))
 
+(set-language-info-alist
+ "Javanese" '((charset unicode)
+              (coding-system utf-8)
+              (coding-priority utf-8)
+              (input-method . "javanese")
+              (sample-text . "Javanese (ꦲꦏ꧀ꦱꦫꦗꦮ) ꦲꦭꦺꦴ")
+              (documentation . "\
+Javanese language and its script are supported in this language environment.")))
+
 
 ;; Balinese composition rules
 (let ((consonant            "[\x1B13-\x1B33\x1B45-\x1B4B]")
@@ -59,6 +68,27 @@ Balinese language and its script are supported in this language environment.")))
                                        vowel "?" modifier-above "?" musical-symbol "?")
                                1 'font-shape-gstring))))
 
+;; Javanese composition rules
+(let ((consonant            "[\xA98F-\xA9B2]")
+      (independent-vowel    "[\xA984-\xA98E]")
+      (telu                 "\xA9B3")
+      (vowel                "[\xA9B4-\xA9BC]")
+      (dependant-consonant  "[\xA9BD-\xA9BF]")
+      (modifier-above       "[\xA980-\xA983]")
+      (pangkon              "\xA9C0"))
+  (set-char-table-range composition-function-table
+                        '(#xA9B3 . #xA9C0)
+                        (list (vector
+                               ;; Consonant based syllables
+                               (concat consonant telu "?" "\\(?:" pangkon consonant
+                                       telu "?\\)*\\(?:" pangkon "\\|" vowel "*" telu
+                                       "?" modifier-above "?" dependant-consonant "?\\)")
+                               1 'font-shape-gstring)
+                              (vector
+                               ;; Vowels based syllables
+                               (concat independent-vowel telu "?" pangkon "?"
+                                       vowel "?" modifier-above "?" dependant-consonant "?")
+                               1 'font-shape-gstring))))
 
 (provide 'indonesian)
 ;;; indonesian.el ends here
index 46dafc89f526b5b3c7d37b673283d0052c259842..82d0a2c26942cab628017fc09459d2a6ad4a70b5 100644 (file)
  ("`m" ?ᬁ)
  ("`M" ?ᬀ))
 
+(quail-define-package
+ "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)
+
+(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"  ?ꦛ)
+ ("Q"  ?ꦜ)
+ ("`q" ?꧟)
+ ("`Q" ?ꧏ)
+ ("w"  ?ꦝ)
+ ("W"  ?ꦞ)
+ ("`w" ?꧌)
+ ("`W" ?꧍)
+ ("e"  ?ꦺ)
+ ("E"  ?ꦻ)
+ ("`e" ?ꦌ)
+ ("`E" ?ꦍ)
+ ("r"  ?ꦫ)
+ ("R"  ?ꦬ)
+ ("`r" ?ꦿ)
+ ("`R" ?ꦂ)
+ ("t"  ?ꦠ)
+ ("T"  ?ꦡ)
+ ("`t" ?ꦼ)
+ ("y"  ?ꦪ)
+ ("Y"  ?ꦾ)
+ ("u"  ?ꦸ)
+ ("U"  ?ꦹ)
+ ("`u" ?ꦈ)
+ ("`U" ?ꦅ)
+ ("i"  ?ꦶ)
+ ("I"  ?ꦷ)
+ ("`i" ?ꦆ)
+ ("`I" ?ꦇ)
+ ("o"  ?ꦎ)
+ ("p"  ?ꦥ)
+ ("P"  ?ꦦ)
+ ("`p" ?ꦉ)
+ ("a"  ?ꦴ)
+ ("A"  ?ꦄ)
+ ("`a" ?ꦵ)
+ ("s"  ?ꦱ)
+ ("S"  ?ꦯ)
+ ("d"  ?ꦢ)
+ ("D"  ?ꦣ)
+ ("f"  ?꧀)
+ ("F"  ?ꦽ)
+ ("`f" ?ꦉ)
+ ("g"  ?ꦒ)
+ ("G"  ?ꦓ)
+ ("h"  ?ꦲ)
+ ("H"  ?ꦃ)
+ ("j"  ?ꦗ)
+ ("J"  ?ꦙ)
+ ("`j" ?ꦘ)
+ ("k"  ?ꦏ)
+ ("K"  ?ꦑ)
+ ("`k" ?ꦐ)
+ ("l"  ?ꦭ)
+ ("L"  ?ꦊ)
+ ("`l" ?ꦋ)
+ ("z"  ?ꦚ)
+ ("Z"  ?ꦔ)
+ ("x"  ?ꦰ)
+ ("X"  ?꦳)
+ ("c"  ?ꦕ)
+ ("C"  ?ꦖ)
+ ("`c" #x200C)  ; ZWNJ
+ ("v"  ?ꦮ)
+ ("V"  ?ᭉ)
+ ("b"  ?ꦧ)
+ ("B"  ?ꦨ)
+ ("n"  ?ꦤ)
+ ("N"  ?ꦟ)
+ ("m"  ?ꦩ)
+ ("M"  ?ꦁ)
+ ("`m" ?ꦀ))
+
 (provide 'indonesian)
 ;;; indonesian.el ends here