Sync to HEAD
[bpt/emacs.git] / lisp / language / devanagari.el
dissimilarity index 94%
index ada8a8f..6b1ff46 100644 (file)
-;;; devanagari.el --- Support for Devanagari Languages
-
-;; Copyright (C) 1996 Free Software Foundation, Inc.
-
-;; Author: KAWABATA, Taichi <kawabata@is.s.u-tokyo.ac.jp>
-
-;; Keywords: multilingual, 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.18 written by KAWABATA, Taichi <kawabata@is.s.u-tokyo.ac.jp>
-;; 1997.1.20 fixed some bugs.
-;;; Code:
-
-(make-coding-system
- 'in-is13194-devanagari 2 ?D
- "Coding-system used for ASCII(MSB=0) & IS13194-Devanagari(MSB=1)."
- '((ascii t) (indian-is13194 t) nil nil
-   nil ascii-eol))
-devanagari-compose-from-is13194-region
-(put 'in-is13194-devanagari
-     'post-read-conversion 'in-is13194-devanagari-post-read-conversion)
-(put 'in-is13194-devanagari
-     'pre-write-conversion 'in-is13194-devanagari-pre-write-conversion)
-
-(register-input-method
- "Devanagari" '("quail-devanagari-transliteration" quail-use-package
-               "quail/devanagari"))
-
-(register-input-method
- "Devanagari" '("quail-devanagari-keyboard-a" quail-use-package
-               "quail/devanagari"))
-
-(register-input-method
- "Devanagari" '("quail-devanagari-itrans" quail-use-package
-               "quail/devanagari"))
-
-(register-input-method
- "Devanagari" '("quail-devanagari-hindi-transliteration" quail-use-package
-               "quail/devanagari"))
-
-(defun setup-devanagari-environment ()
-  "Setup multilingual environment (MULE) for languages using Devanagari."
-  (interactive)
-  (setq coding-category-iso-8-1 'in-is13194-devanagari)
-
-  (set-coding-priority
-   '(coding-category-iso-7
-     coding-category-iso-8-1))
-
-  (setq-default buffer-file-coding-system 'in-is13194-devanagari)
-
-  (setq default-input-method '("Devanagari" . "quail-devanagari-itrans"))
-  )
-
-(set-language-info-alist
- "Devanagari" '((setup-function . setup-devanagari-environment)
-               (charset . (indian-is13194 indian-2-column indian-1-column))
-               (coding-system . (in-is13194-devanagari))
-               (documentation . t)))
-
-;;
-;; Devanagari Glyph List
-;;
-;;      0 1 2 3 4 5 6 7 8 9 a b c d e f
-;;2120   \e$(5!!!"!#!$!%!&!'!(!)!*!+!,!-!.!/\e(B
-;;2130 \e$(5!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?\e(B
-;;2140 \e$(5!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O\e(B
-;;2150 \e$(5!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_\e(B
-;;2160 \e$(5!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o\e(B
-;;2170 \e$(5!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~\e(B
-;;
-;;      0 1 2 3 4 5 6 7 8 9 a b c d e f
-;;2220   \e$(5"!"""#"$"%"&"'"(")"*"+","-"."/\e(B
-;;2230 \e$(5"0"1"2"3"4"5"6"7"8"9":";"<"=">"?\e(B
-;;2240 \e$(5"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O\e(B
-;;2250 \e$(5"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_\e(B
-;;2260 \e$(5"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o\e(B
-;;2270 \e$(5"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~\e(B
-;;
-;;      0 1 2 3 4 5 6 7 8 9 a b c d e f
-;;2320   \e$(5#!#"###$#%#&#'#(#)#*#+#,#-#.#/\e(B
-;;2330 \e$(5#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?\e(B
-;;2340 \e$(5#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O\e(B
-;;2350 \e$(5#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_\e(B
-;;2360 \e$(5#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o\e(B
-;;2370 \e$(5#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~\e(B
-;;
-;;      0 1 2 3 4 5 6 7 8 9 a b c d e f
-;;2420   \e$(5$!$"$#$$$%$&$'$($)$*$+$,$-$.$/\e(B
-;;2430 \e$(5$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?\e(B
-;;2440 \e$(5$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O\e(B
-;;2450 \e$(5$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_\e(B
-;;2460 \e$(5$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o\e(B
-;;2470 \e$(5$p$q$r$s$t$u$v$w$x$y$z${$|$}$~\e(B
-;;
-;;     0123456789abcdef
-;;2120  \e$(6!!!"!#!$!%!&!'!(!)!*!+!,!-!.!/\e(B
-;;2130 \e$(6!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?\e(B
-;;2140 \e$(6!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O\e(B
-;;2150 \e$(6!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_\e(B
-;;2160 \e$(6!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o\e(B
-;;2170 \e$(6!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~\e(B
-;;
-;;     0123456789abcdef
-;;2220  \e$(6"!"""#"$"%"&"'"(")"*"+","-"."/\e(B
-;;2230 \e$(6"0"1"2"3"4"5"6"7"8"9":";"<"=">"?\e(B
-;;2240 \e$(6"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O\e(B
-;;2250 \e$(6"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_\e(B
-;;2260 \e$(6"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o\e(B
-;;2270 \e$(6"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~\e(B
-;;2320  \e$(6#!#"###$#%#&#'#(#)#*#+#,#-#.#/\e(B
-;;2330 \e$(6#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?\e(B
-;;2340 \e$(6#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O\e(B
-;;2350 \e$(6#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_\e(B
-;;2360 \e$(6#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o\e(B
-;;2370 \e$(6#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~\e(B
-;;
-;;     0123456789abcdef
-;;2320  \e$(6$!$"$#$$$%$&$'$($)$*$+$,$-$.$/\e(B
-;;2430 \e$(6$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?\e(B
-;;2440 \e$(6$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O\e(B
-;;2450 \e$(6$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_\e(B
-;;2460 \e$(6$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o\e(B
-;;2470 \e$(6$p$q$r$s$t$u$v$w$x$y$z${$|$}$~\e(B
-;;
-;;
-;; Modify the following table if you change the set of 1-column font.
-;;
-(defconst devanagari-1-column-char 
-  '((?\e$(5!!\e(B . ?\e$(6!!\e(B)
-    (?\e$(5!"\e(B . ?\e$(6!"\e(B)
-    (?\e$(5!#\e(B . ?\e$(6!#\e(B)
-    (?\e$(5!$\e(B . nil)
-    (?\e$(5!%\e(B . nil)
-    (?\e$(5!&\e(B . ?\e$(6!&\e(B)
-    (?\e$(5!'\e(B . ?\e$(6!'\e(B)
-    (?\e$(5!(\e(B . ?\e$(6!(\e(B)
-    (?\e$(5!)\e(B . nil)
-    (?\e$(5!*\e(B . nil)
-    (?\e$(5!+\e(B . nil)
-    (?\e$(5!,\e(B . nil)
-    (?\e$(5!-\e(B . nil)
-    (?\e$(5!.\e(B . nil)
-    (?\e$(5!/\e(B . nil)
-    (?\e$(5!0\e(B . nil)
-    (?\e$(5!1\e(B . nil)
-    (?\e$(5!2\e(B . nil)
-    (?\e$(5!3\e(B . nil)
-    (?\e$(5!4\e(B . nil)
-    (?\e$(5!5\e(B . ?\e$(6!5\e(B)
-    (?\e$(5!6\e(B . nil)
-    (?\e$(5!7\e(B . nil)
-    (?\e$(5!8\e(B . nil)
-    (?\e$(5!9\e(B . nil)
-    (?\e$(5!:\e(B . nil)
-    (?\e$(5!;\e(B . nil)
-    (?\e$(5!<\e(B . nil)
-    (?\e$(5!=\e(B . ?\e$(6!=\e(B)
-    (?\e$(5!>\e(B . ?\e$(6!>\e(B)
-    (?\e$(5!?\e(B . ?\e$(6!?\e(B)
-    (?\e$(5!@\e(B . ?\e$(6!@\e(B)
-    (?\e$(5!A\e(B . nil)
-    (?\e$(5!B\e(B . ?\e$(6!B\e(B)
-    (?\e$(5!C\e(B . ?\e$(6!C\e(B)
-    (?\e$(5!D\e(B . ?\e$(6!D\e(B)
-    (?\e$(5!E\e(B . ?\e$(6!E\e(B)
-    (?\e$(5!F\e(B . ?\e$(6!F\e(B)
-    (?\e$(5!G\e(B . ?\e$(6!G\e(B)
-    (?\e$(5!H\e(B . ?\e$(6!H\e(B)
-    (?\e$(5!I\e(B . nil)
-    (?\e$(5!J\e(B . ?\e$(6!J\e(B)
-    (?\e$(5!K\e(B . ?\e$(6!K\e(B)
-    (?\e$(5!L\e(B . ?\e$(6!L\e(B)
-    (?\e$(5!M\e(B . ?\e$(6!M\e(B)
-    (?\e$(5!N\e(B . ?\e$(6!N\e(B)
-    (?\e$(5!O\e(B . ?\e$(6!O\e(B)
-    (?\e$(5!P\e(B . ?\e$(6!P\e(B)
-    (?\e$(5!Q\e(B . nil)
-    (?\e$(5!R\e(B . nil)
-    (?\e$(5!S\e(B . nil)
-    (?\e$(5!T\e(B . ?\e$(6!T\e(B)
-    (?\e$(5!U\e(B . nil)
-    (?\e$(5!V\e(B . ?\e$(6!V\e(B)
-    (?\e$(5!W\e(B . ?\e$(6!W\e(B)
-    (?\e$(5!X\e(B . ?\e$(6!X\e(B)
-    (?\e$(5!Y\e(B . nil)
-    (?\e$(5!Z\e(B . ?\e$(6!Z\e(B)
-    (?\e$(5![\e(B . ?\e$(6![\e(B)
-    (?\e$(5!\\e(B . ?\e$(6!\\e(B)
-    (?\e$(5!]\e(B . ?\e$(6!]\e(B)
-    (?\e$(5!^\e(B . ?\e$(6!^\e(B)
-    (?\e$(5!_\e(B . ?\e$(6!_\e(B)
-    (?\e$(5!`\e(B . ?\e$(6!`\e(B)
-    (?\e$(5!a\e(B . ?\e$(6!a\e(B)
-    (?\e$(5!b\e(B . ?\e$(6!b\e(B)
-    (?\e$(5!c\e(B . ?\e$(6!c\e(B)
-    (?\e$(5!d\e(B . ?\e$(6!d\e(B)
-    (?\e$(5!e\e(B . ?\e$(6!e\e(B)
-    (?\e$(5!f\e(B . ?\e$(6!f\e(B)
-    (?\e$(5!g\e(B . ?\e$(6!g\e(B)
-    (?\e$(5!h\e(B . ?\e$(6!h\e(B)
-    (?\e$(5!i\e(B . ?\e$(6!i\e(B)
-    (?\e$(5!j\e(B . ?\e$(6!j\e(B)
-    (nil . nil)
-    (nil . nil)
-    (nil . nil)
-    (nil . nil)
-    (nil . nil)
-    (nil . nil)
-    (?\e$(5!q\e(B . ?\e$(6!q\e(B)
-    (?\e$(5!r\e(B . ?\e$(6!r\e(B)
-    (?\e$(5!s\e(B . ?\e$(6!s\e(B)
-    (?\e$(5!t\e(B . ?\e$(6!t\e(B)
-    (?\e$(5!u\e(B . ?\e$(6!u\e(B)
-    (?\e$(5!v\e(B . ?\e$(6!v\e(B)
-    (?\e$(5!w\e(B . ?\e$(6!w\e(B)
-    (?\e$(5!x\e(B . ?\e$(6!x\e(B)
-    (?\e$(5!y\e(B . ?\e$(6!y\e(B)
-    (?\e$(5!z\e(B . ?\e$(6!z\e(B)
-    (nil . nil)
-    (nil . nil)
-    (nil . nil)
-    (nil . nil)
-    (?\e$(5"!\e(B . nil)
-    (?\e$(5""\e(B . nil)
-    (?\e$(5"#\e(B . nil)
-    (?\e$(5"$\e(B . ?\e$(6"$\e(B)
-    (?\e$(5"%\e(B . ?\e$(6"%\e(B)
-    (?\e$(5"&\e(B . ?\e$(6"&\e(B)
-    (?\e$(5"'\e(B . nil)
-    (?\e$(5"(\e(B . nil)
-    (?\e$(5")\e(B . nil)
-    (?\e$(5"*\e(B . nil)
-    (?\e$(5"+\e(B . nil)
-    (?\e$(5",\e(B . ?\e$(6",\e(B)
-    (?\e$(5"-\e(B . nil)
-    (?\e$(5".\e(B . ?\e$(6".\e(B)
-    (?\e$(5"/\e(B . nil)
-    (?\e$(5"0\e(B . nil)
-    (?\e$(5"1\e(B . nil)
-    (?\e$(5"2\e(B . nil)
-    (?\e$(5"3\e(B . ?\e$(6"3\e(B)
-    (?\e$(5"4\e(B . ?\e$(6"4\e(B)
-    (?\e$(5"5\e(B . ?\e$(6"5\e(B)
-    (?\e$(5"6\e(B . ?\e$(6"6\e(B)
-    (?\e$(5"7\e(B . nil)
-    (?\e$(5"8\e(B . ?\e$(6"8\e(B)
-    (?\e$(5"9\e(B . nil)
-    (?\e$(5":\e(B . ?\e$(6":\e(B)
-    (?\e$(5";\e(B . ?\e$(6";\e(B)
-    (?\e$(5"<\e(B . ?\e$(6"<\e(B)
-    (?\e$(5"=\e(B . nil)
-    (?\e$(5">\e(B . nil)
-    (?\e$(5"?\e(B . nil)
-    (?\e$(5"@\e(B . nil)
-    (?\e$(5"A\e(B . ?\e$(6"A\e(B)
-    (?\e$(5"B\e(B . ?\e$(6"B\e(B)
-    (?\e$(5"C\e(B . ?\e$(6"C\e(B)
-    (?\e$(5"D\e(B . nil)
-    (?\e$(5"E\e(B . ?\e$(6"E\e(B)
-    (?\e$(5"F\e(B . ?\e$(6"F\e(B)
-    (?\e$(5"G\e(B . ?\e$(6"G\e(B)
-    (?\e$(5"H\e(B . ?\e$(6"H\e(B)
-    (?\e$(5"I\e(B . ?\e$(6"I\e(B)
-    (?\e$(5"J\e(B . ?\e$(6"J\e(B)
-    (?\e$(5"K\e(B . ?\e$(6"K\e(B)
-    (?\e$(5"L\e(B . ?\e$(6"L\e(B)
-    (?\e$(5"M\e(B . ?\e$(6"M\e(B)
-    (?\e$(5"N\e(B . ?\e$(6"N\e(B)
-    (?\e$(5"O\e(B . nil)
-    (?\e$(5"P\e(B . nil)
-    (?\e$(5"Q\e(B . ?\e$(6"Q\e(B)
-    (?\e$(5"R\e(B . nil)
-    (?\e$(5"S\e(B . nil)
-    (?\e$(5"T\e(B . ?\e$(6"T\e(B)
-    (?\e$(5"U\e(B . ?\e$(6"U\e(B)
-    (?\e$(5"V\e(B . ?\e$(6"V\e(B)
-    (?\e$(5"W\e(B . ?\e$(6"W\e(B)
-    (?\e$(5"X\e(B . nil)
-    (?\e$(5"Y\e(B . nil)
-    (?\e$(5"Z\e(B . nil)
-    (?\e$(5"[\e(B . nil)
-    (?\e$(5"\\e(B . nil)
-    (?\e$(5"]\e(B . ?\e$(6"]\e(B)
-    (?\e$(5"^\e(B . nil)
-    (?\e$(5"_\e(B . nil)
-    (?\e$(5"`\e(B . ?\e$(6"`\e(B)
-    (?\e$(5"a\e(B . ?\e$(6"a\e(B)
-    (?\e$(5"b\e(B . ?\e$(6"b\e(B)
-    (?\e$(5"c\e(B . ?\e$(6"c\e(B)
-    (?\e$(5"d\e(B . ?\e$(6"d\e(B)
-    (?\e$(5"e\e(B . ?\e$(6"e\e(B)
-    (?\e$(5"f\e(B . ?\e$(6"f\e(B)
-    (?\e$(5"g\e(B . ?\e$(6"g\e(B)
-    (?\e$(5"h\e(B . ?\e$(6"h\e(B)
-    (?\e$(5"i\e(B . ?\e$(6"i\e(B)
-    (?\e$(5"j\e(B . ?\e$(6"j\e(B)
-    (?\e$(5"k\e(B . ?\e$(6"k\e(B)
-    (?\e$(5"l\e(B . ?\e$(6"l\e(B)
-    (?\e$(5"m\e(B . ?\e$(6"m\e(B)
-    (?\e$(5"n\e(B . nil)
-    (?\e$(5"o\e(B . nil)
-    (?\e$(5"p\e(B . ?\e$(6"p\e(B)
-    (?\e$(5"q\e(B . ?\e$(6"q\e(B)
-    (?\e$(5"r\e(B . ?\e$(6"r\e(B)
-    (?\e$(5"s\e(B . ?\e$(6"s\e(B)
-    (?\e$(5"t\e(B . ?\e$(6"t\e(B)
-    (?\e$(5"u\e(B . ?\e$(6"u\e(B)
-    (?\e$(5"v\e(B . nil)
-    (?\e$(5"w\e(B . nil)
-    (?\e$(5"x\e(B . nil)
-    (?\e$(5"y\e(B . ?\e$(6"y\e(B)
-    (?\e$(5"z\e(B . ?\e$(6"z\e(B)
-    (?\e$(5"{\e(B . nil)
-    (?\e$(5"|\e(B . nil)
-    (?\e$(5"}\e(B . nil)
-    (?\e$(5"~\e(B . nil)
-    (?\e$(5#!\e(B . nil)
-    (?\e$(5#"\e(B . nil)
-    (?\e$(5##\e(B . nil)
-    (?\e$(5#$\e(B . nil)
-    (?\e$(5#%\e(B . nil)
-    (?\e$(5#&\e(B . nil)
-    (?\e$(5#'\e(B . nil)
-    (?\e$(5#(\e(B . nil)
-    (?\e$(5#)\e(B . nil)
-    (?\e$(5#*\e(B . nil)
-    (?\e$(5#+\e(B . nil)
-    (?\e$(5#,\e(B . nil)
-    (?\e$(5#-\e(B . nil)
-    (?\e$(5#.\e(B . nil)
-    (?\e$(5#/\e(B . nil)
-    (?\e$(5#0\e(B . nil)
-    (?\e$(5#1\e(B . nil)
-    (?\e$(5#2\e(B . nil)
-    (?\e$(5#3\e(B . nil)
-    (?\e$(5#4\e(B . nil)
-    (?\e$(5#5\e(B . ?\e$(6#5\e(B)
-    (?\e$(5#6\e(B . nil)
-    (?\e$(5#7\e(B . nil)
-    (?\e$(5#8\e(B . nil)
-    (?\e$(5#9\e(B . nil)
-    (?\e$(5#:\e(B . nil)
-    (?\e$(5#;\e(B . nil)
-    (?\e$(5#<\e(B . nil)
-    (?\e$(5#=\e(B . nil)
-    (?\e$(5#>\e(B . nil)
-    (?\e$(5#?\e(B . ?\e$(6#?\e(B)
-    (?\e$(5#@\e(B . ?\e$(6#@\e(B)
-    (?\e$(5#A\e(B . nil)
-    (?\e$(5#B\e(B . nil)
-    (?\e$(5#C\e(B . nil)
-    (?\e$(5#D\e(B . nil)
-    (?\e$(5#E\e(B . nil)
-    (?\e$(5#F\e(B . nil)
-    (?\e$(5#G\e(B . nil)
-    (?\e$(5#H\e(B . nil)
-    (?\e$(5#I\e(B . nil)
-    (?\e$(5#J\e(B . ?\e$(6#J\e(B)
-    (?\e$(5#K\e(B . ?\e$(6#K\e(B)
-    (?\e$(5#L\e(B . ?\e$(6#L\e(B)
-    (?\e$(5#M\e(B . ?\e$(6#M\e(B)
-    (?\e$(5#N\e(B . nil)
-    (?\e$(5#O\e(B . nil)
-    (?\e$(5#P\e(B . nil)
-    (?\e$(5#Q\e(B . nil)
-    (?\e$(5#R\e(B . ?\e$(6#R\e(B)
-    (?\e$(5#S\e(B . nil)
-    (?\e$(5#T\e(B . nil)
-    (?\e$(5#U\e(B . nil)
-    (?\e$(5#V\e(B . nil)
-    (?\e$(5#W\e(B . nil)
-    (?\e$(5#X\e(B . nil)
-    (?\e$(5#Y\e(B . nil)
-    (?\e$(5#Z\e(B . nil)
-    (?\e$(5#[\e(B . nil)
-    (?\e$(5#\\e(B . nil)
-    (?\e$(5#]\e(B . nil)
-    (?\e$(5#^\e(B . nil)
-    (?\e$(5#_\e(B . nil)
-    (?\e$(5#`\e(B . nil)
-    (?\e$(5#a\e(B . ?\e$(6#a\e(B)
-    (?\e$(5#b\e(B . ?\e$(6#b\e(B)
-    (?\e$(5#c\e(B . nil)
-    (?\e$(5#d\e(B . nil)
-    (?\e$(5#e\e(B . nil)
-    (?\e$(5#f\e(B . nil)
-    (?\e$(5#g\e(B . nil)
-    (?\e$(5#h\e(B . nil)
-    (?\e$(5#i\e(B . nil)
-    (?\e$(5#j\e(B . ?\e$(6#j\e(B)
-    (?\e$(5#k\e(B . ?\e$(6#k\e(B)
-    (?\e$(5#l\e(B . ?\e$(6#l\e(B)
-    (?\e$(5#m\e(B . nil)
-    (?\e$(5#n\e(B . nil)
-    (?\e$(5#o\e(B . nil)
-    (?\e$(5#p\e(B . nil)
-    (?\e$(5#q\e(B . nil)
-    (?\e$(5#r\e(B . nil)
-    (?\e$(5#s\e(B . nil)
-    (?\e$(5#t\e(B . nil)
-    (?\e$(5#u\e(B . nil)
-    (?\e$(5#v\e(B . nil)
-    (?\e$(5#w\e(B . nil)
-    (?\e$(5#x\e(B . nil)
-    (?\e$(5#y\e(B . nil)
-    (?\e$(5#z\e(B . nil)
-    (?\e$(5#{\e(B . nil)
-    (?\e$(5#|\e(B . nil)
-    (?\e$(5#}\e(B . nil)
-    (?\e$(5#~\e(B . nil)
-    (?\e$(5$!\e(B . nil)
-    (?\e$(5$"\e(B . nil)
-    (?\e$(5$#\e(B . nil)
-    (?\e$(5$$\e(B . nil)
-    (?\e$(5$%\e(B . nil)
-    (?\e$(5$&\e(B . nil)
-    (?\e$(5$'\e(B . nil)
-    (?\e$(5$(\e(B . nil)
-    (?\e$(5$)\e(B . nil)
-    (?\e$(5$*\e(B . nil)
-    (?\e$(5$+\e(B . nil)
-    (?\e$(5$,\e(B . nil)
-    (?\e$(5$-\e(B . nil)
-    (?\e$(5$.\e(B . nil)
-    (?\e$(5$/\e(B . nil)
-    (?\e$(5$0\e(B . nil)
-    (?\e$(5$1\e(B . nil)
-    (?\e$(5$2\e(B . nil)
-    (?\e$(5$3\e(B . nil)
-    (?\e$(5$4\e(B . nil)
-    (?\e$(5$5\e(B . nil)
-    (?\e$(5$6\e(B . nil)
-    (?\e$(5$7\e(B . nil)
-    (?\e$(5$8\e(B . nil)
-    (?\e$(5$9\e(B . nil)
-    (?\e$(5$:\e(B . nil)
-    (?\e$(5$;\e(B . nil)
-    (?\e$(5$<\e(B . nil)
-    (?\e$(5$=\e(B . nil)
-    (?\e$(5$>\e(B . nil)
-    (?\e$(5$?\e(B . nil)
-    (?\e$(5$@\e(B . nil)
-    (?\e$(5$A\e(B . ?\e$(6$A\e(B)
-    (?\e$(5$B\e(B . nil)
-    (?\e$(5$C\e(B . nil)
-    (?\e$(5$D\e(B . nil)
-    (?\e$(5$E\e(B . ?\e$(6$E\e(B)
-    (?\e$(5$F\e(B . nil)
-    (?\e$(5$G\e(B . nil)
-    (?\e$(5$H\e(B . ?\e$(6$H\e(B)
-    (?\e$(5$I\e(B . ?\e$(6$I\e(B)
-    (?\e$(5$J\e(B . ?\e$(6$J\e(B)
-    (?\e$(5$K\e(B . nil)
-    (?\e$(5$L\e(B . nil)
-    (?\e$(5$M\e(B . nil)
-    (?\e$(5$N\e(B . ?\e$(6$N\e(B)
-    (?\e$(5$O\e(B . nil)
-    (?\e$(5$P\e(B . ?\e$(6$P\e(B)
-    (?\e$(5$Q\e(B . ?\e$(6$Q\e(B)
-    (?\e$(5$R\e(B . ?\e$(6$R\e(B)
-    (?\e$(5$S\e(B . nil)
-    (?\e$(5$T\e(B . nil)
-    (?\e$(5$U\e(B . nil)
-    (?\e$(5$V\e(B . nil)
-    (?\e$(5$W\e(B . nil)
-    (?\e$(5$X\e(B . nil)
-    (?\e$(5$Y\e(B . nil)
-    (?\e$(5$Z\e(B . nil)
-    (?\e$(5$[\e(B . nil)
-    (?\e$(5$\\e(B . nil)
-    (?\e$(5$]\e(B . nil)
-    (?\e$(5$^\e(B . nil)
-    (?\e$(5$_\e(B . nil)
-    (?\e$(5$`\e(B . nil)
-    (?\e$(5$a\e(B . nil)
-    (?\e$(5$b\e(B . nil)
-    (?\e$(5$c\e(B . nil)
-    (?\e$(5$d\e(B . nil)
-    (?\e$(5$e\e(B . nil)
-    (?\e$(5$f\e(B . nil)
-    (?\e$(5$g\e(B . nil)
-    (?\e$(5$h\e(B . ?\e$(6$h\e(B)
-    (?\e$(5$i\e(B . ?\e$(6$i\e(B)
-    (?\e$(5$j\e(B . ?\e$(6$j\e(B)
-    (?\e$(5$k\e(B . nil)
-    (?\e$(5$l\e(B . ?\e$(6$l\e(B)
-    (?\e$(5$m\e(B . ?\e$(6$m\e(B)
-    (?\e$(5$n\e(B . ?\e$(6$n\e(B)
-    (?\e$(5$o\e(B . nil)
-    (?\e$(5$p\e(B . ?\e$(6$p\e(B)
-    (?\e$(5$q\e(B . ?\e$(6$q\e(B)
-    (?\e$(5$r\e(B . ?\e$(6$r\e(B)
-    (?\e$(5$s\e(B . nil)
-    (?\e$(5$t\e(B . nil)
-    (?\e$(5$u\e(B . ?\e$(6$u\e(B)
-    (?\e$(5$v\e(B . ?\e$(6$v\e(B)
-    (?\e$(5$w\e(B . nil)
-    (?\e$(5$x\e(B . ?\e$(6$x\e(B)
-    (?\e$(5$y\e(B . ?\e$(6$y\e(B)
-    (?\e$(5$z\e(B . nil)
-    (?\e$(5${\e(B . nil)
-    (?\e$(5$|\e(B . nil)
-    (?\e$(5$}\e(B . nil)
-    (?\e$(5$~\e(B . nil)
-    ))
-
-;;; devanagari.el ends here
+;;; devanagari.el --- Support for Devanagari -*- coding: iso-2022-7bit; no-byte-compile: t -*-
+
+;; Copyright (C) 1996, 2001 Free Software Foundation, Inc.
+
+;; Maintainer:  KAWABATA, Taichi <kawabata@m17n.org>
+;; Keywords: multilingual, 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:
+
+;; This file defines language-info of Devanagari script, and provides
+;; compatibility support of old implementation of Devanagari script.
+
+;;; Code:
+
+(set-language-info-alist
+ "Devanagari" '((charset indian-is13194 mule-unicode-0100-24ff
+                         indian-2-column indian-glyph ;; comment out later
+                         )
+               (coding-system in-is13194-devanagari)
+               (coding-priority in-is13194-devanagari)
+               (input-method . "dev-aiba")
+               (features devan-util)
+               (documentation . "\
+Such languages using Devanagari script as Hindi and Marathi
+are supported in this language environment."))
+ '("Indian"))
+
+;; For automatic composition.
+(dolist (range '((#x0903 . #x0903)
+                (#x0905 . #x0939)
+                (#x0958 . #x0961)))
+  (set-char-table-range composition-function-table range
+                       'devanagari-composition-function))
+
+(provide 'devanagari)
+
+;;; arch-tag: fd13667d-868b-41e8-81ef-79dd28bbfed2
+;;; devanagari.el ends here