unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#55782: [PATCH] Add support for the Grantha script
@ 2022-06-03 12:51 समीर सिंह Sameer Singh
  2022-06-03 13:31 ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-06-03 12:51 UTC (permalink / raw)
  To: 55782


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

This time the beautiful Grantha script is added to Emacs.

Please review the patch.
Thank You.

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

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

From 7d2d5bf3236482edac7b48931ee267e1018074d9 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, 1 Jun 2022 22:29:24 +0530
Subject: [PATCH] Add support for the Grantha script

* lisp/language/indian.el ("Grantha"): New language environment.
Add composition rules for Grantha. Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Grantha.
Add tamil supplement codepoints to (tamil).
* lisp/leim/quail/indian.el ("grantha"): New input method.

* etc/HELLO: Add a Grantha greeting.
* etc/NEWS: Announce the new language environment.
---
 etc/HELLO                     |   1 +
 etc/NEWS                      |   1 +
 lisp/international/fontset.el |   5 +-
 lisp/language/indian.el       |  38 +++++++++++
 lisp/leim/quail/indian.el     | 115 ++++++++++++++++++++++++++++++++++
 5 files changed, 158 insertions(+), 2 deletions(-)

diff --git a/etc/HELLO b/etc/HELLO
index 4148183949..6694501a7d 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -56,6 +56,7 @@ Finnish (suomi)	Hei / Hyvää päivää
 French (français)	Bonjour / Salut
 Georgian (ქართული)	გამარჯობა
 German (Deutsch)	Guten Tag / Grüß Gott
+Grantha (𑌗𑍍𑌰𑌨𑍍𑌥)	𑌨𑌮𑌸𑍍𑌤𑍇 / 𑌨𑌮𑌸𑍍𑌕𑌾𑌰𑌃
 Greek (ελληνικά)	Γειά σας
 Greek, ancient (ἑλληνική)	Οὖλέ τε καὶ μέγα χαῖρε
 Gujarati (ગુજરાતી)	નમસ્તે
diff --git a/etc/NEWS b/etc/NEWS
index 54bc6d80e1..cc378d929c 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -850,6 +850,7 @@ corresponding language environments are:
 **** Makasar script and language environment
 **** Lontara script and language environment
 **** Hanifi Rohingya script and language environment
