unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "समीर सिंह Sameer Singh" <lumarzeli30@gmail.com>
To: 55667@debbugs.gnu.org
Subject: bug#55667: [PATCH] Add support for the Javanese script
Date: Fri, 27 May 2022 06:27:01 +0530	[thread overview]
Message-ID: <CAOR1sLzqhm5GmzL-bVDy32+CkVjv_Msw5op2htjbp6ufzVg3wQ@mail.gmail.com> (raw)


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

The Javanese script is added to Emacs this time.
There was already a Javanese greeting in etc/HELLO so I have not touched
that.

Please review the Patch.
Thank you.

BTW, does the "set-language-environment" not change the input method?

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

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

From 710e1b6708c9f1b49be0403c572549ef5e8ca451 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 11:36:15 +0530
Subject: [PATCH] Add support for the Javanese script

* 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                      |   1 +
 lisp/international/fontset.el |   2 +-
 lisp/language/indonesian.el   |  30 +++++++++
 lisp/leim/quail/indonesian.el | 113 ++++++++++++++++++++++++++++++++++
 4 files changed, 145 insertions(+), 1 deletion(-)

diff --git a/etc/NEWS b/etc/NEWS
index d6221d5586..c03ec850c6 100644
--- 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".
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index a7d7109c8d..6b51125629 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -203,7 +203,7 @@ font-encoding-charset-alist
 	(han #x5B57)
 	(yi #xA288)
         (syloti-nagri #xA807 #xA823 #xA82C)
-	(javanese #xA980)
+	(javanese #xA98F #xA9B4 #xA9CA)
 	(cham #xAA00)
 	(tai-viet #xAA80)
 	(hangul #xAC00)
diff --git a/lisp/language/indonesian.el b/lisp/language/indonesian.el
index 9a86135d89..994be2484a 100644
--- a/lisp/language/indonesian.el
+++ b/lisp/language/indonesian.el
@@ -36,6 +36,15 @@
               (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 @@
                                        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
diff --git a/lisp/leim/quail/indonesian.el b/lisp/leim/quail/indonesian.el
index 46dafc89f5..82d0a2c269 100644
--- a/lisp/leim/quail/indonesian.el
+++ b/lisp/leim/quail/indonesian.el
@@ -173,5 +173,118 @@
  ("`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
-- 
2.36.1


             reply	other threads:[~2022-05-27  0:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-27  0:57 समीर सिंह Sameer Singh [this message]
2022-05-27  3:33 ` bug#55667: [PATCH] Add support for the Javanese script Visuwesh
2022-05-27  4:33   ` समीर सिंह Sameer Singh
2022-05-27  6:42 ` Eli Zaretskii
2022-05-27  6:43   ` समीर सिंह Sameer Singh
2022-05-27  6:57   ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAOR1sLzqhm5GmzL-bVDy32+CkVjv_Msw5op2htjbp6ufzVg3wQ@mail.gmail.com \
    --to=lumarzeli30@gmail.com \
    --cc=55667@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).