1 ;;; devanagari.el --- Support for Devanagari Languages
3 ;; Copyright (C) 1996 Free Software Foundation, Inc.
5 ;; Author: KAWABATA, Taichi <kawabata@is.s.u-tokyo.ac.jp>
7 ;; Keywords: multilingual, 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.18 written by KAWABATA, Taichi <kawabata@is.s.u-tokyo.ac.jp>
30 ;; 1997.1.20 fixed some bugs.
35 "8-bit encoding for ASCII (MSB=0) and IS13194-Devanagari (MSB=1)"
36 '((ascii t) (indian-is13194 t) nil nil
39 (define-coding-system-alias 'devanagari 'in-is13194-devanagari)
42 'post-read-conversion 'in-is13194-devanagari-post-read-conversion)
44 'pre-write-conversion 'in-is13194-devanagari-pre-write-conversion)
46 (set-language-info-alist
47 "Devanagari" '((setup-function . (setup-devanagari-environment
48 . setup-indian-environment-map))
49 (charset . (indian-is13194 indian-2-column indian-1-column))
50 (coding-system . (devanagari))
52 Such languages using Devanagari script as Hindi and Marathi
53 are supported in this language environment."
54 . describe-indian-environment-map))))
57 ;; Devanagari Glyph List
59 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f
60 ;;2120
\e$(5!!!"!#!$!%!&!'!(!)!*!+!,!-!.!/
\e(B
61 ;;2130
\e$(5!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?
\e(B
62 ;;2140
\e$(5!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O
\e(B
63 ;;2150
\e$(5!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_
\e(B
64 ;;2160
\e$(5!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o
\e(B
65 ;;2170
\e$(5!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~
\e(B
67 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f
68 ;;2220
\e$(5"!"""#"$"%"&"'"(")"*"+","-"."/
\e(B
69 ;;2230
\e$(5"0"1"2"3"4"5"6"7"8"9":";"<"=">"?
\e(B
70 ;;2240
\e$(5"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O
\e(B
71 ;;2250
\e$(5"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_
\e(B
72 ;;2260
\e$(5"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o
\e(B
73 ;;2270
\e$(5"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~
\e(B
75 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f
76 ;;2320
\e$(5#!#"###$#%#&#'#(#)#*#+#,#-#.#/
\e(B
77 ;;2330
\e$(5#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?
\e(B
78 ;;2340
\e$(5#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O
\e(B
79 ;;2350
\e$(5#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_
\e(B
80 ;;2360
\e$(5#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o
\e(B
81 ;;2370
\e$(5#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~
\e(B
83 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f
84 ;;2420
\e$(5$!$"$#$$$%$&$'$($)$*$+$,$-$.$/
\e(B
85 ;;2430
\e$(5$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?
\e(B
86 ;;2440
\e$(5$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O
\e(B
87 ;;2450
\e$(5$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_
\e(B
88 ;;2460
\e$(5$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o
\e(B
89 ;;2470
\e$(5$p$q$r$s$t$u$v$w$x$y$z${$|$}$~
\e(B
92 ;;2120
\e$(6!!!"!#!$!%!&!'!(!)!*!+!,!-!.!/
\e(B
93 ;;2130
\e$(6!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?
\e(B
94 ;;2140
\e$(6!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O
\e(B
95 ;;2150
\e$(6!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_
\e(B
96 ;;2160
\e$(6!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o
\e(B
97 ;;2170
\e$(6!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~
\e(B
100 ;;2220
\e$(6"!"""#"$"%"&"'"(")"*"+","-"."/
\e(B
101 ;;2230
\e$(6"0"1"2"3"4"5"6"7"8"9":";"<"=">"?
\e(B
102 ;;2240
\e$(6"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O
\e(B
103 ;;2250
\e$(6"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_
\e(B
104 ;;2260
\e$(6"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o
\e(B
105 ;;2270
\e$(6"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~
\e(B
106 ;;2320
\e$(6#!#"###$#%#&#'#(#)#*#+#,#-#.#/
\e(B
107 ;;2330
\e$(6#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?
\e(B
108 ;;2340
\e$(6#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O
\e(B
109 ;;2350
\e$(6#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_
\e(B
110 ;;2360
\e$(6#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o
\e(B
111 ;;2370
\e$(6#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~
\e(B
114 ;;2320
\e$(6$!$"$#$$$%$&$'$($)$*$+$,$-$.$/
\e(B
115 ;;2430
\e$(6$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?
\e(B
116 ;;2440
\e$(6$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O
\e(B
117 ;;2450
\e$(6$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_
\e(B
118 ;;2460
\e$(6$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o
\e(B
119 ;;2470
\e$(6$p$q$r$s$t$u$v$w$x$y$z${$|$}$~
\e(B
122 ;; Modify the following table if you change the set of 1-column font.
124 (defconst devanagari-1-column-char
125 '((?
\e$(5!!
\e(B . ?
\e$(6!!
\e(B)
126 (?
\e$(5!"
\e(B . ?
\e$(6!"
\e(B)
127 (?
\e$(5!#
\e(B . ?
\e$(6!#
\e(B)
130 (?
\e$(5!&
\e(B . ?
\e$(6!&
\e(B)
131 (?
\e$(5!'
\e(B . ?
\e$(6!'
\e(B)
132 (?
\e$(5!(
\e(B . ?
\e$(6!(
\e(B)
145 (?
\e$(5!5
\e(B . ?
\e$(6!5
\e(B)
153 (?
\e$(5!=
\e(B . ?
\e$(6!=
\e(B)
154 (?
\e$(5!>
\e(B . ?
\e$(6!>
\e(B)
155 (?
\e$(5!?
\e(B . ?
\e$(6!?
\e(B)
156 (?
\e$(5!@
\e(B . ?
\e$(6!@
\e(B)
158 (?
\e$(5!B
\e(B . ?
\e$(6!B
\e(B)
159 (?
\e$(5!C
\e(B . ?
\e$(6!C
\e(B)
160 (?
\e$(5!D
\e(B . ?
\e$(6!D
\e(B)
161 (?
\e$(5!E
\e(B . ?
\e$(6!E
\e(B)
162 (?
\e$(5!F
\e(B . ?
\e$(6!F
\e(B)
163 (?
\e$(5!G
\e(B . ?
\e$(6!G
\e(B)
164 (?
\e$(5!H
\e(B . ?
\e$(6!H
\e(B)
166 (?
\e$(5!J
\e(B . ?
\e$(6!J
\e(B)
167 (?
\e$(5!K
\e(B . ?
\e$(6!K
\e(B)
168 (?
\e$(5!L
\e(B . ?
\e$(6!L
\e(B)
169 (?
\e$(5!M
\e(B . ?
\e$(6!M
\e(B)
170 (?
\e$(5!N
\e(B . ?
\e$(6!N
\e(B)
171 (?
\e$(5!O
\e(B . ?
\e$(6!O
\e(B)
172 (?
\e$(5!P
\e(B . ?
\e$(6!P
\e(B)
176 (?
\e$(5!T
\e(B . ?
\e$(6!T
\e(B)
178 (?
\e$(5!V
\e(B . ?
\e$(6!V
\e(B)
179 (?
\e$(5!W
\e(B . ?
\e$(6!W
\e(B)
180 (?
\e$(5!X
\e(B . ?
\e$(6!X
\e(B)
182 (?
\e$(5!Z
\e(B . ?
\e$(6!Z
\e(B)
183 (?
\e$(5![
\e(B . ?
\e$(6![
\e(B)
184 (?
\e$(5!\
\e(B . ?
\e$(6!\
\e(B)
185 (?
\e$(5!]
\e(B . ?
\e$(6!]
\e(B)
186 (?
\e$(5!^
\e(B . ?
\e$(6!^
\e(B)
187 (?
\e$(5!_
\e(B . ?
\e$(6!_
\e(B)
188 (?
\e$(5!`
\e(B . ?
\e$(6!`
\e(B)
189 (?
\e$(5!a
\e(B . ?
\e$(6!a
\e(B)
190 (?
\e$(5!b
\e(B . ?
\e$(6!b
\e(B)
191 (?
\e$(5!c
\e(B . ?
\e$(6!c
\e(B)
192 (?
\e$(5!d
\e(B . ?
\e$(6!d
\e(B)
193 (?
\e$(5!e
\e(B . ?
\e$(6!e
\e(B)
194 (?
\e$(5!f
\e(B . ?
\e$(6!f
\e(B)
195 (?
\e$(5!g
\e(B . ?
\e$(6!g
\e(B)
196 (?
\e$(5!h
\e(B . ?
\e$(6!h
\e(B)
197 (?
\e$(5!i
\e(B . ?
\e$(6!i
\e(B)
198 (?
\e$(5!j
\e(B . ?
\e$(6!j
\e(B)
205 (?
\e$(5!q
\e(B . ?
\e$(6!q
\e(B)
206 (?
\e$(5!r
\e(B . ?
\e$(6!r
\e(B)
207 (?
\e$(5!s
\e(B . ?
\e$(6!s
\e(B)
208 (?
\e$(5!t
\e(B . ?
\e$(6!t
\e(B)
209 (?
\e$(5!u
\e(B . ?
\e$(6!u
\e(B)
210 (?
\e$(5!v
\e(B . ?
\e$(6!v
\e(B)
211 (?
\e$(5!w
\e(B . ?
\e$(6!w
\e(B)
212 (?
\e$(5!x
\e(B . ?
\e$(6!x
\e(B)
213 (?
\e$(5!y
\e(B . ?
\e$(6!y
\e(B)
214 (?
\e$(5!z
\e(B . ?
\e$(6!z
\e(B)
222 (?
\e$(5"$
\e(B . ?
\e$(6"$
\e(B)
223 (?
\e$(5"%
\e(B . ?
\e$(6"%
\e(B)
224 (?
\e$(5"&
\e(B . ?
\e$(6"&
\e(B)
230 (?
\e$(5",
\e(B . ?
\e$(6",
\e(B)
232 (?
\e$(5".
\e(B . ?
\e$(6".
\e(B)
237 (?
\e$(5"3
\e(B . ?
\e$(6"3
\e(B)
238 (?
\e$(5"4
\e(B . ?
\e$(6"4
\e(B)
239 (?
\e$(5"5
\e(B . ?
\e$(6"5
\e(B)
240 (?
\e$(5"6
\e(B . ?
\e$(6"6
\e(B)
242 (?
\e$(5"8
\e(B . ?
\e$(6"8
\e(B)
244 (?
\e$(5":
\e(B . ?
\e$(6":
\e(B)
245 (?
\e$(5";
\e(B . ?
\e$(6";
\e(B)
246 (?
\e$(5"<
\e(B . ?
\e$(6"<
\e(B)
251 (?
\e$(5"A
\e(B . ?
\e$(6"A
\e(B)
252 (?
\e$(5"B
\e(B . ?
\e$(6"B
\e(B)
253 (?
\e$(5"C
\e(B . ?
\e$(6"C
\e(B)
255 (?
\e$(5"E
\e(B . ?
\e$(6"E
\e(B)
256 (?
\e$(5"F
\e(B . ?
\e$(6"F
\e(B)
257 (?
\e$(5"G
\e(B . ?
\e$(6"G
\e(B)
258 (?
\e$(5"H
\e(B . ?
\e$(6"H
\e(B)
259 (?
\e$(5"I
\e(B . ?
\e$(6"I
\e(B)
260 (?
\e$(5"J
\e(B . ?
\e$(6"J
\e(B)
261 (?
\e$(5"K
\e(B . ?
\e$(6"K
\e(B)
262 (?
\e$(5"L
\e(B . ?
\e$(6"L
\e(B)
263 (?
\e$(5"M
\e(B . ?
\e$(6"M
\e(B)
264 (?
\e$(5"N
\e(B . ?
\e$(6"N
\e(B)
267 (?
\e$(5"Q
\e(B . ?
\e$(6"Q
\e(B)
270 (?
\e$(5"T
\e(B . ?
\e$(6"T
\e(B)
271 (?
\e$(5"U
\e(B . ?
\e$(6"U
\e(B)
272 (?
\e$(5"V
\e(B . ?
\e$(6"V
\e(B)
273 (?
\e$(5"W
\e(B . ?
\e$(6"W
\e(B)
279 (?
\e$(5"]
\e(B . ?
\e$(6"]
\e(B)
282 (?
\e$(5"`
\e(B . ?
\e$(6"`
\e(B)
283 (?
\e$(5"a
\e(B . ?
\e$(6"a
\e(B)
284 (?
\e$(5"b
\e(B . ?
\e$(6"b
\e(B)
285 (?
\e$(5"c
\e(B . ?
\e$(6"c
\e(B)
286 (?
\e$(5"d
\e(B . ?
\e$(6"d
\e(B)
287 (?
\e$(5"e
\e(B . ?
\e$(6"e
\e(B)
288 (?
\e$(5"f
\e(B . ?
\e$(6"f
\e(B)
289 (?
\e$(5"g
\e(B . ?
\e$(6"g
\e(B)
290 (?
\e$(5"h
\e(B . ?
\e$(6"h
\e(B)
291 (?
\e$(5"i
\e(B . ?
\e$(6"i
\e(B)
292 (?
\e$(5"j
\e(B . ?
\e$(6"j
\e(B)
293 (?
\e$(5"k
\e(B . ?
\e$(6"k
\e(B)
294 (?
\e$(5"l
\e(B . ?
\e$(6"l
\e(B)
295 (?
\e$(5"m
\e(B . ?
\e$(6"m
\e(B)
298 (?
\e$(5"p
\e(B . ?
\e$(6"p
\e(B)
299 (?
\e$(5"q
\e(B . ?
\e$(6"q
\e(B)
300 (?
\e$(5"r
\e(B . ?
\e$(6"r
\e(B)
301 (?
\e$(5"s
\e(B . ?
\e$(6"s
\e(B)
302 (?
\e$(5"t
\e(B . ?
\e$(6"t
\e(B)
303 (?
\e$(5"u
\e(B . ?
\e$(6"u
\e(B)
307 (?
\e$(5"y
\e(B . ?
\e$(6"y
\e(B)
308 (?
\e$(5"z
\e(B . ?
\e$(6"z
\e(B)
333 (?
\e$(5#5
\e(B . ?
\e$(6#5
\e(B)
343 (?
\e$(5#?
\e(B . ?
\e$(6#?
\e(B)
344 (?
\e$(5#@
\e(B . ?
\e$(6#@
\e(B)
354 (?
\e$(5#J
\e(B . ?
\e$(6#J
\e(B)
355 (?
\e$(5#K
\e(B . ?
\e$(6#K
\e(B)
356 (?
\e$(5#L
\e(B . ?
\e$(6#L
\e(B)
357 (?
\e$(5#M
\e(B . ?
\e$(6#M
\e(B)
362 (?
\e$(5#R
\e(B . ?
\e$(6#R
\e(B)
377 (?
\e$(5#a
\e(B . ?
\e$(6#a
\e(B)
378 (?
\e$(5#b
\e(B . ?
\e$(6#b
\e(B)
386 (?
\e$(5#j
\e(B . ?
\e$(6#j
\e(B)
387 (?
\e$(5#k
\e(B . ?
\e$(6#k
\e(B)
388 (?
\e$(5#l
\e(B . ?
\e$(6#l
\e(B)
439 (?
\e$(5$A
\e(B . ?
\e$(6$A
\e(B)
443 (?
\e$(5$E
\e(B . ?
\e$(6$E
\e(B)
446 (?
\e$(5$H
\e(B . ?
\e$(6$H
\e(B)
447 (?
\e$(5$I
\e(B . ?
\e$(6$I
\e(B)
448 (?
\e$(5$J
\e(B . ?
\e$(6$J
\e(B)
452 (?
\e$(5$N
\e(B . ?
\e$(6$N
\e(B)
454 (?
\e$(5$P
\e(B . ?
\e$(6$P
\e(B)
455 (?
\e$(5$Q
\e(B . ?
\e$(6$Q
\e(B)
456 (?
\e$(5$R
\e(B . ?
\e$(6$R
\e(B)
478 (?
\e$(5$h
\e(B . ?
\e$(6$h
\e(B)
479 (?
\e$(5$i
\e(B . ?
\e$(6$i
\e(B)
480 (?
\e$(5$j
\e(B . ?
\e$(6$j
\e(B)
482 (?
\e$(5$l
\e(B . ?
\e$(6$l
\e(B)
483 (?
\e$(5$m
\e(B . ?
\e$(6$m
\e(B)
484 (?
\e$(5$n
\e(B . ?
\e$(6$n
\e(B)
486 (?
\e$(5$p
\e(B . ?
\e$(6$p
\e(B)
487 (?
\e$(5$q
\e(B . ?
\e$(6$q
\e(B)
488 (?
\e$(5$r
\e(B . ?
\e$(6$r
\e(B)
491 (?
\e$(5$u
\e(B . ?
\e$(6$u
\e(B)
492 (?
\e$(5$v
\e(B . ?
\e$(6$v
\e(B)
494 (?
\e$(5$x
\e(B . ?
\e$(6$x
\e(B)
495 (?
\e$(5$y
\e(B . ?
\e$(6$y
\e(B)
503 ;;; devanagari.el ends here