+**** Grantha 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 2c54c86ab7..834e1321af 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -167,7 +167,7 @@ font-encoding-charset-alist
 	(gurmukhi #xA15)
 	(gujarati #xA95)
 	(oriya #xB15)
-	(tamil #xB95)
+	(tamil #xB95 #x11FC0 #x11FC6)
 	(telugu #xC15)
 	(kannada #xC95)
 	(malayalam #xD15)
@@ -250,7 +250,7 @@ font-encoding-charset-alist
         (sharada #x11191 #x111B3 #x111CD)
 	(khojki #x11200)
 	(khudawadi #x112B0)
-	(grantha #x11305)
+	(grantha #x11315 #x1133E #x11374)
 	(newa #x11400)
 	(tirhuta #x11481 #x1148F #x114D0)
 	(siddham #x1158E #x115AF #x115D4)
@@ -801,6 +801,7 @@ setup-default-fontset
                     brahmi
                     kaithi
                     sharada
+                    grantha
                     tirhuta
                     siddham
                     modi
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index 4dfad75275..7ec83210d6 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -233,6 +233,17 @@ 'devanagari
 language environment."))
  '("Indian"))
 
+(set-language-info-alist
+ "Grantha" '((charset unicode)
+             (coding-system utf-8)
+             (coding-priority utf-8)
+             (input-method . "grantha")
+             (sample-text . "Grantha (𑌗𑍍𑌰𑌨𑍍𑌥)	𑌨𑌮𑌸𑍍𑌤𑍇")
+             (documentation . "\
+Languages such as Sanskrit and Manipravalam which uses the
+Grantha script are supported in this language environment."))
+ '("Indian"))
+
 ;; Replace mnemonic characters in REGEXP according to TABLE.  TABLE is
 ;; an alist of (MNEMONIC-STRING . REPLACEMENT-STRING).
 
@@ -696,5 +707,32 @@ malayalam-composable-pattern
                                        "?" vowel "?" other-signs "?")
                                1 'font-shape-gstring))))
 
+;; Grantha composition rules
+(let ((consonant            "[\x11315-\x11339]")
+      (nukta                "\x1133C")
+      (independent-vowel    "[\x11305-\x11314\x11360\x11361]")
+      (vowel                "[\x1133E-\x1134C\x11357\x11362\x11363]")
+      (nasal                "[\x11300-\x11302]")
+      (bindu                "\x1133B")
+      (visarga              "\x11303")
+      (virama               "\x1134D")
+      (avagraha             "\x1133D")
+      (modifier-above       "[\x11366-\x11374]"))
+  (set-char-table-range composition-function-table
+                        '(#x1133B . #x1134D)
+                        (list (vector
+                               ;; Consonant based syllables
+                               (concat consonant nukta "?" "\\(?:" virama consonant nukta
+                                       "?\\)*\\(?:" virama "\\|" vowel "*" nukta "?" nasal
+                                       "?" bindu "?" visarga "?" modifier-above "?"
+                                       avagraha "?\\)")
+                               1 'font-shape-gstring)
+                              (vector
+                               ;; Vowels based syllables
+                               (concat independent-vowel nukta "?" virama "?" vowel "?"
+                                       nasal "?" bindu "?" visarga "?" modifier-above
+                                       "?" avagraha "?")
+                               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 031c30aabb..6a3582e83d 100644
--- a/lisp/leim/quail/indian.el
+++ b/lisp/leim/quail/indian.el
@@ -1656,4 +1656,119 @@ "||"
 ("`?" ?᥅)
 )
 
+(quail-define-package
+ "grantha" "Grantha" "𑌗𑍍𑌰" t "Grantha 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" ?𑌋)
+ ("t"  ?𑌤)
+ ("T"  ?𑌥)
+ ("`t" ?𑍗)
+ ("y"  ?𑌯)
+ ("u"  ?𑍁)
+ ("U"  ?𑍂)
+ ("`u" ?𑌉)
+ ("`U" ?𑌊)
+ ("i"  ?𑌿)
+ ("I"  ?𑍀)
+ ("`i" ?𑌇)
+ ("`I" ?𑌈)
+ ("o"  ?𑍋)
+ ("O"  ?𑍌)
+ ("`o" ?𑌓)
+ ("`O" ?𑌔)
+ ("p"  ?𑌪)
+ ("P"  ?𑌫)
+ ("`p" ?𑍴)
+ ("a"  ?𑌾)
+ ("A"  ?𑌆)
+ ("`a" ?𑌅)
+ ("`A" ?𑍰)
+ ("s"  ?𑌸)
+ ("S"  ?𑌶)
+ ("d"  ?𑌦)
+ ("D"  ?𑌧)
+ ("f"  ?𑍍)
+ ("F"  ?𑍄)
+ ("`f" ?𑍠)
+ ("g"  ?𑌗)
+ ("G" ?𑌘)
+ ("h"  ?𑌹)
+ ("H"  ?𑌃)
+ ("j"  ?𑌜)
+ ("J"  ?𑌝)
+ ("k"  ?𑌕)
+ ("K"  ?𑌖)
+ ("`k" ?𑍱)
+ ("l"  ?𑌲)
+ ("L"  ?𑌳)
+ ("`l" ?𑍢)
+ ("`L" ?𑌌)
+ ("z"  ?𑌞)
+ ("Z"  ?𑌙)
+ ("`z" ?𑍣)
+ ("`Z" ?𑍡)
+ ("x"  ?𑌷)
+ ("X"  ?𑌼)
+ ("`x" ?𑌻)
+ ("c"  ?𑌚)
+ ("C"  ?𑌛)
+ ("`c" #x200C)  ; ZWNJ
+ ("v"  ?𑌵)
+ ("V"  ?𑌽)
+ ("`v" ?𑍳)
+ ("b"  ?𑌬)
+ ("B"  ?𑌭)
+ ("n"  ?𑌨)
+ ("N"  ?𑌣)
+ ("`n" ?𑍲)
+ ("m"  ?𑌮)
+ ("M"  ?𑌂)
+ ("`m" ?𑌁)
+ ("`M" ?𑌀))
+
 ;;; indian.el ends here
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#55782: [PATCH] Add support for the Grantha script
  2022-06-03 12:51 bug#55782: [PATCH] Add support for the Grantha script समीर सिंह Sameer Singh
@ 2022-06-03 13:31 ` Eli Zaretskii
  2022-06-03 14:10   ` समीर सिंह Sameer Singh
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2022-06-03 13:31 UTC (permalink / raw)
  To: समीर सिंह Sameer Singh
  Cc: 55782

> From: समीर सिंह Sameer Singh
>  <lumarzeli30@gmail.com>
> Date: Fri, 3 Jun 2022 18:21:08 +0530
> 
> Add tamil supplement codepoints to (tamil).
[...]
> -	(tamil #xB95)
> +	(tamil #xB95 #x11FC0 #x11FC6)

This part is IMO a mistake: since there are no known fonts that
support both the Tamil block and the Tamil Supplement block, adding
the characters from the Supplement block to
script-representative-chars might cause Emacs to reject a good Tamil
font because it doesn't support the character from the Supplement
block.  We could use a vector instead of a list, but even that could
cause undesired consequences, whereby Emacs selects a font for Tamil
characters when it only supports Tamil Supplement, or vice versa.

I think adding Noto Sans Tamil Supplement to the default fontset is
for now the most we can do about the Tamil Supplement block.

> +(set-language-info-alist
> + "Grantha" '((charset unicode)
> +             (coding-system utf-8)
> +             (coding-priority utf-8)
> +             (input-method . "grantha")
> +             (sample-text . "Grantha (𑌗𑍍𑌰𑌨𑍍𑌥)	𑌨𑌮𑌸𑍍𑌤𑍇")
> +             (documentation . "\
> +Languages such as Sanskrit and Manipravalam which uses the
                                                     ^^^^
"use", in plural.

Also, "which use" is slightly misleading, I think: at least Sanskrit
also uses other scripts, doesn't it?  If so, I'd suggest saying "when
they use the Grantha script" instead.

> +;; Grantha composition rules
> +(let ((consonant            "[\x11315-\x11339]")
> +      (nukta                "\x1133C")
> +      (independent-vowel    "[\x11305-\x11314\x11360\x11361]")
> +      (vowel                "[\x1133E-\x1134C\x11357\x11362\x11363]")
> +      (nasal                "[\x11300-\x11302]")
> +      (bindu                "\x1133B")
> +      (visarga              "\x11303")
> +      (virama               "\x1134D")
> +      (avagraha             "\x1133D")
> +      (modifier-above       "[\x11366-\x11374]"))
> +  (set-char-table-range composition-function-table
> +                        '(#x1133B . #x1134D)
> +                        (list (vector
> +                               ;; Consonant based syllables
> +                               (concat consonant nukta "?" "\\(?:" virama consonant nukta
> +                                       "?\\)*\\(?:" virama "\\|" vowel "*" nukta "?" nasal
> +                                       "?" bindu "?" visarga "?" modifier-above "?"
> +                                       avagraha "?\\)")
> +                               1 'font-shape-gstring)

Some sequences that match the regexp will not be composed, according
to this rule.  For example, the sequence

   consonant vowel

won't be composed, because its second character is not in the range
'(#x1133B . #x1134D).  Is that okay?  Or are you relying on the
default composition of combining characters?

Thanks.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#55782: [PATCH] Add support for the Grantha script
  2022-06-03 13:31 ` Eli Zaretskii
@ 2022-06-03 14:10   ` समीर सिंह Sameer Singh
  2022-06-04  8:32     ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-06-03 14:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 55782


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

>
> This part is IMO a mistake: since there are no known fonts that
> support both the Tamil block and the Tamil Supplement block, adding
> the characters from the Supplement block to
> script-representative-chars might cause Emacs to reject a good Tamil
> font because it doesn't support the character from the Supplement
> block.  We could use a vector instead of a list, but even that could
> cause undesired consequences, whereby Emacs selects a font for Tamil
> characters when it only supports Tamil Supplement, or vice versa.
>
> I think adding Noto Sans Tamil Supplement to the default fontset is
> for now the most we can do about the Tamil Supplement block.


Also, "which use" is slightly misleading, I think: at least Sanskrit
> also uses other scripts, doesn't it?  If so, I'd suggest saying "when
> they use the Grantha script" instead.
>

Corrected

Some sequences that match the regexp will not be composed, according
> to this rule.  For example, the sequence
>
>    consonant vowel
>
> won't be composed, because its second character is not in the range
> '(#x1133B . #x1134D).  Is that okay?  Or are you relying on the
> default composition of combining characters?
>

Yes, three vowel signs are not in the range, because they compose correctly
by default.

I have attached the new patch, please review this
Thank you

On Fri, Jun 3, 2022 at 7:00 PM Eli Zaretskii <eliz@gnu.org> wrote:

> > From: समीर सिंह Sameer Singh
> >  <lumarzeli30@gmail.com>
> > Date: Fri, 3 Jun 2022 18:21:08 +0530
> >
> > Add tamil supplement codepoints to (tamil).
> [...]
> > -     (tamil #xB95)
> > +     (tamil #xB95 #x11FC0 #x11FC6)
>
> This part is IMO a mistake: since there are no known fonts that
> support both the Tamil block and the Tamil Supplement block, adding
> the characters from the Supplement block to
> script-representative-chars might cause Emacs to reject a good Tamil
> font because it doesn't support the character from the Supplement
> block.  We could use a vector instead of a list, but even that could
> cause undesired consequences, whereby Emacs selects a font for Tamil
> characters when it only supports Tamil Supplement, or vice versa.
>
> I think adding Noto Sans Tamil Supplement to the default fontset is
> for now the most we can do about the Tamil Supplement block.
>
> > +(set-language-info-alist
> > + "Grantha" '((charset unicode)
> > +             (coding-system utf-8)
> > +             (coding-priority utf-8)
> > +             (input-method . "grantha")
> > +             (sample-text . "Grantha (𑌗𑍍𑌰𑌨𑍍𑌥)  𑌨𑌮𑌸𑍍𑌤𑍇")
> > +             (documentation . "\
> > +Languages such as Sanskrit and Manipravalam which uses the
>                                                      ^^^^
> "use", in plural.
>
> Also, "which use" is slightly misleading, I think: at least Sanskrit
> also uses other scripts, doesn't it?  If so, I'd suggest saying "when
> they use the Grantha script" instead.
>
> > +;; Grantha composition rules
> > +(let ((consonant            "[\x11315-\x11339]")
> > +      (nukta                "\x1133C")
> > +      (independent-vowel    "[\x11305-\x11314\x11360\x11361]")
> > +      (vowel                "[\x1133E-\x1134C\x11357\x11362\x11363]")
> > +      (nasal                "[\x11300-\x11302]")
> > +      (bindu                "\x1133B")
> > +      (visarga              "\x11303")
> > +      (virama               "\x1134D")
> > +      (avagraha             "\x1133D")
> > +      (modifier-above       "[\x11366-\x11374]"))
> > +  (set-char-table-range composition-function-table
> > +                        '(#x1133B . #x1134D)
> > +                        (list (vector
> > +                               ;; Consonant based syllables
> > +                               (concat consonant nukta "?" "\\(?:"
> virama consonant nukta
> > +                                       "?\\)*\\(?:" virama "\\|" vowel
> "*" nukta "?" nasal
> > +                                       "?" bindu "?" visarga "?"
> modifier-above "?"
> > +                                       avagraha "?\\)")
> > +                               1 'font-shape-gstring)
>
> Some sequences that match the regexp will not be composed, according
> to this rule.  For example, the sequence
>
>    consonant vowel
>
> won't be composed, because its second character is not in the range
> '(#x1133B . #x1134D).  Is that okay?  Or are you relying on the
> default composition of combining characters?
>
> Thanks.
>

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

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

From 9af7beecaebf7a7a1817c37f7233f368c20e3bbc 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, 1 Jun 2022 22:29:24 +0530
Subject: [PATCH] Add support for the Grantha script

* lisp/language/indian.el ("Grantha"): New language environment.
Add composition rules for Grantha. Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Grantha.
* lisp/leim/quail/indian.el ("grantha"): New input method.

* etc/HELLO: Add two Grantha greetings.
* etc/NEWS: Announce the new language environment.
---
 etc/HELLO                     |   1 +
 etc/NEWS                      |   1 +
 lisp/international/fontset.el |   3 +-
 lisp/language/indian.el       |  38 +++++++++++
 lisp/leim/quail/indian.el     | 115 ++++++++++++++++++++++++++++++++++
 5 files changed, 157 insertions(+), 1 deletion(-)

diff --git a/etc/HELLO b/etc/HELLO
index 4148183949..6694501a7d 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -56,6 +56,7 @@ Finnish (suomi)	Hei / Hyvää päivää
 French (français)	Bonjour / Salut
 Georgian (ქართული)	გამარჯობა
 German (Deutsch)	Guten Tag / Grüß Gott
+Grantha (𑌗𑍍𑌰𑌨𑍍𑌥)	𑌨𑌮𑌸𑍍𑌤𑍇 / 𑌨𑌮𑌸𑍍𑌕𑌾𑌰𑌃
 Greek (ελληνικά)	Γειά σας
 Greek, ancient (ἑλληνική)	Οὖλέ τε καὶ μέγα χαῖρε
 Gujarati (ગુજરાતી)	નમસ્તે
diff --git a/etc/NEWS b/etc/NEWS
index 54bc6d80e1..cc378d929c 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -850,6 +850,7 @@ corresponding language environments are:
 **** Makasar script and language environment
 **** Lontara script and language environment
 **** Hanifi Rohingya script and language environment
+**** Grantha 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 2c54c86ab7..74be7edc64 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -250,7 +250,7 @@ font-encoding-charset-alist
         (sharada #x11191 #x111B3 #x111CD)
 	(khojki #x11200)
 	(khudawadi #x112B0)
-	(grantha #x11305)
+	(grantha #x11315 #x1133E #x11374)
 	(newa #x11400)
 	(tirhuta #x11481 #x1148F #x114D0)
 	(siddham #x1158E #x115AF #x115D4)
@@ -801,6 +801,7 @@ setup-default-fontset
                     brahmi
                     kaithi
                     sharada
+                    grantha
                     tirhuta
                     siddham
                     modi
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index 4dfad75275..9329b43fea 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -233,6 +233,17 @@ 'devanagari
 language environment."))
  '("Indian"))
 
+(set-language-info-alist
+ "Grantha" '((charset unicode)
+             (coding-system utf-8)
+             (coding-priority utf-8)
+             (input-method . "grantha")
+             (sample-text . "Grantha (𑌗𑍍𑌰𑌨𑍍𑌥)	𑌨𑌮𑌸𑍍𑌤𑍇 / 𑌨𑌮𑌸𑍍𑌕𑌾𑌰𑌃")
+             (documentation . "\
+Languages such as Sanskrit and Manipravalam, when they use the
+Grantha script, are supported in this language environment."))
+ '("Indian"))
+
 ;; Replace mnemonic characters in REGEXP according to TABLE.  TABLE is
 ;; an alist of (MNEMONIC-STRING . REPLACEMENT-STRING).
 
@@ -696,5 +707,32 @@ malayalam-composable-pattern
                                        "?" vowel "?" other-signs "?")
                                1 'font-shape-gstring))))
 
+;; Grantha composition rules
+(let ((consonant            "[\x11315-\x11339]")
+      (nukta                "\x1133C")
+      (independent-vowel    "[\x11305-\x11314\x11360\x11361]")
+      (vowel                "[\x1133E-\x1134C\x11357\x11362\x11363]")
+      (nasal                "[\x11300-\x11302]")
+      (bindu                "\x1133B")
+      (visarga              "\x11303")
+      (virama               "\x1134D")
+      (avagraha             "\x1133D")
+      (modifier-above       "[\x11366-\x11374]"))
+  (set-char-table-range composition-function-table
+                        '(#x1133B . #x1134D)
+                        (list (vector
+                               ;; Consonant based syllables
+                               (concat consonant nukta "?" "\\(?:" virama consonant nukta
+                                       "?\\)*\\(?:" virama "\\|" vowel "*" nukta "?" nasal
+                                       "?" bindu "?" visarga "?" modifier-above "?"
+                                       avagraha "?\\)")
+                               1 'font-shape-gstring)
+                              (vector
+                               ;; Vowels based syllables
+                               (concat independent-vowel nukta "?" virama "?" vowel "?"
+                                       nasal "?" bindu "?" visarga "?" modifier-above
+                                       "?" avagraha "?")
+                               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 031c30aabb..6a3582e83d 100644
--- a/lisp/leim/quail/indian.el
+++ b/lisp/leim/quail/indian.el
@@ -1656,4 +1656,119 @@ "||"
 ("`?" ?᥅)
 )
 
+(quail-define-package
+ "grantha" "Grantha" "𑌗𑍍𑌰" t "Grantha 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" ?𑌋)
+ ("t"  ?𑌤)
+ ("T"  ?𑌥)
+ ("`t" ?𑍗)
+ ("y"  ?𑌯)
+ ("u"  ?𑍁)
+ ("U"  ?𑍂)
+ ("`u" ?𑌉)
+ ("`U" ?𑌊)
+ ("i"  ?𑌿)
+ ("I"  ?𑍀)
+ ("`i" ?𑌇)
+ ("`I" ?𑌈)
+ ("o"  ?𑍋)
+ ("O"  ?𑍌)
+ ("`o" ?𑌓)
+ ("`O" ?𑌔)
+ ("p"  ?𑌪)
+ ("P"  ?𑌫)
+ ("`p" ?𑍴)
+ ("a"  ?𑌾)
+ ("A"  ?𑌆)
+ ("`a" ?𑌅)
+ ("`A" ?𑍰)
+ ("s"  ?𑌸)
+ ("S"  ?𑌶)
+ ("d"  ?𑌦)
+ ("D"  ?𑌧)
+ ("f"  ?𑍍)
+ ("F"  ?𑍄)
+ ("`f" ?𑍠)
+ ("g"  ?𑌗)
+ ("G" ?𑌘)
+ ("h"  ?𑌹)
+ ("H"  ?𑌃)
+ ("j"  ?𑌜)
+ ("J"  ?𑌝)
+ ("k"  ?𑌕)
+ ("K"  ?𑌖)
+ ("`k" ?𑍱)
+ ("l"  ?𑌲)
+ ("L"  ?𑌳)
+ ("`l" ?𑍢)
+ ("`L" ?𑌌)
+ ("z"  ?𑌞)
+ ("Z"  ?𑌙)
+ ("`z" ?𑍣)
+ ("`Z" ?𑍡)
+ ("x"  ?𑌷)
+ ("X"  ?𑌼)
+ ("`x" ?𑌻)
+ ("c"  ?𑌚)
+ ("C"  ?𑌛)
+ ("`c" #x200C)  ; ZWNJ
+ ("v"  ?𑌵)
+ ("V"  ?𑌽)
+ ("`v" ?𑍳)
+ ("b"  ?𑌬)
+ ("B"  ?𑌭)
+ ("n"  ?𑌨)
+ ("N"  ?𑌣)
+ ("`n" ?𑍲)
+ ("m"  ?𑌮)
+ ("M"  ?𑌂)
+ ("`m" ?𑌁)
+ ("`M" ?𑌀))
+
 ;;; indian.el ends here
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#55782: [PATCH] Add support for the Grantha script
  2022-06-03 14:10   ` समीर सिंह Sameer Singh
@ 2022-06-04  8:32     ` Eli Zaretskii
  2022-06-04 11:56       ` समीर सिंह Sameer Singh
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2022-06-04  8:32 UTC (permalink / raw)
  To: समीर सिंह Sameer Singh
  Cc: 55782

> From: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
> Date: Fri, 3 Jun 2022 19:40:30 +0530
> Cc: 55782@debbugs.gnu.org
> 
> I have attached the new patch, please review this

Thanks, installed.

I understand the two greetings you added are in two different
languages, is that right?





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#55782: [PATCH] Add support for the Grantha script
  2022-06-04  8:32     ` Eli Zaretskii
@ 2022-06-04 11:56       ` समीर सिंह Sameer Singh
  2022-06-04 13:45         ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-06-04 11:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 55782

[-- Attachment #1: Type: text/plain, Size: 917 bytes --]

>Thanks, installed.

Thank you!

>I understand the two greetings you added are in two different
>languages, is that right?

No they are the same, both are Sanskrit. Adding Namaste to most of the
Indian languages was very boring, so this time I wrote Namaste and
Namaskaarah.

I could not find any dictionary for Manipravalam so was unable to get a
greeting for that (though it is a basically a mixture of Sanskrit and Old
Malayalam, so it does not make much difference)


शनि, 4 जून 2022, 2:02 pm को Eli Zaretskii <eliz@gnu.org> ने लिखा:

> > From: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
> > Date: Fri, 3 Jun 2022 19:40:30 +0530
> > Cc: 55782@debbugs.gnu.org
> >
> > I have attached the new patch, please review this
>
> Thanks, installed.
>
> I understand the two greetings you added are in two different
> languages, is that right?
>

[-- Attachment #2: Type: text/html, Size: 1983 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#55782: [PATCH] Add support for the Grantha script
  2022-06-04 11:56       ` समीर सिंह Sameer Singh
@ 2022-06-04 13:45         ` Eli Zaretskii
  0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2022-06-04 13:45 UTC (permalink / raw)
  To: समीर सिंह Sameer Singh
  Cc: 55782-done

> From: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
> Date: Sat, 4 Jun 2022 17:26:50 +0530
> Cc: 55782@debbugs.gnu.org
> 
> >I understand the two greetings you added are in two different
> >languages, is that right?
> 
> No they are the same, both are Sanskrit. Adding Namaste to most of the Indian languages was very boring,
> so this time I wrote Namaste and Namaskaarah.
> 
> I could not find any dictionary for Manipravalam so was unable to get a greeting for that (though it is a
> basically a mixture of Sanskrit and Old Malayalam, so it does not make much difference)

Ok, thanks.  So I'm closing the bug.





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-06-04 13:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-03 12:51 bug#55782: [PATCH] Add support for the Grantha script समीर सिंह Sameer Singh
2022-06-03 13:31 ` Eli Zaretskii
2022-06-03 14:10   ` समीर सिंह Sameer Singh
2022-06-04  8:32     ` Eli Zaretskii
2022-06-04 11:56       ` समीर सिंह Sameer Singh
2022-06-04 13:45         ` Eli Zaretskii

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).