;;; devanagari.el --- support for Devanagari -*- coding: iso-2022-7bit; -*- ;; Copyright (C) 1996 Free Software Foundation, Inc. ;; Author: KAWABATA, Taichi ;; 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 ;; 1997.1.20 fixed some bugs. ;;; Code: (make-coding-system 'in-is13194-devanagari 2 ?D "8-bit encoding for ASCII (MSB=0) and IS13194-Devanagari (MSB=1)" '(ascii indian-is13194 nil nil nil ascii-eol) '((safe-charsets ascii indian-is13194) (post-read-conversion . in-is13194-devanagari-post-read-conversion) (pre-write-conversion . in-is13194-devanagari-pre-write-conversion))) (define-coding-system-alias 'devanagari 'in-is13194-devanagari) (set-language-info-alist "Devanagari" '((charset indian-is13194 indian-2-column indian-1-column) (coding-system in-is13194-devanagari) (coding-priority in-is13194-devanagari) (input-method . "devanagari-itrans") (features devan-util) (documentation . "\ Such languages using Devanagari script as Hindi and Marathi are supported in this language environment.")) '("Indian")) ;; ;; Devanagari Glyph List ;; ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f ;;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 ;; ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f ;;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 ;; ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f ;;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 ;; ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f ;;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 ;; ;; 0123456789abcdef ;;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 ;; ;; 0123456789abcdef ;;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 ;; ;; 0123456789abcdef ;;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 . ?$(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 . ?$(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 . ?$(6"](B) (?$(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 . ?$(6"k(B) (?$(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 . 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 . ?$(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 . ?$(6#K(B) (?$(5#L(B . ?$(6#L(B) (?$(5#M(B . ?$(6#M(B) (?$(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) )) (provide 'devanagari) ;;; devanagari.el ends here