diff options
author | Karl Heuer <kwzh@gnu.org> | 1997-02-20 07:02:49 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1997-02-20 07:02:49 +0000 |
commit | 4ed4686978bd18292e2bb7b87a7b0e0407ecb3b1 (patch) | |
tree | 860ad83f81c8c630fe7051e3c5379ca8a9658f69 /lisp/language/devanagari.el | |
parent | adb572fb93ddfee88f9c5e9681434517fd241232 (diff) | |
download | emacs-4ed4686978bd18292e2bb7b87a7b0e0407ecb3b1.tar.gz |
Initial revision
Diffstat (limited to 'lisp/language/devanagari.el')
-rw-r--r-- | lisp/language/devanagari.el | 541 |
1 files changed, 541 insertions, 0 deletions
diff --git a/lisp/language/devanagari.el b/lisp/language/devanagari.el new file mode 100644 index 00000000000..2f2ab1160aa --- /dev/null +++ b/lisp/language/devanagari.el @@ -0,0 +1,541 @@ +;;; 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, 675 Mass Ave, Cambridge, MA 02139, USA. + +;;; Commentary: + +;; History: +;; 1996.9.18 written by KAWABATA, Taichi <kawabata@is.s.u-tokyo.ac.jp> + +;;; Code: + +(make-coding-system + 'coding-system-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)) +(put 'coding-system-is13194-devanagari + 'post-read-conversion 'devanagari-compose-from-is13194-region) +(put 'coding-system-is13194-devanagari + 'pre-write-conversion 'devanagari-decompose-to-is13194-region) + +(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")) + +(defun setup-devanagari-environment () + (setq coding-category-iso-8-1 'coding-system-is13194-devanagari) + + (set-coding-priority + '(coding-category-iso-7 + coding-category-iso-8-1)) + + (setq-default buffer-file-coding-system 'coding-system-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 . (coding-system-is13194-devanagari)) + (documentation . t))) + +(let ((deflist '(;; chars syntax category + ("$(5!!!"!#(B" "w" ?7) ; vowel-modifying diacritical mark + ; chandrabindu, anuswar, visarga + ("$(5!$(B-$(5!2(B" "w" ?5) ; independent vowel + ("$(5!3(B-$(5!X(B" "w" ?0) ; consonant + ("$(5!Z(B-$(5!g(B" "w" ?8) ; matra + ("$(5!q(B-$(5!z(B" "w" ?6) ; digit + )) + elm chars len syntax category to ch i) + (while deflist + (setq elm (car deflist)) + (setq chars (car elm) + len (length chars) + syntax (nth 1 elm) + category (nth 2 elm) + i 0) + (while (< i len) + (if (= (aref chars i) ?-) + (setq i (1+ i) + to (sref chars i)) + (setq ch (sref chars i) + to ch)) + (while (<= ch to) + (modify-syntax-entry ch syntax) + (modify-category-entry ch category) + (setq ch (1+ ch))) + (setq i (+ i (char-bytes to)))) + (setq deflist (cdr deflist)))) + +;; +;; Devanagari Glyph List +;; +;;2120 $(5!!!"!#!$!%!&!'!(!)!*!+!,!-!.!/(B +;;2130 $(5!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?(B +;;2140 $(5!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O(B +;;2150 $(5!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_(B +;;2160 $(5!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o(B +;;2170 $(5!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~(B +;; +;;2220 $(5"!"""#"$"%"&"'"(")"*"+","-"."/(B +;;2230 $(5"0"1"2"3"4"5"6"7"8"9":";"<"=">"?(B +;;2240 $(5"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O(B +;;2250 $(5"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_(B +;;2260 $(5"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o(B +;;2270 $(5"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~(B +;; +;;2320 $(5#!#"###$#%#&#'#(#)#*#+#,#-#.#/(B +;;2330 $(5#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?(B +;;2340 $(5#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O(B +;;2350 $(5#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_(B +;;2360 $(5#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o(B +;;2370 $(5#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~(B +;; +;;2420 $(5$!$"$#$$$%$&$'$($)$*$+$,$-$.$/(B +;;2430 $(5$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?(B +;;2440 $(5$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O(B +;;2450 $(5$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_(B +;;2460 $(5$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o(B +;;2470 $(5$p$q$r$s$t$u$v$w$x$y$z${$|$}$~(B +;; +;;2120 $(6!!!"!#!$!%!&!'!(!)!*!+!,!-!.!/(B +;;2130 $(6!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?(B +;;2140 $(6!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O(B +;;2150 $(6!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_(B +;;2160 $(6!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o(B +;;2170 $(6!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~(B +;; +;;2220 $(6"!"""#"$"%"&"'"(")"*"+","-"."/(B +;;2230 $(6"0"1"2"3"4"5"6"7"8"9":";"<"=">"?(B +;;2240 $(6"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O(B +;;2250 $(6"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_(B +;;2260 $(6"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o(B +;;2270 $(6"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~(B +;;2320 $(6#!#"###$#%#&#'#(#)#*#+#,#-#.#/(B +;;2330 $(6#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?(B +;;2340 $(6#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O(B +;;2350 $(6#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_(B +;;2360 $(6#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o(B +;;2370 $(6#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~(B +;; +;;2320 $(6$!$"$#$$$%$&$'$($)$*$+$,$-$.$/(B +;;2430 $(6$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?(B +;;2440 $(6$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O(B +;;2450 $(6$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_(B +;;2460 $(6$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o(B +;;2470 $(6$p$q$r$s$t$u$v$w$x$y$z${$|$}$~(B +;; +;; +;; Modify the following table if you change the set of 1-column font. +;; +(defconst devanagari-1-column-char + '((?$(5!!(B . ?$(6!!(B) + (?$(5!"(B . ?$(6!"(B) + (?$(5!#(B . ?$(6!#(B) + (?$(5!$(B . nil) + (?$(5!%(B . nil) + (?$(5!&(B . ?$(6!&(B) + (?$(5!'(B . ?$(6!'(B) + (?$(5!((B . ?$(6!((B) + (?$(5!)(B . nil) + (?$(5!*(B . nil) + (?$(5!+(B . nil) + (?$(5!,(B . nil) + (?$(5!-(B . nil) + (?$(5!.(B . nil) + (?$(5!/(B . nil) + (?$(5!0(B . nil) + (?$(5!1(B . nil) + (?$(5!2(B . nil) + (?$(5!3(B . nil) + (?$(5!4(B . nil) + (?$(5!5(B . ?$(6!5(B) + (?$(5!6(B . nil) + (?$(5!7(B . nil) + (?$(5!8(B . nil) + (?$(5!9(B . nil) + (?$(5!:(B . nil) + (?$(5!;(B . nil) + (?$(5!<(B . nil) + (?$(5!=(B . ?$(6!=(B) + (?$(5!>(B . ?$(6!>(B) + (?$(5!?(B . ?$(6!?(B) + (?$(5!@(B . ?$(6!@(B) + (?$(5!A(B . nil) + (?$(5!B(B . ?$(6!B(B) + (?$(5!C(B . ?$(6!C(B) + (?$(5!D(B . ?$(6!D(B) + (?$(5!E(B . ?$(6!E(B) + (?$(5!F(B . ?$(6!F(B) + (?$(5!G(B . ?$(6!G(B) + (?$(5!H(B . ?$(6!H(B) + (?$(5!I(B . nil) + (?$(5!J(B . ?$(6!J(B) + (?$(5!K(B . ?$(6!K(B) + (?$(5!L(B . ?$(6!L(B) + (?$(5!M(B . ?$(6!M(B) + (?$(5!N(B . ?$(6!N(B) + (?$(5!O(B . ?$(6!O(B) + (?$(5!P(B . ?$(6!P(B) + (?$(5!Q(B . nil) + (?$(5!R(B . nil) + (?$(5!S(B . nil) + (?$(5!T(B . ?$(6!T(B) + (?$(5!U(B . nil) + (?$(5!V(B . ?$(6!V(B) + (?$(5!W(B . ?$(6!W(B) + (?$(5!X(B . ?$(6!X(B) + (?$(5!Y(B . nil) + (?$(5!Z(B . ?$(6!Z(B) + (?$(5![(B . ?$(6![(B) + (?$(5!\(B . ?$(6!\(B) + (?$(5!](B . ?$(6!](B) + (?$(5!^(B . ?$(6!^(B) + (?$(5!_(B . ?$(6!_(B) + (?$(5!`(B . ?$(6!`(B) + (?$(5!a(B . ?$(6!a(B) + (?$(5!b(B . ?$(6!b(B) + (?$(5!c(B . ?$(6!c(B) + (?$(5!d(B . ?$(6!d(B) + (?$(5!e(B . ?$(6!e(B) + (?$(5!f(B . ?$(6!f(B) + (?$(5!g(B . ?$(6!g(B) + (?$(5!h(B . ?$(6!h(B) + (?$(5!i(B . ?$(6!i(B) + (?$(5!j(B . ?$(6!j(B) + (nil . nil) + (nil . nil) + (nil . nil) + (nil . nil) + (nil . nil) + (nil . nil) + (?$(5!q(B . ?$(6!q(B) + (?$(5!r(B . ?$(6!r(B) + (?$(5!s(B . ?$(6!s(B) + (?$(5!t(B . ?$(6!t(B) + (?$(5!u(B . ?$(6!u(B) + (?$(5!v(B . ?$(6!v(B) + (?$(5!w(B . ?$(6!w(B) + (?$(5!x(B . ?$(6!x(B) + (?$(5!y(B . ?$(6!y(B) + (?$(5!z(B . ?$(6!z(B) + (nil . nil) + (nil . nil) + (nil . nil) + (nil . nil) + (?$(5"!(B . nil) + (?$(5""(B . nil) + (?$(5"#(B . nil) + (?$(5"$(B . nil) + (?$(5"%(B . ?$(6"%(B) + (?$(5"&(B . ?$(6"&(B) + (?$(5"'(B . nil) + (?$(5"((B . nil) + (?$(5")(B . nil) + (?$(5"*(B . nil) + (?$(5"+(B . nil) + (?$(5",(B . ?$(6",(B) + (?$(5"-(B . nil) + (?$(5".(B . ?$(6".(B) + (?$(5"/(B . nil) + (?$(5"0(B . nil) + (?$(5"1(B . nil) + (?$(5"2(B . nil) + (?$(5"3(B . ?$(6"3(B) + (?$(5"4(B . ?$(6"4(B) + (?$(5"5(B . ?$(6"5(B) + (?$(5"6(B . ?$(6"6(B) + (?$(5"7(B . nil) + (?$(5"8(B . ?$(6"8(B) + (?$(5"9(B . nil) + (?$(5":(B . ?$(6":(B) + (?$(5";(B . ?$(6";(B) + (?$(5"<(B . ?$(6"<(B) + (?$(5"=(B . nil) + (?$(5">(B . nil) + (?$(5"?(B . nil) + (?$(5"@(B . nil) + (?$(5"A(B . ?$(6"A(B) + (?$(5"B(B . ?$(6"B(B) + (?$(5"C(B . ?$(6"C(B) + (?$(5"D(B . nil) + (?$(5"E(B . ?$(6"E(B) + (?$(5"F(B . ?$(6"F(B) + (?$(5"G(B . ?$(6"G(B) + (?$(5"H(B . ?$(6"H(B) + (?$(5"I(B . ?$(6"I(B) + (?$(5"J(B . ?$(6"J(B) + (?$(5"K(B . ?$(6"K(B) + (?$(5"L(B . ?$(6"L(B) + (?$(5"M(B . ?$(6"M(B) + (?$(5"N(B . ?$(6"N(B) + (?$(5"O(B . nil) + (?$(5"P(B . nil) + (?$(5"Q(B . ?$(6"Q(B) + (?$(5"R(B . nil) + (?$(5"S(B . nil) + (?$(5"T(B . ?$(6"T(B) + (?$(5"U(B . ?$(6"U(B) + (?$(5"V(B . ?$(6"V(B) + (?$(5"W(B . ?$(6"W(B) + (?$(5"X(B . nil) + (?$(5"Y(B . nil) + (?$(5"Z(B . nil) + (?$(5"[(B . nil) + (?$(5"\(B . nil) + (?$(5"](B . nil) + (?$(5"^(B . nil) + (?$(5"_(B . nil) + (?$(5"`(B . ?$(6"`(B) + (?$(5"a(B . ?$(6"a(B) + (?$(5"b(B . ?$(6"b(B) + (?$(5"c(B . ?$(6"c(B) + (?$(5"d(B . ?$(6"d(B) + (?$(5"e(B . ?$(6"e(B) + (?$(5"f(B . ?$(6"f(B) + (?$(5"g(B . ?$(6"g(B) + (?$(5"h(B . ?$(6"h(B) + (?$(5"i(B . ?$(6"i(B) + (?$(5"j(B . ?$(6"j(B) + (?$(5"k(B . nil) + (?$(5"l(B . ?$(6"l(B) + (?$(5"m(B . ?$(6"m(B) + (?$(5"n(B . nil) + (?$(5"o(B . nil) + (?$(5"p(B . ?$(6"p(B) + (?$(5"q(B . ?$(6"q(B) + (?$(5"r(B . ?$(6"r(B) + (?$(5"s(B . ?$(6"s(B) + (?$(5"t(B . ?$(6"t(B) + (?$(5"u(B . ?$(6"u(B) + (?$(5"v(B . nil) + (?$(5"w(B . nil) + (?$(5"x(B . nil) + (?$(5"y(B . ?$(6"y(B) + (?$(5"z(B . ?$(6"z(B) + (?$(5"{(B . nil) + (?$(5"|(B . nil) + (?$(5"}(B . nil) + (?$(5"~(B . nil) + (?$(5#!(B . nil) + (?$(5#"(B . nil) + (?$(5##(B . nil) + (?$(5#$(B . nil) + (?$(5#%(B . nil) + (?$(5#&(B . ?$(6#&(B) + (?$(5#'(B . ?$(6#'(B) + (?$(5#((B . nil) + (?$(5#)(B . nil) + (?$(5#*(B . ?$(6#*(B) + (?$(5#+(B . nil) + (?$(5#,(B . nil) + (?$(5#-(B . nil) + (?$(5#.(B . nil) + (?$(5#/(B . nil) + (?$(5#0(B . nil) + (?$(5#1(B . nil) + (?$(5#2(B . nil) + (?$(5#3(B . nil) + (?$(5#4(B . nil) + (?$(5#5(B . ?$(6#5(B) + (?$(5#6(B . nil) + (?$(5#7(B . nil) + (?$(5#8(B . nil) + (?$(5#9(B . nil) + (?$(5#:(B . nil) + (?$(5#;(B . nil) + (?$(5#<(B . nil) + (?$(5#=(B . nil) + (?$(5#>(B . nil) + (?$(5#?(B . ?$(6#?(B) + (?$(5#@(B . ?$(6#@(B) + (?$(5#A(B . nil) + (?$(5#B(B . nil) + (?$(5#C(B . nil) + (?$(5#D(B . nil) + (?$(5#E(B . nil) + (?$(5#F(B . nil) + (?$(5#G(B . nil) + (?$(5#H(B . nil) + (?$(5#I(B . nil) + (?$(5#J(B . ?$(6#J(B) + (?$(5#K(B . nil) + (?$(5#L(B . nil) + (?$(5#M(B . nil) + (?$(5#N(B . nil) + (?$(5#O(B . nil) + (?$(5#P(B . nil) + (?$(5#Q(B . nil) + (?$(5#R(B . ?$(6#R(B) + (?$(5#S(B . nil) + (?$(5#T(B . nil) + (?$(5#U(B . nil) + (?$(5#V(B . nil) + (?$(5#W(B . nil) + (?$(5#X(B . nil) + (?$(5#Y(B . nil) + (?$(5#Z(B . nil) + (?$(5#[(B . nil) + (?$(5#\(B . nil) + (?$(5#](B . nil) + (?$(5#^(B . nil) + (?$(5#_(B . nil) + (?$(5#`(B . nil) + (?$(5#a(B . ?$(6#a(B) + (?$(5#b(B . ?$(6#b(B) + (?$(5#c(B . nil) + (?$(5#d(B . nil) + (?$(5#e(B . nil) + (?$(5#f(B . nil) + (?$(5#g(B . nil) + (?$(5#h(B . nil) + (?$(5#i(B . nil) + (?$(5#j(B . ?$(6#j(B) + (?$(5#k(B . ?$(6#k(B) + (?$(5#l(B . ?$(6#l(B) + (?$(5#m(B . nil) + (?$(5#n(B . nil) + (?$(5#o(B . nil) + (?$(5#p(B . nil) + (?$(5#q(B . nil) + (?$(5#r(B . nil) + (?$(5#s(B . nil) + (?$(5#t(B . nil) + (?$(5#u(B . nil) + (?$(5#v(B . nil) + (?$(5#w(B . nil) + (?$(5#x(B . nil) + (?$(5#y(B . nil) + (?$(5#z(B . nil) + (?$(5#{(B . nil) + (?$(5#|(B . nil) + (?$(5#}(B . nil) + (?$(5#~(B . nil) + (?$(5$!(B . nil) + (?$(5$"(B . nil) + (?$(5$#(B . nil) + (?$(5$$(B . nil) + (?$(5$%(B . nil) + (?$(5$&(B . nil) + (?$(5$'(B . nil) + (?$(5$((B . nil) + (?$(5$)(B . nil) + (?$(5$*(B . nil) + (?$(5$+(B . nil) + (?$(5$,(B . nil) + (?$(5$-(B . nil) + (?$(5$.(B . nil) + (?$(5$/(B . nil) + (?$(5$0(B . nil) + (?$(5$1(B . nil) + (?$(5$2(B . nil) + (?$(5$3(B . nil) + (?$(5$4(B . nil) + (?$(5$5(B . nil) + (?$(5$6(B . nil) + (?$(5$7(B . nil) + (?$(5$8(B . nil) + (?$(5$9(B . nil) + (?$(5$:(B . nil) + (?$(5$;(B . nil) + (?$(5$<(B . nil) + (?$(5$=(B . nil) + (?$(5$>(B . nil) + (?$(5$?(B . nil) + (?$(5$@(B . nil) + (?$(5$A(B . ?$(6$A(B) + (?$(5$B(B . nil) + (?$(5$C(B . nil) + (?$(5$D(B . nil) + (?$(5$E(B . ?$(6$E(B) + (?$(5$F(B . nil) + (?$(5$G(B . nil) + (?$(5$H(B . ?$(6$H(B) + (?$(5$I(B . ?$(6$I(B) + (?$(5$J(B . ?$(6$J(B) + (?$(5$K(B . nil) + (?$(5$L(B . nil) + (?$(5$M(B . nil) + (?$(5$N(B . ?$(6$N(B) + (?$(5$O(B . nil) + (?$(5$P(B . ?$(6$P(B) + (?$(5$Q(B . ?$(6$Q(B) + (?$(5$R(B . ?$(6$R(B) + (?$(5$S(B . nil) + (?$(5$T(B . nil) + (?$(5$U(B . nil) + (?$(5$V(B . nil) + (?$(5$W(B . nil) + (?$(5$X(B . nil) + (?$(5$Y(B . nil) + (?$(5$Z(B . nil) + (?$(5$[(B . nil) + (?$(5$\(B . nil) + (?$(5$](B . nil) + (?$(5$^(B . nil) + (?$(5$_(B . nil) + (?$(5$`(B . nil) + (?$(5$a(B . nil) + (?$(5$b(B . nil) + (?$(5$c(B . nil) + (?$(5$d(B . nil) + (?$(5$e(B . nil) + (?$(5$f(B . nil) + (?$(5$g(B . nil) + (?$(5$h(B . ?$(6$h(B) + (?$(5$i(B . ?$(6$i(B) + (?$(5$j(B . ?$(6$j(B) + (?$(5$k(B . nil) + (?$(5$l(B . ?$(6$l(B) + (?$(5$m(B . ?$(6$m(B) + (?$(5$n(B . ?$(6$n(B) + (?$(5$o(B . nil) + (?$(5$p(B . ?$(6$p(B) + (?$(5$q(B . ?$(6$q(B) + (?$(5$r(B . ?$(6$r(B) + (?$(5$s(B . nil) + (?$(5$t(B . nil) + (?$(5$u(B . ?$(6$u(B) + (?$(5$v(B . ?$(6$v(B) + (?$(5$w(B . nil) + (?$(5$x(B . ?$(6$x(B) + (?$(5$y(B . ?$(6$y(B) + (?$(5$z(B . nil) + (?$(5${(B . nil) + (?$(5$|(B . nil) + (?$(5$}(B . nil) + (?$(5$~(B . nil) + )) + +;;; devanagari.el ends here |