]> git.eshelyaron.com Git - emacs.git/commitdiff
Add support for the Siddham script
authorसमीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Mon, 9 May 2022 22:24:14 +0000 (03:54 +0530)
committerEli Zaretskii <eliz@gnu.org>
Tue, 10 May 2022 18:24:07 +0000 (21:24 +0300)
* 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
etc/NEWS
lisp/international/fontset.el
lisp/language/indian.el
lisp/leim/quail/indian.el

index b64aacfbe5b600b072f1712a7c386d2620b2e01e..b14fa0e861429c76d5af30efd8a66b1957dafeb9 100644 (file)
--- 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!
index 06a3b24a1ddaa04a4cb92e8683f3b571efa3c760..5b0922506a03d2ef132c1933dbf344dadc5b7ce9 100644 (file)
--- 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
index 7fa390a34be001d19f67504840bc4bfab3fd1799..144c3761a017bccf0026adb9b51d57cc28cdf519 100644 (file)
        (grantha #x11305)
        (newa #x11400)
        (tirhuta #x11481 #x1148F #x114D0)
-       (siddham #x11580)
+       (siddham #x1158E #x115AF #x115D4)
        (modi #x11600)
        (takri #x11680)
        (dogra #x11800)
                     kaithi
                     sharada
                     tirhuta
+                    siddham
                    makasar
                     dives-akuru
                    cuneiform
index 1e10c2a61a7d991a06bfdfa3ed2ad560583aa4c7..b399756bbea28288645218b62b2d9c8eb6dffa0a 100644 (file)
@@ -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
index b1e547a26ec4f959efdf28981fa8650afc2399f7..3bc03558c32d36bbcd134f4bcfbcc0f69d6b482b 100644 (file)
@@ -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