diff options
| author | Kenichi Handa | 1997-05-12 07:00:07 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1997-05-12 07:00:07 +0000 |
| commit | 8f3c9fa0695812301c2a2a4c85e51e43261e756c (patch) | |
| tree | f3a0b4e5decdcab4bcf5c52f0e9176227e6ab7c3 | |
| parent | fab8252e84c7d22b118b61e9581395a7c0295ae6 (diff) | |
| download | emacs-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.el | 44 |
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)) |
| 38 | devanagari-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 |