1 ;; quail/devanagari.el -- Quail packages for inputting Devanagari
3 ;; Copyright (C) 1997 Free Software Foundation, Inc.
5 ;; Author: KAWABATA, Taichi <kawabata@is.s.u-tokyo.ac.jp>
7 ;; Keywords: multilingual, input method, Indian, Devanagari
9 ;; This file is part of GNU Emacs.
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
12 ;; it under the terms of the GNU General Public License as published by
13 ;; the Free Software Foundation; either version 2, or (at your option)
16 ;; GNU Emacs is distributed in the hope that it will be useful,
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 ;; GNU General Public License for more details.
21 ;; You should have received a copy of the GNU General Public License
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24 ;; Boston, MA 02111-1307, USA.
29 ;; 1996.10.10 written by KAWABATA, Taichi <kawabata@is.s.u-tokyo.ac.jp>
30 ;; 1997.03.21 fixed by KAWABATA, Taichi
32 ;; I'm not sure if this keyboard layout is REALLY an ISCII keyboard layout.
33 ;; Please let me know if it is not.
40 ;; This function does nothing for now. For future use.
41 (defun quail-devanagari-update-translation (control-flag)
42 (cond ((eq control-flag t
) ; terminate translation with the whole key.
43 (insert quail-current-str
)
44 (quail-terminate-translation))
45 ((null control-flag
) ; proceed translation with more keys.
46 (insert (or quail-current-str quail-current-key
)))
47 (t ; control-flag is the number of keys to be translated.
48 (insert (aref quail-current-key
0))
49 (setq unread-command-events
50 (list (aref quail-current-key control-flag
))))))
52 (defun quail-devanagari-compose-characters ()
54 (if (quail-point-in-conversion-region)
55 (let* ((from (overlay-start quail-conv-overlay
))
56 (to (overlay-end quail-conv-overlay
))
57 (dstr (buffer-substring from to
)))
58 (setq overriding-terminal-local-map nil
61 (concat (devanagari-compose-string dstr
'sanskrit
)
62 (list (if (numberp last-command-char
)
64 (get last-command-char
'ascii-character
))))))))
67 "devanagari-keyboard-a" "Devanagari" "DevK" t
68 "Devanagari input method with ISCII format
70 `\e$(5!\\e(B !\e$(5!.\e(B @\e$(5!c\e(B #x $x %x ^x &\e$(5")\e(B *\e$
(5"(\e(B ( ) _\e$(5!#\e(B +\e$(5!*\e(B
71 ~\e$(5!/\e(B 1\e$(5!r\e(B 2\e$(5!s\e(B 3\e$(5!t\e(B 4\e$(5!u\e(B 5\e$(5!v\e(B 6\e$(5!w\e(B 7\e$(5!x\e(B 8\e$(5!y\e(B 9\e$(5!z\e(B 0\e$(5!q\e(B - =\e$(5!_\e(B
73 Q\e$(5!f\e(B W\e$(5!-\e(B E\e$(5!%\e(B R\e$(5!'\e(B T\e$(5!)\e(B Y\e$(5!K\e(B U\e$(5!7\e(B I\e$(5!E\e(B O\e$(5!C\e(B P\e$(5!;\e(B {\e$(5!@\e(B }\e$(5!<\e(B |\e$(5!2\e(B
74 q\e$(5!f\e(B w\e$(5!b\e(B e\e$(5!Z\e(B r\e$(5!\\e(B t\e$(5!^\e(B y\e$(5!J\e(B u\e$(5!X\e(B i\e$(5!5\e(B o\e$(5!D\e(B p\e$(5!:\e(B [\e$(5!?\e(B ]\e$(5!i\e(B \\\e$(5!g\e(B
76 A\e$(5!0\e(B S\e$(5!,\e(B D\e$(5!$\e(B F\e$(5!&\e(B G\e$(5!(\e(B H\e$(5!I\e(B J\e$(5!P\e(B K\e$(5!4\e(B l\e$(5!C\e(B :\e$(5!8\e(B \"\e$(5!>\e(B
77 a\e$(5!e\e(B s\e$(5!a\e(B d\e$(5!h\e(B f\e$(5![\e(B g\e$(5!]\e(B h\e$(5!H\e(B j\e$(5!O\e(B k\e$(5!3\e(B l\e$(5!B\e(B ;\e$(5!9\e(B '\e$(5!=\e(B
79 Z\e$(5!+\e(B X\e$(5!!\e(B C\e$(5!A\e(B V\e$(5!G\e(B B\e$(5!S\e(B N\e$(5!R\e(B M\e$(5!U\e(B <\e$(5!V\e(B >\e$(5!j\e(B ?\e$(5!N\e(B
80 z\e$(5!`\e(B x\e$(5!"\e(B c
\e$
(5!L
\e(B v
\e$
(5!F
\e(B b
\e$
(5!T
\e(B n
\e$
(5!Q
\e(B m
\e$
(5!W
\e(B , .
/\e$
(5!M
\e(B
82 nil t t nil nil nil nil nil
83 ;;'quail-devanagari-update-translation
85 '((" " . quail-devanagari-compose-characters)
86 ("-
" . quail-devanagari-compose-characters)
87 ("," . quail-devanagari-compose-characters)
88 ("\C-m
" . quail-devanagari-compose-characters)
89 ([return] . quail-devanagari-compose-characters))
92 ;; ..... (not prepared yet)
93 ;; I forgot where I got this keymap from.
94 ;; Please let me know if you know what this keymap is.
104 ("#" ?# ) ; following "r
" in keymap...
106 ("$
" ?$ ) ; preceding "r
" in keymap...
112 ("&" ?\e$(5")\e(B) ; % special
114 ("*" ?
\e$
(5"(\e(B) ; % special
195 ;; Quail Devanagari Input By Transliteration
200 (defvar devanagari-consonant-transliteration-alist
203 ("k
" . "\e$
(5!3\e(B")
204 ("k.
" . "\e$
(5!3!i
\e(B")
205 ("kh
" . "\e$
(5!4\e(B")
206 ("kh.
" . "\e$
(5!4!i
\e(B")
207 ("g
" . "\e$
(5!5\e(B")
208 ("g.
" . "\e$
(5!5!i
\e(B")
209 ("gh
" . "\e$
(5!6\e(B")
210 ("G
" . "\e$
(5!7\e(B")
212 ("c
" . "\e$
(5!8\e(B")
213 ("ch
" . "\e$
(5!9\e(B")
214 ("j
" . "\e$
(5!:\e(B")
215 ("j.
" . "\e$
(5!:!i
\e(B")
216 ("Z
" . "\e$
(5!:!i
\e(B")
217 ("jh
" . "\e$
(5!;\e(B")
218 ("J" .
"\e$(5!<\e(B")
220 ("T" .
"\e$(5!=\e(B")
221 ("Th" .
"\e$(5!>\e(B")
222 ("D" .
"\e$(5!?\e(B")
223 ("D." .
"\e$(5!?!i\e(B")
224 ("Dh" .
"\e$(5!@\e(B")
225 ("Dh." .
"\e$(5!@!i\e(B")
226 ("N" .
"\e$(5!A\e(B")
228 ("t" .
"\e$(5!B\e(B")
229 ("th" .
"\e$(5!C\e(B")
230 ("d" .
"\e$(5!D\e(B")
231 ("dh" .
"\e$(5!E\e(B")
232 ("n" .
"\e$(5!F\e(B")
233 ("N." .
"\e$(5!G\e(B")
235 ("p" .
"\e$(5!H\e(B")
236 ("ph" .
"\e$(5!I\e(B")
237 ("ph." .
"\e$(5!I!i\e(B")
238 ("f" .
"\e$(5!I\e(B")
239 ("f." .
"\e$(5!I!i\e(B")
240 ("b" .
"\e$(5!J\e(B")
241 ("bh" .
"\e$(5!K\e(B")
242 ("m" .
"\e$(5!L\e(B")
244 ("y" .
"\e$(5!M\e(B")
245 ("y." .
"\e$(5!N\e(B")
246 ("Y" .
"\e$(5!N\e(B")
247 ("r" .
"\e$(5!O\e(B")
248 ("r." .
"\e$(5!P\e(B")
249 ("l" .
"\e$(5!Q\e(B")
250 ("W" .
"\e$(5!R\e(B")
251 ("W." .
"\e$(5!S\e(B")
252 ("v" .
"\e$(5!T\e(B")
253 ("w" .
"\e$(5!T\e(B")
255 ("z" .
"\e$(5!U\e(B")
256 ("S" .
"\e$(5!V\e(B")
257 ("s" .
"\e$(5!W\e(B")
258 ("h" .
"\e$(5!X\e(B")
261 (defvar devanagari-vowel-transliteration-alist
263 ;; Special treatment unique to IS 13194 Transliteration
267 ("A" .
"\e$(5!Z\e(B")
268 ("i" .
"\e$(5![\e(B")
269 ("I" .
"\e$(5!\\e(B")
270 ("u" .
"\e$(5!]\e(B")
271 ("U" .
"\e$(5!^\e(B")
272 ("R" .
"\e$(5!_\e(B")
273 ;; ("RR" . "x") ; not specified in ordinary IS 13194.(but in Unicode??)
274 ("q" .
"\e$(5#K\e(B") ; "\e$(5#K\e(B" = "\e$(5!_!i\e(B" in IS 13194.
275 ("L" .
"\e$(5#L\e(B") ; "\e$(5#L\e(B" = "\e$(5![!i\e(B" in IS 13194.
276 ("E" .
"\e$(5#M\e(B") ; "\e$(5#M\e(B" = "\e$(5!\!i\e(B" in IS 13194.
277 ("E" .
"\e$(5!`\e(B") ; only for transcription of other scripts.
278 ("e" .
"\e$(5!a\e(B")
279 ("ai" .
"\e$(5!b\e(B")
280 ("ae" .
"\e$(5!b\e(B") ; variation of transliteration.
281 ("EE" .
"\e$(5!c\e(B") ; only for transcription of other scripts. (Candra E)
282 ("O" .
"\e$(5!d\e(B") ; only for transcription of other scripts.
283 ("o" .
"\e$(5!e\e(B")
284 ("au" .
"\e$(5!f\e(B")
285 ("ao" .
"\e$(5!f\e(B") ; variation of transliteration.
286 ("OO" .
"\e$(5!g\e(B") ; only for transcription of other scripts. (Candra O)
290 ;; Independent vowels and other signs.
293 (defvar devanagari-other-letters-alist
295 ("a" .
"\e$(5!$\e(B")
296 ("A" .
"\e$(5!%\e(B")
297 ("i" .
"\e$(5!&\e(B")
298 ("I" .
"\e$(5!'\e(B")
299 ("u" .
"\e$(5!(\e(B")
300 ("U" .
"\e$(5!)\e(B")
301 ("R" .
"\e$(5!*\e(B")
302 ;; ("RR" . "x") ; not specified in IS 13194. (but in Unicode??)
303 ("q" .
"\e$(5#*\e(B") ; "\e$(5#*\e(B" = "\e$(5!*!i\e(B" in IS 13194.
304 ("L" .
"\e$(5#&\e(B") ; "\e$(5#&\e(B" = "\e$(5!&!i\e(B" in IS 13194.
305 ("E" .
"\e$(5#'\e(B") ; "\e$(5#'\e(B" = "\e$(5!'!i\e(B" in IS 13194.
306 ("Ex" .
"\e$(5!+\e(B") ; only for transcription of other scripts.
307 ("e" .
"\e$(5!,\e(B")
308 ("ai" .
"\e$(5!-\e(B")
309 ("EE" .
"\e$(5!.\e(B") ; only for transcription of other scripts. (Candra E)
310 ("O" .
"\e$(5!/\e(B") ; only for transcription of other scripts.
311 ("o" .
"\e$(5!0\e(B")
312 ("au" .
"\e$(5!1\e(B")
313 ("ao" .
"\e$(5!1\e(B") ; variation of transliteration.
314 ("OO" .
"\e$(5!2\e(B") ; only for transcription of other scripts. (Candra O)
315 ("'" .
"\e$(5#J\e(B") ; avagraha
316 ("@" .
"\e$(5#!\e(B") ; OM
317 ("/" .
"\e$(5!j\e(B")
318 ("M" .
"\e$(5!"\e(B")
319 ("&" . "\e$
(5!!\e(B")
320 ("H
" . "\e$
(5!#\e(B")
321 (".
" . "\e$
(5!i
\e(B") ; Nukta
322 ("0" . "\e$
(5!q
\e(B")
323 ("1" . "\e$
(5!r
\e(B")
324 ("2" . "\e$
(5!s
\e(B")
325 ("3" . "\e$
(5!t
\e(B")
326 ("4" . "\e$
(5!u
\e(B")
327 ("5" . "\e$
(5!v
\e(B")
328 ("6" . "\e$
(5!w
\e(B")
329 ("7" . "\e$
(5!x
\e(B")
330 ("8" . "\e$
(5!y
\e(B")
331 ("9" . "\e$
(5!z
\e(B")
335 (defmacro devanagari-transliteration-quail-define-rules ()
336 (cons 'quail-define-rules
337 (let ((cl devanagari-consonant-transliteration-alist)
338 (ml devanagari-other-letters-alist) rules)
340 (let ((vl devanagari-vowel-transliteration-alist))
343 (cons (list (concat (car (car cl)) (car (car vl)))
345 (concat (cdr (car cl)) (cdr (car vl)))))
350 (setq rules (cons (list (car (car ml))
351 (make-vector 1 (cdr (car ml))))
356 (quail-define-package
357 "devanagari-transliteration
" "Devanagari
" "DEVt
" t
358 "Devanagari input method by transliteration
359 VOWELS
: a
\e$
(5!$
\e(B A
\e$
(5!%
\e(B i
\e$
(5!&\e(B I
\e$
(5!'\e(B u
\e$
(5!(\e(B U
\e$
(5!)\e(B
360 R
\e$
(5!*\e(B q
\e$
(5#*\e(B L
\e$
(5#&\e(B E
\e$
(5#'\e(B Ex
\e$
(5!+\e(B e
\e$
(5!,\e(B
361 ai
\e$
(5!-
\e(B EE
\e$
(5!.
\e(B O
\e$
(5!/\e(B o
\e$
(5!0\e(B au
\e$
(5!1\e(B OO
\e$
(5!2\e(B
362 GRUTTALS
: k
\e$
(5!3\e(B kh
\e$
(5!4\e(B g
\e$
(5!5\e(B gh
\e$
(5!6\e(B G
\e$
(5!7\e(B
363 PALATALS
: c
\e$
(5!8\e(B ch
\e$
(5!9\e(B j
\e$
(5!:\e(B jh
\e$
(5!;\e(B J \e$(5!<\e(B (Z \e$(5!:!i\e(B)
364 CEREBRALS
: T
\e$
(5!=\e(B Th
\e$
(5!>\e(B D
\e$
(5!?
\e(B Dh
\e$
(5!@\e(B N
\e$
(5!A
\e(B
365 DENTALS
: t
\e$
(5!B
\e(B th
\e$
(5!C
\e(B d
\e$
(5!D
\e(B dh
\e$
(5!E
\e(B n
\e$
(5!F
\e(B (Nq \e$
(5!G
\e(B)
366 LABIALS
: p
\e$
(5!H
\e(B ph
\e$
(5!I
\e(B b
\e$
(5!J
\e(B bh
\e$
(5!K
\e(B m
\e$
(5!L
\e(B (f \e$
(5!I
\e(B)
367 SEMIVOWELS
: y
\e$
(5!M
\e(B Y
\e$
(5!N
\e(B r
\e$
(5!O
\e(B Rq
\e$
(5!P
\e(B
368 l
\e$
(5!Q
\e(B W
\e$
(5!R
\e(B W.
\e$
(5!S
\e(B v
\e$
(5!T
\e(B w
\e$
(5!T
\e(B
369 SIBILANTS
: z
\e$
(5!U
\e(B S
\e$
(5!V
\e(B s
\e$
(5!W
\e(B h
\e$
(5!X
\e(B
371 Specials
: Anuswar M
\e$
(5!"\e(B Visarg H \e$(5!#\e(B
372 Chandrabindu & \e$(5!!\e(B Nukta . \e$(5!i\e(B
373 Danda / \e$(5!j\e(B Avagrah ' \e$(5#J\e(B
376 nil t t nil nil nil nil nil
377 ;; 'quail-devanagari-update-translation
379 '((" " . quail-devanagari-compose-characters
)
380 ("-" . quail-devanagari-compose-characters
)
381 ("," . quail-devanagari-compose-characters
)
382 ("\C-m" . quail-devanagari-compose-characters
)
383 ([return] . quail-devanagari-compose-characters))
386 (devanagari-transliteration-quail-define-rules)
389 ;; ITRANS - Indian Script Translation
394 (defun rule-indian-to-devanagari (alist)
396 (cons (cons (car (car alist))
397 (indian-to-devanagari-string (cdr (car alist))))
398 (rule-indian-to-devanagari (cdr alist)))))
403 (defvar devanagari-consonant-itrans-alist
404 (rule-indian-to-devanagari indian-itrans-consonant-alist))
406 (defvar devanagari-vowel-itrans-alist
407 (rule-indian-to-devanagari indian-itrans-vowel-sign-alist))
409 (defvar devanagari-other-letters-itrans-alist
410 (rule-indian-to-devanagari indian-itrans-other-letters-alist))
414 (defmacro devanagari-itrans-quail-define-rules ()
415 (cons 'quail-define-rules
416 (let ((cl devanagari-consonant-itrans-alist)
417 (ml devanagari-other-letters-itrans-alist) rules)
419 (let ((vl devanagari-vowel-itrans-alist))
422 (cons (list (concat (car (car cl)) (car (car vl)))
424 (concat (cdr (car cl)) (cdr (car vl)))))
429 (setq rules (cons (list (car (car ml))
430 (make-vector 1 (cdr (car ml))))
435 (quail-define-package
436 "devanagari-itrans" "Devanagari" "DEVi" t
437 "Devanagari input method by ITRANS
438 Special Keys : Anuswar n'
441 Nukta type capital letter for first character.
442 \e$(5!7\e(B(ng) \e$(5!<\e(B(ny) \e$(5!A\e(B(nn) \e$(5!F\e(B(n) \e$(5!G\e(B(nnn)
444 nil t t nil nil nil nil nil
445 ;; 'quail-devanagari-update-translation
447 '((" " . quail-devanagari-compose-characters)
448 ("-" . quail-devanagari-compose-characters)
449 ("," . quail-devanagari-compose-characters)
450 ("\C-m" . quail-devanagari-compose-characters)
451 ([return] . quail-devanagari-compose-characters
))
454 (devanagari-itrans-quail-define-rules)
458 ;; Quail Hindi Input By Transliteration
461 (defun quail-devanagari-hindi-compose-characters ()
463 (if (quail-point-in-conversion-region)
464 (let* ((from (overlay-start quail-conv-overlay
))
465 (to (overlay-end quail-conv-overlay
))
466 (dstr (buffer-substring from to
)))
467 (setq overriding-terminal-local-map nil
470 (concat (devanagari-compose-string dstr
)
471 (list (if (numberp last-command-char
)
473 (get last-command-char
'ascii-character
))))))))
477 (defvar devanagari-hindi-consonant-transliteration-alist
480 ("k" .
"\e$(5!3\e(B")
481 ("ks" .
"\e$(5$.\e(B")
482 ("k." .
"\e$(5!3!i\e(B")
483 ("kh" .
"\e$(5!4\e(B")
484 ("kh." .
"\e$(5!4!i\e(B")
485 ("g" .
"\e$(5!5\e(B")
486 ("g." .
"\e$(5!5!i\e(B")
487 ("gh" .
"\e$(5!6\e(B")
488 ("G" .
"\e$(5!7\e(B")
490 ("ch" .
"\e$(5!8\e(B")
491 ("chh" .
"\e$(5!9\e(B")
492 ("j" .
"\e$(5!:\e(B")
493 ("j." .
"\e$(5!:!i\e(B")
494 ("z" .
"\e$(5!:!i\e(B")
495 ("jh" .
"\e$(5!;\e(B")
496 ("J" .
"\e$(5!<\e(B")
498 ("T" .
"\e$(5!=\e(B")
499 ("Th" .
"\e$(5!>\e(B")
500 ("D" .
"\e$(5!?\e(B")
501 ("D." .
"\e$(5!?!i\e(B")
502 ("Dh" .
"\e$(5!@\e(B")
503 ("Dh." .
"\e$(5!@!i\e(B")
504 ("N" .
"\e$(5!A\e(B")
506 ("t" .
"\e$(5!B\e(B")
507 ("th" .
"\e$(5!C\e(B")
508 ("d" .
"\e$(5!D\e(B")
509 ("dh" .
"\e$(5!E\e(B")
510 ("n" .
"\e$(5!F\e(B")
511 ("N." .
"\e$(5!G\e(B")
513 ("p" .
"\e$(5!H\e(B")
514 ("ph" .
"\e$(5!I\e(B")
515 ("ph." .
"\e$(5!I!i\e(B")
516 ("f" .
"\e$(5!I\e(B")
517 ("f." .
"\e$(5!I!i\e(B")
518 ("b" .
"\e$(5!J\e(B")
519 ("bh" .
"\e$(5!K\e(B")
520 ("m" .
"\e$(5!L\e(B")
522 ("y" .
"\e$(5!M\e(B")
523 ("y." .
"\e$(5!N\e(B")
524 ("Y" .
"\e$(5!N\e(B")
525 ("r" .
"\e$(5!O\e(B")
526 ("r." .
"\e$(5!P\e(B")
527 ("l" .
"\e$(5!Q\e(B")
528 ("W" .
"\e$(5!R\e(B")
529 ("W." .
"\e$(5!S\e(B")
530 ("v" .
"\e$(5!T\e(B")
531 ("w" .
"\e$(5!T\e(B")
533 ("sh" .
"\e$(5!U\e(B")
534 ("S" .
"\e$(5!V\e(B")
535 ("s" .
"\e$(5!W\e(B")
536 ("h" .
"\e$(5!X\e(B")
538 ("ks" .
"\e$(5$.\e(B")
539 ("tr" .
"\e$(5"%
\e(B")
540 ("xn
" . "\e$
(5$E
\e(B")
543 (defvar devanagari-hindi-vowel-transliteration-alist
545 ; In hindi, halant sign is rarely used so should explicity typed in.
547 ("~
" . "\e$
(5!h
\e(B")
549 ("a
" . "\e$
(5!Z
\e(B")
550 ("i
" . "\e$
(5![\e(B")
551 ("I
" . "\e$
(5!\
\e(B")
552 ("u
" . "\e$
(5!]\e(B")
553 ("U
" . "\e$
(5!^
\e(B")
554 ("R
" . "\e$
(5!_
\e(B")
555 ;; ("RR
" . "x
") ; not specified in ordinary IS 13194.(but in Unicode??)
556 ("q
" . "\e$
(5#K
\e(B") ; "\e$
(5#K
\e(B" = "\e$
(5!_
!i
\e(B" in IS 13194.
557 ("L
" . "\e$
(5#L
\e(B") ; "\e$
(5#L
\e(B" = "\e$
(5![!i
\e(B" in IS 13194.
558 ("E
" . "\e$
(5#M
\e(B") ; "\e$
(5#M
\e(B" = "\e$
(5!\
!i
\e(B" in IS 13194.
559 ("E
" . "\e$
(5!`\e(B") ; only for transcription of other scripts.
560 ("e
" . "\e$
(5!a
\e(B")
561 ("ai
" . "\e$
(5!b
\e(B")
562 ("ae
" . "\e$
(5!b
\e(B") ; variation of transliteration.
563 ("EE
" . "\e$
(5!c
\e(B") ; only for transcription of other scripts. (Candra E)
564 ("O
" . "\e$
(5!d
\e(B") ; only for transcription of other scripts.
565 ("o
" . "\e$
(5!e
\e(B")
566 ("au
" . "\e$
(5!f
\e(B")
567 ("ao
" . "\e$
(5!f
\e(B") ; variation of transliteration.
568 ("OO
" . "\e$
(5!g
\e(B") ; only for transcription of other scripts. (Candra O)
572 ;; Independent vowels and other signs.
575 (defvar devanagari-hindi-other-letters-alist
577 ("a
" . "\e$
(5!$
\e(B")
578 ("A
" . "\e$
(5!%
\e(B")
579 ("i
" . "\e$
(5!&\e(B")
580 ("I
" . "\e$
(5!'\e(B")
581 ("u
" . "\e$
(5!(\e(B")
582 ("U
" . "\e$
(5!)\e(B")
583 ("R
" . "\e$
(5!*\e(B")
584 ;; ("RR
" . "x
") ; not specified in IS 13194. (but in Unicode??)
585 ("q
" . "\e$
(5#*\e(B") ; "\e$
(5#*\e(B" = "\e$
(5!*!i
\e(B" in IS 13194.
586 ("L
" . "\e$
(5#&\e(B") ; "\e$
(5#&\e(B" = "\e$
(5!&!i
\e(B" in IS 13194.
587 ("E
" . "\e$
(5#'\e(B") ; "\e$
(5#'\e(B" = "\e$
(5!'!i
\e(B" in IS 13194.
588 ("Ex
" . "\e$
(5!+\e(B") ; only for transcription of other scripts.
589 ("e
" . "\e$
(5!,\e(B")
590 ("ai
" . "\e$
(5!-
\e(B")
591 ("EE
" . "\e$
(5!.
\e(B") ; only for transcription of other scripts. (Candra E)
592 ("O
" . "\e$
(5!/\e(B") ; only for transcription of other scripts.
593 ("o
" . "\e$
(5!0\e(B")
594 ("au
" . "\e$
(5!1\e(B")
595 ("ao
" . "\e$
(5!1\e(B") ; variation of transliteration.
596 ("OO
" . "\e$
(5!2\e(B") ; only for transcription of other scripts. (Candra O)
597 ("'" . "\e$
(5#J
\e(B") ; avagraha
598 ("@" . "\e$
(5#!\e(B") ; OM
599 ("/" . "\e$
(5!j
\e(B")
600 ("M
" . "\e$
(5!"\e(B")
601 ("&" .
"\e$(5!!\e(B")
602 ("H" .
"\e$(5!#\e(B")
603 ("." .
"\e$(5!i\e(B") ; Nukta
604 ("0" .
"\e$(5!q\e(B")
605 ("1" .
"\e$(5!r\e(B")
606 ("2" .
"\e$(5!s\e(B")
607 ("3" .
"\e$(5!t\e(B")
608 ("4" .
"\e$(5!u\e(B")
609 ("5" .
"\e$(5!v\e(B")
610 ("6" .
"\e$(5!w\e(B")
611 ("7" .
"\e$(5!x\e(B")
612 ("8" .
"\e$(5!y\e(B")
613 ("9" .
"\e$(5!z\e(B")
617 (defmacro devanagari-hindi-transliteration-quail-define-rules
()
618 (cons 'quail-define-rules
619 (let ((cl devanagari-hindi-consonant-transliteration-alist
)
620 (ml devanagari-hindi-other-letters-alist
) rules
)
622 (let ((vl devanagari-hindi-vowel-transliteration-alist
))
625 (cons (list (concat (car (car cl
)) (car (car vl
)))
627 (concat (cdr (car cl
)) (cdr (car vl
)))))
632 (setq rules
(cons (list (car (car ml
))
633 (make-vector 1 (cdr (car ml
))))
638 (quail-define-package
639 "devanagari-hindi-transliteration" "Hindi" "HINt" t
640 "Devanagari-Hindi input method by transliteration
641 VOWELS : a \e$(5!$\e(B A \e$(5!%\e(B i \e$(5!&\e(B I \e$(5!'\e(B u \e$(5!(\e(B U \e$(5!)\e(B
642 R \e$(5!*\e(B q \e$(5#*\e(B L \e$(5#&\e(B E \e$(5#'\e(B Ex \e$(5!+\e(B e \e$(5!,\e(B
643 ai \e$(5!-\e(B EE \e$(5!.\e(B O \e$(5!/\e(B o \e$(5!0\e(B au \e$(5!1\e(B OO \e$(5!2\e(B
644 GRUTTALS : k \e$(5!3\e(B kh \e$(5!4\e(B g \e$(5!5\e(B gh \e$(5!6\e(B G \e$(5!7\e(B
645 PALATALS : c \e$(5!8\e(B ch \e$(5!9\e(B j \e$(5!:\e(B jh \e$(5!;\e(B J \e$(5!<\e(B z \e$(5!:!i\e(B
646 CEREBRALS : T \e$(5!=\e(B Th \e$(5!>\e(B D \e$(5!?\e(B Dh \e$(5!@\e(B N \e$(5!A\e(B
647 DENTALS : t \e$(5!B\e(B th \e$(5!C\e(B d \e$(5!D\e(B dh \e$(5!E\e(B n \e$(5!F\e(B (Nq \e$(5!G\e(B)
648 LABIALS : p \e$(5!H\e(B ph \e$(5!I\e(B b \e$(5!J\e(B bh \e$(5!K\e(B m \e$(5!L\e(B (f \e$(5!I\e(B)
649 SEMIVOWELS : y \e$(5!M\e(B Y \e$(5!N\e(B r \e$(5!O\e(B Rq \e$(5!P\e(B
650 l \e$(5!Q\e(B W \e$(5!R\e(B W. \e$(5!S\e(B v \e$(5!T\e(B w \e$(5!T\e(B
651 SIBILANTS : sh \e$(5!U\e(B S \e$(5!V\e(B s \e$(5!W\e(B h \e$(5!X\e(B
652 OTHERS : ks \e$(5$.\e(B tr \e$(5"%
\e(B xn
\e$
(5$E
\e(B
654 Specials
: Anuswar M
\e$
(5!"\e(B Visarg H \e$(5!#\e(B
655 Chandrabindu & \e$(5!!\e(B Nukta . \e$(5!i\e(B
656 Danda / \e$(5!j\e(B Avagrah ' \e$(5#J\e(B
657 OM @ \e$(5#!\e(B Halant ~ \e$(5!h\e(B
659 nil t t nil nil nil nil nil
660 ;; 'quail-devanagari-update-translation
662 '((" " . quail-devanagari-hindi-compose-characters
)
663 ("-" . quail-devanagari-hindi-compose-characters
)
664 ("," . quail-devanagari-hindi-compose-characters
)
665 ("\C-m" . quail-devanagari-hindi-compose-characters
)
666 ([return] . quail-devanagari-hindi-compose-characters))
669 (devanagari-hindi-transliteration-quail-define-rules)