emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master b186d5063d: Add support for the Siddham script


From: Eli Zaretskii
Subject: master b186d5063d: Add support for the Siddham script
Date: Tue, 10 May 2022 14:24:43 -0400 (EDT)

branch: master
commit b186d5063d0a32ccab1abd8212c7b2858fd8b044
Author: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Commit: Eli Zaretskii <eliz@gnu.org>

    Add support for the Siddham script
    
    * lisp/language/indian.el ("Siddham"): New language environment.
    Add composition rules for Siddham.  Add sample text and input
    method.
    * lisp/international/fontset.el (script-representative-chars)
    (setup-default-fontset): Support Siddham.
    * lisp/leim/quail/indian.el ("siddham"): New input method.
    
    * etc/HELLO: Add a Siddham greeting.
    * etc/NEWS: Announce the new language environment and its
    input method.  (Bug#55350)
---
 etc/HELLO                     |   1 +
 etc/NEWS                      |   6 +++
 lisp/international/fontset.el |   3 +-
 lisp/language/indian.el       |  30 ++++++++++++
 lisp/leim/quail/indian.el     | 104 ++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 143 insertions(+), 1 deletion(-)

diff --git a/etc/HELLO b/etc/HELLO
index b64aacfbe5..b14fa0e861 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -76,6 +76,7 @@ Oriya (ଓଡ଼ିଆ)  ଶୁଣିବେ
 Polish  (język polski) Dzień dobry! / Cześć!
 Russian (русский)      Здра́вствуйте!
 Sharada (𑆯𑆳𑆫𑆢𑆳)        𑆤𑆩𑆱𑇀𑆑𑆳𑆫
+Siddham (𑖭𑖰𑖟𑖿𑖠𑖽)       𑖡𑖦𑖫𑖿𑖝𑖸
 Sinhala (සිංහල)        ආයුබෝවන්
 Slovak (slovenčina)    Dobrý deň
 Slovenian (slovenščina)        Pozdravljeni!
diff --git a/etc/NEWS b/etc/NEWS
index 06a3b24a1d..5b0922506a 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -772,6 +772,12 @@ This language environment supports the Sharada script.  
Named after the
 goddess of learning, this script is used to write the Kashmiri language.
 A new input method, 'sharada', is provided to type text in this script.
 
+*** New language environment "Siddham".
+This language environment supports the Siddham script for the Sanskrit
+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 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 7fa390a34b..144c3761a0 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -240,7 +240,7 @@
        (grantha #x11305)
        (newa #x11400)
        (tirhuta #x11481 #x1148F #x114D0)
-       (siddham #x11580)
+       (siddham #x1158E #x115AF #x115D4)
        (modi #x11600)
        (takri #x11680)
        (dogra #x11800)
@@ -777,6 +777,7 @@
                     kaithi
                     sharada
                     tirhuta
+                    siddham
                    makasar
                     dives-akuru
                    cuneiform
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index 1e10c2a61a..b399756bbe 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -169,6 +169,17 @@ Kashmiri language and its script Sharada is supported in 
this
 language environment."))
  '("Indian"))
 
+(set-language-info-alist
+ "Siddham" '((charset unicode)
+             (coding-system utf-8)
+             (coding-priority utf-8)
+             (input-method . "siddham")
+             (sample-text . "Siddham (𑖭𑖰𑖟𑖿𑖠𑖽)        𑖡𑖦𑖭𑖿𑖝𑖸")
+             (documentation . "\
+Sanskrit language and one of its script Siddham is supported
+in this language environment."))
+ '("Indian"))
+
 
 ;; Replace mnemonic characters in REGEXP according to TABLE.  TABLE is
 ;; an alist of (MNEMONIC-STRING . REPLACEMENT-STRING).
@@ -543,5 +554,24 @@ language environment."))
                                (concat fricatives "?" consonant vowel "?")
                                0 'font-shape-gstring))))
 
+;; Siddham composition rules
+(let ((consonant            "[\x1158E-\x115AE]")
+      (nukta                "\x115C0")
+      (independent-vowel    "[\x11580-\x1158D\x115D8-\x115DB]")
+      (vowel                "[\x115AF-\x115BB\x115DC\x115DD]")
+      (nasal                "[\x115BC\x115BD]")
+      (virama               "\x115BF"))
+  (set-char-table-range composition-function-table
+                        '(#x115AF . #x115C0)
+                        (list (vector
+                               ;; Consonant based syllables
+                               (concat consonant nukta "?\\(?:" virama 
consonant nukta "?\\)*\\(?:"
+                                       virama "\\|" vowel "*" nukta "?" nasal 
"?\\)")
+                               1 'font-shape-gstring)
+                              (vector
+                               ;; Nasal vowels
+                               (concat independent-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 b1e547a26e..3bc03558c3 100644
--- a/lisp/leim/quail/indian.el
+++ b/lisp/leim/quail/indian.el
@@ -1163,4 +1163,108 @@ Full key sequences are listed below:")
 ("`M" ?𑇏)
 )
 
+(quail-define-package
+ "siddham" "Sharada" "𑖭𑖰" t "Siddham 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" ?𑗊)
+("`!" ?𑗔)
+("`2" ?𑗋)
+("`@" ?𑗕)
+("`3" ?𑗌)
+("`#" ?𑗖)
+("`4" ?𑗍)
+("`$" ?𑗗)
+("`5" ?𑗎)
+("`%" ?𑗅)
+("`6" ?𑗏)
+("`^" ?𑗆)
+("`7" ?𑗐)
+("`&" ?𑗇)
+("`8" ?𑗑)
+("`*" ?𑗈)
+("`9" ?𑗒)
+("`\(" ?𑗉)
+("`0" ?𑗓)
+("`\)" ?𑗄)
+("`\\" ?𑗂)
+("`|" ?𑗃)
+("`"  ?𑖘)
+("q"  ?𑖘)
+("Q"  ?𑖙)
+("`q" ?𑗘)
+("`Q" ?𑗙)
+("w"  ?𑖚)
+("W"  ?𑖛)
+("`w" ?𑗚)
+("`W" ?𑗛)
+("e"  ?𑖸)
+("E"  ?𑖹)
+("`e" ?𑖊)
+("`E" ?𑖋)
+("r"  ?𑖨)
+("R"  ?𑖴)
+("`r" ?𑖆)
+("t"  ?𑖝)
+("T"  ?𑖞)
+("`t" ?𑗜)
+("`T" ?𑗝)
+("y"  ?𑖧)
+("u"  ?𑖲)
+("U"  ?𑖳)
+("`u" ?𑖄)
+("`U" ?𑖅)
+("i"  ?𑖰)
+("I"  ?𑖱)
+("`i" ?𑖂)
+("`I" ?𑖃)
+("o"  ?𑖺)
+("O"  ?𑖻)
+("`o" ?𑖌)
+("`O" ?𑖍)
+("p"  ?𑖢)
+("P"  ?𑖣)
+("a"  ?𑖯)
+("A"  ?𑖁)
+("`a" ?𑖀)
+("s"  ?𑖭)
+("S"  ?𑖫)
+("d"  ?𑖟)
+("D"  ?𑖠)
+("`d" ?𑗁)
+("f"  ?𑖿)
+("F" ?𑖵)
+("`f" ?𑖇)
+("g"  ?𑖐)
+("G"  ?𑖑)
+("h"  ?𑖮)
+("H"  ?𑖾)
+("j"  ?𑖕)
+("J"  ?𑖖)
+("k"  ?𑖎)
+("K"  ?𑖏)
+("l"  ?𑖩)
+("L" ?𑖈)
+("`l" ?𑖉)
+("z"  ?𑖗)
+("Z"  ?𑖒)
+("x"  ?𑖬)
+("X"  ?𑗀)
+("c"  ?𑖓)
+("C"  ?𑖔)
+("`c" #x200C)  ; ZWNJ
+("v"  ?𑖪)
+("b"  ?𑖤)
+("B"  ?𑖥)
+("n"  ?𑖡)
+("N"  ?𑖜)
+("m"  ?𑖦)
+("M"  ?𑖽)
+("`m" ?𑖼)
+)
+
 ;;; indian.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]