+++ /dev/null
-;;; devanagari.el --- Quail packages for inputting Devanagari -*-coding: iso-2022-7bit;-*-
-
-;; Copyright (C) 1997 Free Software Foundation, Inc.
-
-;; Author: KAWABATA, Taichi <kawabata@is.s.u-tokyo.ac.jp>
-
-;; Keywords: multilingual, input method, Indian, Devanagari
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-;; History:
-;; 1996.10.10 written by KAWABATA, Taichi <kawabata@is.s.u-tokyo.ac.jp>
-;; 1997.03.21 fixed by KAWABATA, Taichi
-
-;; I'm not sure if this keyboard layout is REALLY an ISCII keyboard layout.
-;; Please let me know if it is not.
-
-;;; Code:
-
-(require 'quail)
-(require 'devan-util)
-
-;; This function does nothing for now. For future use.
-(defun quail-devanagari-update-translation (control-flag)
- (cond ((eq control-flag t) ; terminate translation with the whole key.
- (insert quail-current-str)
- (quail-terminate-translation))
- ((null control-flag) ; proceed translation with more keys.
- (insert (or quail-current-str quail-current-key)))
- (t ; control-flag is the number of keys to be translated.
- (insert (aref quail-current-key 0))
- (setq unread-command-events
- (list (aref quail-current-key control-flag))))))
-
-(defun quail-devanagari-compose-characters ()
- (interactive)
- (if (quail-point-in-conversion-region)
- (let* ((from (overlay-start quail-conv-overlay))
- (to (overlay-end quail-conv-overlay))
- (dstr (buffer-substring from to)))
- (setq overriding-terminal-local-map nil
- quail-converting nil
- quail-conversion-str
- (concat (devanagari-compose-string dstr 'sanskrit)
- (list (if (numberp last-command-char)
- last-command-char
- (get last-command-char 'ascii-character))))))))
-
-(quail-define-package
- "devanagari-keyboard-a" "Devanagari" "DevK" t
- "Devanagari input method with ISCII format
-
- `\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
- ~\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
-
- 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
- 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
-
- 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
- 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
-
- 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
- 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
-"
- nil t t nil nil nil nil nil
- ;;'quail-devanagari-update-translation
- nil
- '((" " . quail-devanagari-compose-characters)
- ("-" . quail-devanagari-compose-characters)
- ("," . quail-devanagari-compose-characters)
- ("\C-m" . quail-devanagari-compose-characters)
- ([return] . quail-devanagari-compose-characters))
- )
-
-;; ..... (not prepared yet)
-;; I forgot where I got this keymap from.
-;; Please let me know if you know what this keymap is.
-
-(quail-define-rules
- ("`" ?\e$(5!\\e(B)
- ("~" ?\e$(5!/\e(B)
- ("1" ?\e$(5!r\e(B)
- ("!" ?\e$(5!.\e(B)
- ("2" ?\e$(5!s\e(B)
- ("@" ?\e$(5!c\e(B)
- ("3" ?\e$(5!t\e(B)
- ("#" ?# ) ; following "r" in keymap...
- ("4" ?\e$(5!u\e(B)
- ("$" ?$ ) ; preceding "r" in keymap...
- ("5" ?\e$(5!v\e(B)
- ("%" ?x ) ; ??
- ("6" ?\e$(5!w\e(B)
- ("^" ?x ) ; %tra
- ("7" ?\e$(5!x\e(B)
- ("&" ?\e$(5")\e(B) ; % special
- ("8" ?\e$(5!y\e(B)
- ("*" ?\e$(5"(\e(B) ; % special
- ("9" ?\e$(5!z\e(B)
- ("(" ?\()
- ("0" ?\e$(5!q\e(B)
- (")" ?\))
- ("-" ?-)
- ("_" ?\e$(5!#\e(B)
- ("=" ?\e$(5!_\e(B)
- ("+" ?\e$(5!*\e(B)
- ("q" ?\e$(5!f\e(B)
- ("Q" ?\e$(5!1\e(B)
- ("w" ?\e$(5!b\e(B)
- ("W" ?\e$(5!-\e(B)
- ("e" ?\e$(5!Z\e(B)
- ("E" ?\e$(5!%\e(B)
- ("r" ?\e$(5!\\e(B)
- ("R" ?\e$(5!'\e(B)
- ("t" ?\e$(5!^\e(B)
- ("T" ?\e$(5!)\e(B)
- ("y" ?\e$(5!J\e(B)
- ("Y" ?\e$(5!K\e(B)
- ("u" ?\e$(5!X\e(B)
- ("U" ?\e$(5!7\e(B)
- ("i" ?\e$(5!5\e(B)
- ("I" ?\e$(5!E\e(B)
- ("o" ?\e$(5!D\e(B)
- ("O" ?\e$(5!C\e(B)
- ("p" ?\e$(5!:\e(B)
- ("P" ?\e$(5!;\e(B)
- ("[" ?\e$(5!?\e(B)
- ("{" ?\e$(5!@\e(B)
- ("]" ?\e$(5!i\e(B)
- ("}" ?\e$(5!<\e(B)
- ("\\" ?\e$(5!g\e(B)
- ("|" ?\e$(5!2\e(B)
- ("a" ?\e$(5!e\e(B)
- ("A" ?\e$(5!0\e(B)
- ("s" ?\e$(5!a\e(B)
- ("S" ?\e$(5!,\e(B)
- ("d" ?\e$(5!h\e(B)
- ("D" ?\e$(5!$\e(B)
- ("f" ?\e$(5![\e(B)
- ("F" ?\e$(5!&\e(B)
- ("g" ?\e$(5!]\e(B)
- ("G" ?\e$(5!(\e(B)
- ("h" ?\e$(5!H\e(B)
- ("H" ?\e$(5!I\e(B)
- ("j" ?\e$(5!O\e(B)
- ("J" ?\e$(5!P\e(B)
- ("k" ?\e$(5!3\e(B)
- ("K" ?\e$(5!4\e(B)
- ("l" ?\e$(5!B\e(B)
- ("L" ?\e$(5!C\e(B)
- (";" ?\e$(5!8\e(B)
- (":" ?\e$(5!9\e(B)
- ("'" ?\e$(5!=\e(B)
- ("\"" ?\e$(5!>\e(B)
- ("z" ?\e$(5!`\e(B)
- ("Z" ?\e$(5!+\e(B)
- ("x" ?\e$(5!"\e(B)
- ("X" ?\e$(5!!\e(B)
- ("c" ?\e$(5!L\e(B)
- ("C" ?\e$(5!A\e(B)
- ("v" ?\e$(5!F\e(B)
- ("V" ?\e$(5!G\e(B)
- ("b" ?\e$(5!T\e(B)
- ("B" ?\e$(5!S\e(B)
- ("n" ?\e$(5!Q\e(B)
- ("N" ?\e$(5!R\e(B)
- ("m" ?\e$(5!W\e(B)
- ("M" ?\e$(5!U\e(B)
- ;; ("," ?,)
- ("<" ?\e$(5!V\e(B)
- ;; ("." ?.)
- (">" ?\e$(5!j\e(B)
- ("/" ?\e$(5!M\e(B)
- ("?" ?\e$(5!N\e(B)
- )
-
-
-;;
-;; Quail Devanagari Input By Transliteration
-;;
-
-(eval-when-compile
-
-(defvar devanagari-consonant-transliteration-alist
- '(
- ; GUTTURALS
- ("k" . "\e$(5!3\e(B")
- ("k." . "\e$(5!3!i\e(B")
- ("kh" . "\e$(5!4\e(B")
- ("kh." . "\e$(5!4!i\e(B")
- ("g" . "\e$(5!5\e(B")
- ("g." . "\e$(5!5!i\e(B")
- ("gh" . "\e$(5!6\e(B")
- ("G" . "\e$(5!7\e(B")
- ; PALATALS
- ("c" . "\e$(5!8\e(B")
- ("ch" . "\e$(5!9\e(B")
- ("j" . "\e$(5!:\e(B")
- ("j." . "\e$(5!:!i\e(B")
- ("Z" . "\e$(5!:!i\e(B")
- ("jh" . "\e$(5!;\e(B")
- ("J" . "\e$(5!<\e(B")
- ; CEREBRALS
- ("T" . "\e$(5!=\e(B")
- ("Th" . "\e$(5!>\e(B")
- ("D" . "\e$(5!?\e(B")
- ("D." . "\e$(5!?!i\e(B")
- ("Dh" . "\e$(5!@\e(B")
- ("Dh." . "\e$(5!@!i\e(B")
- ("N" . "\e$(5!A\e(B")
- ; 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")
- ("N." . "\e$(5!G\e(B")
- ; LABIALS
- ("p" . "\e$(5!H\e(B")
- ("ph" . "\e$(5!I\e(B")
- ("ph." . "\e$(5!I!i\e(B")
- ("f" . "\e$(5!I\e(B")
- ("f." . "\e$(5!I!i\e(B")
- ("b" . "\e$(5!J\e(B")
- ("bh" . "\e$(5!K\e(B")
- ("m" . "\e$(5!L\e(B")
- ; SEMIVOWELS
- ("y" . "\e$(5!M\e(B")
- ("y." . "\e$(5!N\e(B")
- ("Y" . "\e$(5!N\e(B")
- ("r" . "\e$(5!O\e(B")
- ("r." . "\e$(5!P\e(B")
- ("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")
- ; 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")
- ))
-
-(defvar devanagari-vowel-transliteration-alist
- '(
- ;; Special treatment unique to IS 13194 Transliteration
- ("" . "\e$(5!h\e(B")
- ("a" . "")
- ; Matra (Vowel Sign)
- ("A" . "\e$(5!Z\e(B")
- ("i" . "\e$(5![\e(B")
- ("I" . "\e$(5!\\e(B")
- ("u" . "\e$(5!]\e(B")
- ("U" . "\e$(5!^\e(B")
- ("R" . "\e$(5!_\e(B")
- ;; ("RR" . "x") ; not specified in ordinary IS 13194.(but in Unicode??)
- ("q" . "\e$(5#K\e(B") ; "\e$(5#K\e(B" = "\e$(5!_!i\e(B" in IS 13194.
- ("L" . "\e$(5#L\e(B") ; "\e$(5#L\e(B" = "\e$(5![!i\e(B" in IS 13194.
- ("E" . "\e$(5#M\e(B") ; "\e$(5#M\e(B" = "\e$(5!\!i\e(B" in IS 13194.
- ("E" . "\e$(5!`\e(B") ; only for transcription of other scripts.
- ("e" . "\e$(5!a\e(B")
- ("ai" . "\e$(5!b\e(B")
- ("ae" . "\e$(5!b\e(B") ; variation of transliteration.
- ("EE" . "\e$(5!c\e(B") ; only for transcription of other scripts. (Candra E)
- ("O" . "\e$(5!d\e(B") ; only for transcription of other scripts.
- ("o" . "\e$(5!e\e(B")
- ("au" . "\e$(5!f\e(B")
- ("ao" . "\e$(5!f\e(B") ; variation of transliteration.
- ("OO" . "\e$(5!g\e(B") ; only for transcription of other scripts. (Candra O)
- ))
-
-;;
-;; Independent vowels and other signs.
-;;
-
-(defvar devanagari-other-letters-alist
- '(
- ("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")
- ("R" . "\e$(5!*\e(B")
- ;; ("RR" . "x") ; not specified in IS 13194. (but in Unicode??)
- ("q" . "\e$(5#*\e(B") ; "\e$(5#*\e(B" = "\e$(5!*!i\e(B" in IS 13194.
- ("L" . "\e$(5#&\e(B") ; "\e$(5#&\e(B" = "\e$(5!&!i\e(B" in IS 13194.
- ("E" . "\e$(5#'\e(B") ; "\e$(5#'\e(B" = "\e$(5!'!i\e(B" in IS 13194.
- ("Ex" . "\e$(5!+\e(B") ; only for transcription of other scripts.
- ("e" . "\e$(5!,\e(B")
- ("ai" . "\e$(5!-\e(B")
- ("EE" . "\e$(5!.\e(B") ; only for transcription of other scripts. (Candra E)
- ("O" . "\e$(5!/\e(B") ; only for transcription of other scripts.
- ("o" . "\e$(5!0\e(B")
- ("au" . "\e$(5!1\e(B")
- ("ao" . "\e$(5!1\e(B") ; variation of transliteration.
- ("OO" . "\e$(5!2\e(B") ; only for transcription of other scripts. (Candra O)
- ("'" . "\e$(5#J\e(B") ; avagraha
- ("@" . "\e$(5#!\e(B") ; OM
- ("/" . "\e$(5!j\e(B")
- ("M" . "\e$(5!"\e(B")
- ("&" . "\e$(5!!\e(B")
- ("H" . "\e$(5!#\e(B")
- ("." . "\e$(5!i\e(B") ; Nukta
- ("0" . "\e$(5!q\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")
- ))
-)
-
-(defmacro devanagari-transliteration-quail-define-rules ()
- (cons 'quail-define-rules
- (let ((cl devanagari-consonant-transliteration-alist)
- (ml devanagari-other-letters-alist) rules)
- (while cl
- (let ((vl devanagari-vowel-transliteration-alist))
- (while vl
- (setq rules
- (cons (list (concat (car (car cl)) (car (car vl)))
- (make-vector 1
- (concat (cdr (car cl)) (cdr (car vl)))))
- rules))
- (setq vl (cdr vl))))
- (setq cl (cdr cl)))
- (while ml
- (setq rules (cons (list (car (car ml))
- (make-vector 1 (cdr (car ml))))
- rules))
- (setq ml (cdr ml)))
- rules)))
-
-(quail-define-package
- "devanagari-transliteration" "Devanagari" "DEVt" t
- "Devanagari input method by transliteration
-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
- 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
- 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
-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
-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)
-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
-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)
-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)
-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
- 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
-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
-
-Specials : Anuswar M \e$(5!"\e(B Visarg H \e$(5!#\e(B
- Chandrabindu & \e$(5!!\e(B Nukta . \e$(5!i\e(B
- Danda / \e$(5!j\e(B Avagrah ' \e$(5#J\e(B
- OM @ \e$(5#!\e(B
-"
- nil t t nil nil nil nil nil
- ;; 'quail-devanagari-update-translation
- nil
- '((" " . quail-devanagari-compose-characters)
- ("-" . quail-devanagari-compose-characters)
- ("," . quail-devanagari-compose-characters)
- ("\C-m" . quail-devanagari-compose-characters)
- ([return] . quail-devanagari-compose-characters))
- )
-
-(devanagari-transliteration-quail-define-rules)
-
-;;
-;; ITRANS - Indian Script Translation
-;;
-
-(eval-and-compile
-
-(defun rule-indian-to-devanagari (alist)
- (if (null alist) nil
- (cons (cons (car (car alist))
- (indian-to-devanagari-string (cdr (car alist))))
- (rule-indian-to-devanagari (cdr alist)))))
-)
-
-(eval-when-compile
-
-(defvar devanagari-consonant-itrans-alist
- (rule-indian-to-devanagari indian-itrans-consonant-alist))
-
-(defvar devanagari-vowel-itrans-alist
- (rule-indian-to-devanagari indian-itrans-vowel-sign-alist))
-
-(defvar devanagari-other-letters-itrans-alist
- (rule-indian-to-devanagari indian-itrans-other-letters-alist))
-
-)
-
-(defmacro devanagari-itrans-quail-define-rules ()
- (cons 'quail-define-rules
- (let ((cl devanagari-consonant-itrans-alist)
- (ml devanagari-other-letters-itrans-alist) rules)
- (while cl
- (let ((vl devanagari-vowel-itrans-alist))
- (while vl
- (setq rules
- (cons (list (concat (car (car cl)) (car (car vl)))
- (make-vector 1
- (concat (cdr (car cl)) (cdr (car vl)))))
- rules))
- (setq vl (cdr vl))))
- (setq cl (cdr cl)))
- (while ml
- (setq rules (cons (list (car (car ml))
- (make-vector 1 (cdr (car ml))))
- rules))
- (setq ml (cdr ml)))
- rules)))
-
-(quail-define-package
- "devanagari-itrans" "Devanagari" "DEVi" t
- "Devanagari input method by ITRANS
-Special Keys : Anuswar n'
- Chandrabindu nn'
- Visarg nh
- Nukta type capital letter for first character.
- \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)
-"
- nil t t nil nil nil nil nil
- ;; 'quail-devanagari-update-translation
- nil
- '((" " . quail-devanagari-compose-characters)
- ("-" . quail-devanagari-compose-characters)
- ("," . quail-devanagari-compose-characters)
- ("\C-m" . quail-devanagari-compose-characters)
- ([return] . quail-devanagari-compose-characters))
- )
-
-(devanagari-itrans-quail-define-rules)
-
-
-;;
-;; Quail Hindi Input By Transliteration
-;;
-
-(defun quail-devanagari-hindi-compose-characters ()
- (interactive)
- (if (quail-point-in-conversion-region)
- (let* ((from (overlay-start quail-conv-overlay))
- (to (overlay-end quail-conv-overlay))
- (dstr (buffer-substring from to)))
- (setq overriding-terminal-local-map nil
- quail-converting nil
- quail-conversion-str
- (concat (devanagari-compose-string dstr)
- (list (if (numberp last-command-char)
- last-command-char
- (get last-command-char 'ascii-character))))))))
-
-(eval-when-compile
-
-(defvar devanagari-hindi-consonant-transliteration-alist
- '(
- ; GUTTURALS
- ("k" . "\e$(5!3\e(B")
- ("ks" . "\e$(5$.\e(B")
- ("k." . "\e$(5!3!i\e(B")
- ("kh" . "\e$(5!4\e(B")
- ("kh." . "\e$(5!4!i\e(B")
- ("g" . "\e$(5!5\e(B")
- ("g." . "\e$(5!5!i\e(B")
- ("gh" . "\e$(5!6\e(B")
- ("G" . "\e$(5!7\e(B")
- ; PALATALS
- ("ch" . "\e$(5!8\e(B")
- ("chh" . "\e$(5!9\e(B")
- ("j" . "\e$(5!:\e(B")
- ("j." . "\e$(5!:!i\e(B")
- ("z" . "\e$(5!:!i\e(B")
- ("jh" . "\e$(5!;\e(B")
- ("J" . "\e$(5!<\e(B")
- ; CEREBRALS
- ("T" . "\e$(5!=\e(B")
- ("Th" . "\e$(5!>\e(B")
- ("D" . "\e$(5!?\e(B")
- ("D." . "\e$(5!?!i\e(B")
- ("Dh" . "\e$(5!@\e(B")
- ("Dh." . "\e$(5!@!i\e(B")
- ("N" . "\e$(5!A\e(B")
- ; 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")
- ("N." . "\e$(5!G\e(B")
- ; LABIALS
- ("p" . "\e$(5!H\e(B")
- ("ph" . "\e$(5!I\e(B")
- ("ph." . "\e$(5!I!i\e(B")
- ("f" . "\e$(5!I\e(B")
- ("f." . "\e$(5!I!i\e(B")
- ("b" . "\e$(5!J\e(B")
- ("bh" . "\e$(5!K\e(B")
- ("m" . "\e$(5!L\e(B")
- ; SEMIVOWELS
- ("y" . "\e$(5!M\e(B")
- ("y." . "\e$(5!N\e(B")
- ("Y" . "\e$(5!N\e(B")
- ("r" . "\e$(5!O\e(B")
- ("r." . "\e$(5!P\e(B")
- ("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")
- ; 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")
- ; Special for Hindi
- ("ks" . "\e$(5$.\e(B")
- ("tr" . "\e$(5"%\e(B")
- ("xn" . "\e$(5$E\e(B")
- ))
-
-(defvar devanagari-hindi-vowel-transliteration-alist
- '(
- ; In hindi, halant sign is rarely used so should explicity typed in.
- ("" . "")
- ("~" . "\e$(5!h\e(B")
- ; Matra (Vowel Sign)
- ("a" . "\e$(5!Z\e(B")
- ("i" . "\e$(5![\e(B")
- ("I" . "\e$(5!\\e(B")
- ("u" . "\e$(5!]\e(B")
- ("U" . "\e$(5!^\e(B")
- ("R" . "\e$(5!_\e(B")
- ;; ("RR" . "x") ; not specified in ordinary IS 13194.(but in Unicode??)
- ("q" . "\e$(5#K\e(B") ; "\e$(5#K\e(B" = "\e$(5!_!i\e(B" in IS 13194.
- ("L" . "\e$(5#L\e(B") ; "\e$(5#L\e(B" = "\e$(5![!i\e(B" in IS 13194.
- ("E" . "\e$(5#M\e(B") ; "\e$(5#M\e(B" = "\e$(5!\!i\e(B" in IS 13194.
- ("E" . "\e$(5!`\e(B") ; only for transcription of other scripts.
- ("e" . "\e$(5!a\e(B")
- ("ai" . "\e$(5!b\e(B")
- ("ae" . "\e$(5!b\e(B") ; variation of transliteration.
- ("EE" . "\e$(5!c\e(B") ; only for transcription of other scripts. (Candra E)
- ("O" . "\e$(5!d\e(B") ; only for transcription of other scripts.
- ("o" . "\e$(5!e\e(B")
- ("au" . "\e$(5!f\e(B")
- ("ao" . "\e$(5!f\e(B") ; variation of transliteration.
- ("OO" . "\e$(5!g\e(B") ; only for transcription of other scripts. (Candra O)
- ))
-
-;;
-;; Independent vowels and other signs.
-;;
-
-(defvar devanagari-hindi-other-letters-alist
- '(
- ("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")
- ("R" . "\e$(5!*\e(B")
- ;; ("RR" . "x") ; not specified in IS 13194. (but in Unicode??)
- ("q" . "\e$(5#*\e(B") ; "\e$(5#*\e(B" = "\e$(5!*!i\e(B" in IS 13194.
- ("L" . "\e$(5#&\e(B") ; "\e$(5#&\e(B" = "\e$(5!&!i\e(B" in IS 13194.
- ("E" . "\e$(5#'\e(B") ; "\e$(5#'\e(B" = "\e$(5!'!i\e(B" in IS 13194.
- ("Ex" . "\e$(5!+\e(B") ; only for transcription of other scripts.
- ("e" . "\e$(5!,\e(B")
- ("ai" . "\e$(5!-\e(B")
- ("EE" . "\e$(5!.\e(B") ; only for transcription of other scripts. (Candra E)
- ("O" . "\e$(5!/\e(B") ; only for transcription of other scripts.
- ("o" . "\e$(5!0\e(B")
- ("au" . "\e$(5!1\e(B")
- ("ao" . "\e$(5!1\e(B") ; variation of transliteration.
- ("OO" . "\e$(5!2\e(B") ; only for transcription of other scripts. (Candra O)
- ("'" . "\e$(5#J\e(B") ; avagraha
- ("@" . "\e$(5#!\e(B") ; OM
- ("/" . "\e$(5!j\e(B")
- ("M" . "\e$(5!"\e(B")
- ("&" . "\e$(5!!\e(B")
- ("H" . "\e$(5!#\e(B")
- ("." . "\e$(5!i\e(B") ; Nukta
- ("0" . "\e$(5!q\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")
- ))
-)
-
-(defmacro devanagari-hindi-transliteration-quail-define-rules ()
- (cons 'quail-define-rules
- (let ((cl devanagari-hindi-consonant-transliteration-alist)
- (ml devanagari-hindi-other-letters-alist) rules)
- (while cl
- (let ((vl devanagari-hindi-vowel-transliteration-alist))
- (while vl
- (setq rules
- (cons (list (concat (car (car cl)) (car (car vl)))
- (make-vector 1
- (concat (cdr (car cl)) (cdr (car vl)))))
- rules))
- (setq vl (cdr vl))))
- (setq cl (cdr cl)))
- (while ml
- (setq rules (cons (list (car (car ml))
- (make-vector 1 (cdr (car ml))))
- rules))
- (setq ml (cdr ml)))
- rules)))
-
-(quail-define-package
- "devanagari-hindi-transliteration" "Hindi" "HINt" t
- "Devanagari-Hindi input method by transliteration
-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
- 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
- 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
-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
-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
-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
-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)
-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)
-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
- 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
-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
-OTHERS : ks \e$(5$.\e(B tr \e$(5"%\e(B xn \e$(5$E\e(B
-
-Specials : Anuswar M \e$(5!"\e(B Visarg H \e$(5!#\e(B
- Chandrabindu & \e$(5!!\e(B Nukta . \e$(5!i\e(B
- Danda / \e$(5!j\e(B Avagrah ' \e$(5#J\e(B
- OM @ \e$(5#!\e(B Halant ~ \e$(5!h\e(B
-"
- nil t t nil nil nil nil nil
- ;; 'quail-devanagari-update-translation
- nil
- '((" " . quail-devanagari-hindi-compose-characters)
- ("-" . quail-devanagari-hindi-compose-characters)
- ("," . quail-devanagari-hindi-compose-characters)
- ("\C-m" . quail-devanagari-hindi-compose-characters)
- ([return] . quail-devanagari-hindi-compose-characters))
- )
-
-(devanagari-hindi-transliteration-quail-define-rules)
-
-;;; devanagari.el ends here