From: "समीर सिंह Sameer Singh" <lumarzeli30@gmail.com>
To: 55370@debbugs.gnu.org
Subject: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Wed, 11 May 2022 20:31:28 +0530 [thread overview]
Message-ID: <CAOR1sLyxUj9WfhCX+8kWJhPqGsULanU7ynQLhAuts4TA=3WY8Q@mail.gmail.com> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 335 bytes --]
This time I have added support for the Syloti Nagri script.
I also had to separate the consonant conjunct syllables and the non
consonant conjunct syllables composition rules this time around, because if
they were together, Emacs would hang whenever I put a cursor on a Syloti
Nagri word or tried to edit it.
Please review the patch.
[-- Attachment #1.2: Type: text/html, Size: 410 bytes --]
[-- Attachment #2: 0001-Add-support-for-the-Syloti-Nagri-script.patch --]
[-- Type: text/x-patch, Size: 6589 bytes --]
From 12446f0abb2ee7fc8de11c2550cdc2bb3c78842a 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: Wed, 11 May 2022 20:18:23 +0530
Subject: [PATCH] Add support for the Syloti Nagri script
* lisp/language/indian.el ("Syloti Nagri"): New language environment.
Add composition rules for Syloti Nagri. Add sample text and input
method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Syloti Nagri.
* lisp/leim/quail/indian.el ("syloti-nagri"): New input method.
* etc/HELLO: Add two Syloti Nagri greetings.
* etc/NEWS: Announce the new language environment and its
input method.
---
etc/HELLO | 2 +
etc/NEWS | 5 +++
lisp/international/fontset.el | 2 +
lisp/language/indian.el | 35 +++++++++++++++
lisp/leim/quail/indian.el | 81 +++++++++++++++++++++++++++++++++++
5 files changed, 125 insertions(+)
diff --git a/etc/HELLO b/etc/HELLO
index b14fa0e861..131456a4de 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -82,6 +82,7 @@ Slovak (slovenčina) Dobrý deň
Slovenian (slovenščina) Pozdravljeni!
Spanish (español) ¡Hola!
Swedish (svenska) Hej / Goddag / Hallå
+Syloti Nagri (ꠍꠤꠟꠐꠤ ꠘꠣꠉꠞꠤ) ꠀꠌ꠆ꠍꠣꠟꠣꠝꠥ ꠀꠟꠣꠁꠇꠥꠝ / ꠘꠝꠡ꠆ꠇꠣꠞ
Tamil (தமிழ்) வணக்கம்
Telugu (తెలుగు) నమస్కారం
TaiViet (ꪁꪫꪱꪣ ꪼꪕ) ꪅꪰꪙꫂ ꪨꪮꫂ ꪁꪫꪱ / ꪅꪽ ꪨꪷ ꪁꪫꪱ
diff --git a/etc/NEWS b/etc/NEWS
index 595e477e2f..68baac3224 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -778,6 +778,11 @@ language. Nowadays it is mostly used by the Buddhist monks in Japan for
religious writings. A new input method, 'siddham', is provided to type
text in this script.
+*** New language environment "Syloti Nagri"
+This language environment supports the Syloti Nagri script for the Sylheti
+language, which is spoke in parts of Bangladesh, Assam and Tripura. A new
+input method, 'syloti-nagri', is provided to type text in this script.
+
---
*** New Greek translation of the Emacs tutorial.
Type 'C-u C-h t' to select it in case your language setup does not do
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 144c3761a0..2579b839dd 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -194,6 +194,7 @@ font-encoding-charset-alist
(kanbun #x319D)
(han #x5B57)
(yi #xA288)
+ (syloti-nagri #xA807 #xA823 #xA82C)
(javanese #xA980)
(cham #xAA00)
(tai-viet #xAA80)
@@ -748,6 +749,7 @@ setup-default-fontset
symbol
braille
yi
+ syloti-nagri
javanese
tai-viet
aegean-number
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index b399756bbe..e31d48efeb 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -180,6 +180,17 @@ 'devanagari
in this language environment."))
'("Indian"))
+(set-language-info-alist
+ "Syloti Nagri" '((charset unicode)
+ (coding-system utf-8)
+ (coding-priority utf-8)
+ (input-method . "syloti-nagri")
+ (sample-text . "Syloti Nagri (ꠍꠤꠟꠐꠤ ꠘꠣꠉꠞꠤ) ꠀꠌ꠆ꠍꠣꠟꠣꠝꠥ ꠀꠟꠣꠁꠇꠥꠝ")
+ (documentation . "\
+Sylheti language and its script Syloti Nagri is supported
+in this language environment."))
+ '("Indian"))
+
;; Replace mnemonic characters in REGEXP according to TABLE. TABLE is
;; an alist of (MNEMONIC-STRING . REPLACEMENT-STRING).
@@ -573,5 +584,29 @@ malayalam-composable-pattern
(concat independent-vowel nasal "?")
1 'font-shape-gstring))))
+;; Syloti Nagri composition rules
+(let ((consonant "[\xA807-\xA80A\xA80C-\xA822]")
+ (independent-vowel "[\xA800\xA801\xA803-\xA805]")
+ (vowel "[\xA802\xA823-\xA827]")
+ (nasal "[\xA80B]")
+ (virama "[\xA806\xA82C]"))
+ (set-char-table-range composition-function-table
+ '(#xA806 . #xA806)
+ (list (vector
+ ;; Consonant conjunct based syllables
+ (concat consonant "\\(?:" virama consonant "\\)+"
+ vowel "?" nasal "?")
+ 1 'font-shape-gstring)
+ (vector
+ ;; Nasal vowels
+ (concat independent-vowel nasal "?")
+ 1 'font-shape-gstring)))
+ (set-char-table-range composition-function-table
+ '(#xA823 . #xA827)
+ (list (vector
+ ;; Non Consonant conjunct based syllables
+ (concat consonant vowel "?" nasal "?")
+ 1 'font-shape-gstring))))
+
(provide 'indian)
;;; indian.el ends here
diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el
index 6c58fdd40b..eb9d1183e5 100644
--- a/lisp/leim/quail/indian.el
+++ b/lisp/leim/quail/indian.el
@@ -1267,4 +1267,85 @@ "||"
("`m" ?𑖼)
)
+
+(quail-define-package
+ "syloti-nagri" "Syloti Nagri" "ꠍꠤ" t "Syloti Nagri 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" ?ꠄ)
+("r" ?ꠞ)
+("R" ?ꠠ)
+("t" ?ꠔ)
+("T" ?ꠕ)
+("y" ?ꠂ)
+("u" ?ꠥ)
+("U" ?ꠃ)
+("i" ?ꠤ)
+("I" ?ꠁ)
+("o" ?ꠧ)
+("O" ?ꠅ)
+("p" ?ꠙ)
+("P" ?ꠚ)
+("a" ?ꠣ)
+("A" ?ꠀ)
+("s" ?ꠡ)
+("d" ?ꠖ)
+("D" ?ꠗ)
+("f" ?꠆)
+("F" ?꠬)
+("g" ?ꠉ)
+("G" ?ꠊ)
+("h" ?ꠢ)
+("j" ?ꠎ)
+("J" ?ꠏ)
+("k" ?ꠇ)
+("K" ?ꠈ)
+("l" ?ꠟ)
+("c" ?ꠌ)
+("C" ?ꠍ)
+("`c" #x200C) ; ZWNJ
+("b" ?ꠛ)
+("B" ?ꠜ)
+("n" ?ꠘ)
+("m" ?ꠝ)
+("M" ?ꠋ)
+)
+
;;; indian.el ends here
--
2.36.1
next reply other threads:[~2022-05-11 15:01 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-11 15:01 समीर सिंह Sameer Singh [this message]
2022-05-12 7:10 ` bug#55370: [PATCH] Add support for the Syloti Nagri script Eli Zaretskii
2022-05-12 13:42 ` समीर सिंह Sameer Singh
2022-05-12 14:01 ` Eli Zaretskii
2022-05-12 15:06 ` समीर सिंह Sameer Singh
2022-05-12 16:29 ` Eli Zaretskii
2022-05-12 16:50 ` समीर सिंह Sameer Singh
2022-05-12 17:04 ` Eli Zaretskii
2022-05-12 17:10 ` समीर सिंह Sameer Singh
2022-05-12 17:25 ` Eli Zaretskii
2022-05-12 17:28 ` समीर सिंह Sameer Singh
2022-05-14 23:47 ` समीर सिंह Sameer Singh
2022-05-15 6:16 ` Eli Zaretskii
2022-05-15 13:40 ` समीर सिंह Sameer Singh
2022-05-15 14:23 ` Eli Zaretskii
2022-05-15 14:41 ` समीर सिंह Sameer Singh
2022-05-15 15:19 ` Eli Zaretskii
2022-05-15 15:25 ` समीर सिंह Sameer Singh
2022-05-15 15:40 ` 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAOR1sLyxUj9WfhCX+8kWJhPqGsULanU7ynQLhAuts4TA=3WY8Q@mail.gmail.com' \
--to=lumarzeli30@gmail.com \
--cc=55370@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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.