aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa1997-05-12 07:00:07 +0000
committerKenichi Handa1997-05-12 07:00:07 +0000
commit8f3c9fa0695812301c2a2a4c85e51e43261e756c (patch)
treef3a0b4e5decdcab4bcf5c52f0e9176227e6ab7c3
parentfab8252e84c7d22b118b61e9581395a7c0295ae6 (diff)
downloademacs-8f3c9fa0695812301c2a2a4c85e51e43261e756c.tar.gz
emacs-8f3c9fa0695812301c2a2a4c85e51e43261e756c.zip
Make functions setup-LANGUAGE-environment
interactive and add new functions describe-LANGUAGE-support for all LANGUAGEs supported. Remove resisterations of input methods which use the function encoded-kbd-select-terminal. Change function of post-read-conversion and pre-write-conversion of coding system in-is13194-devanagari to in-is13194-devanagari-post-read-conversion and in-is13194-devanagari-pre-write-conversion respectively. Setting of syntax and category for Devanagari characters are moved to characters.el.
-rw-r--r--lisp/language/devanagari.el44
1 files changed, 12 insertions, 32 deletions
diff --git a/lisp/language/devanagari.el b/lisp/language/devanagari.el
index ce0d45de552..9fd47c57607 100644
--- a/lisp/language/devanagari.el
+++ b/lisp/language/devanagari.el
@@ -35,10 +35,11 @@
35 "Coding-system used for ASCII(MSB=0) & IS13194-Devanagari(MSB=1)." 35 "Coding-system used for ASCII(MSB=0) & IS13194-Devanagari(MSB=1)."
36 '((ascii t) (indian-is13194 t) nil nil 36 '((ascii t) (indian-is13194 t) nil nil
37 nil ascii-eol)) 37 nil ascii-eol))
38devanagari-compose-from-is13194-region
38(put 'in-is13194-devanagari 39(put 'in-is13194-devanagari
39 'post-read-conversion 'devanagari-compose-from-is13194-region) 40 'post-read-conversion 'in-is13194-devanagari-post-read-conversion)
40(put 'in-is13194-devanagari 41(put 'in-is13194-devanagari
41 'pre-write-conversion 'devanagari-decompose-to-is13194-region) 42 'pre-write-conversion 'in-is13194-devanagari-pre-write-conversion)
42 43
43(register-input-method 44(register-input-method
44 "Devanagari" '("quail-devanagari-transliteration" quail-use-package 45 "Devanagari" '("quail-devanagari-transliteration" quail-use-package
@@ -57,6 +58,8 @@
57 "quail/devanagari")) 58 "quail/devanagari"))
58 59
59(defun setup-devanagari-environment () 60(defun setup-devanagari-environment ()
61 "Setup multilingual environment (MULE) for languages using Devanagari."
62 (interactive)
60 (setq coding-category-iso-8-1 'in-is13194-devanagari) 63 (setq coding-category-iso-8-1 'in-is13194-devanagari)
61 64
62 (set-coding-priority 65 (set-coding-priority
@@ -68,40 +71,17 @@
68 (setq default-input-method '("Devanagari" . "quail-devanagari-itrans")) 71 (setq default-input-method '("Devanagari" . "quail-devanagari-itrans"))
69 ) 72 )
70 73
74(defun describe-devanagari-support ()
75 "Describe how Emacs support languages using Devanagari script."
76 (interactive)
77 (describe-language-support-internal "Devanagari"))
78
71(set-language-info-alist 79(set-language-info-alist
72 "Devanagari" '((setup-function . setup-devanagari-environment) 80 "Devanagari" '((setup-function . setup-devanagari-environment)
81 (describe-function . describe-devanagari-support)
73 (charset . (indian-is13194 indian-2-column indian-1-column)) 82 (charset . (indian-is13194 indian-2-column indian-1-column))
74 (coding-system . (in-is13194-devanagari)) 83 (coding-system . (in-is13194-devanagari))
75 (documentation . t))) 84 (documentation . nil)))
76
77(let ((deflist '(;; chars syntax category
78 ("$(5!!!"!#(B" "w" ?7) ; vowel-modifying diacritical mark
79 ; chandrabindu, anuswar, visarga
80 ("$(5!$(B-$(5!2(B" "w" ?5) ; independent vowel
81 ("$(5!3(B-$(5!X(B" "w" ?0) ; consonant
82 ("$(5!Z(B-$(5!g(B" "w" ?8) ; matra
83 ("$(5!q(B-$(5!z(B" "w" ?6) ; digit
84 ))
85 elm chars len syntax category to ch i)
86 (while deflist
87 (setq elm (car deflist))
88 (setq chars (car elm)
89 len (length chars)
90 syntax (nth 1 elm)
91 category (nth 2 elm)
92 i 0)
93 (while (< i len)
94 (if (= (aref chars i) ?-)
95 (setq i (1+ i)
96 to (sref chars i))
97 (setq ch (sref chars i)
98 to ch))
99 (while (<= ch to)
100 (modify-syntax-entry ch syntax)
101 (modify-category-entry ch category)
102 (setq ch (1+ ch)))
103 (setq i (+ i (char-bytes to))))
104 (setq deflist (cdr deflist))))
105 85
106;; 86;;
107;; Devanagari Glyph List 87;; Devanagari Glyph List