summaryrefslogtreecommitdiff
path: root/tex/context/base/enco-il2.tex
blob: 25767ea4f9563d645179f478903c1267c1adb07c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
%D \module
%D   [     file=enco-il2,
%D      version=1998.12.1,
%D        title=\CONTEXT\ Encoding Macros,
%D     subtitle=Czech and Slovak ISO Latin 2 Encoding,
%D       author=J. Hagen,
%D         date=\currentdate,
%D    copyright=J. Hagen]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for 
%C details. 

%D This Czech/Slovak encoding is dedicated to Han The Thanh. 
%D The numbers are derived from some files he sent me. This 
%D definition file is (still) sort of beta. 

\startmapping[il2]

\definecasemap 127 to 255    % we map them all to themselves

\definecasemap 165 181 165   \definecasemap 169 185 169 
\definecasemap 171 187 171   \definecasemap 174 190 174 
\definecasemap 181 181 165   \definecasemap 185 185 169 
\definecasemap 187 187 171   \definecasemap 190 190 174 
\definecasemap 192 224 192   \definecasemap 193 225 193 
\definecasemap 196 228 196   \definecasemap 197 229 197 
\definecasemap 200 232 200   \definecasemap 201 233 201 
\definecasemap 204 236 204   \definecasemap 205 237 205 
\definecasemap 207 239 207   \definecasemap 210 242 210 
\definecasemap 211 243 211   \definecasemap 212 244 212 
\definecasemap 214 246 214   \definecasemap 216 248 216 
\definecasemap 217 249 217   \definecasemap 218 250 218 
\definecasemap 220 252 220   \definecasemap 221 253 221 
\definecasemap 224 224 192   \definecasemap 225 225 193 
\definecasemap 228 228 196   \definecasemap 229 229 197 
\definecasemap 232 232 200   \definecasemap 233 233 201 
\definecasemap 236 236 204   \definecasemap 237 237 205 
\definecasemap 239 239 207   \definecasemap 242 242 210 
\definecasemap 243 243 211   \definecasemap 244 244 212 
\definecasemap 246 246 214   \definecasemap 248 248 216 
\definecasemap 249 249 217   \definecasemap 250 250 218 
\definecasemap 252 252 220   \definecasemap 253 253 221 

\stopmapping

\startcoding[il2]

%D Most accents are located at their normal position as set 
%D in \PLAIN\ \TEX; only \type {\r} is new. 

\defineaccentcommand " 127
\defineaccentcommand '  19
\defineaccentcommand .  95
\defineaccentcommand =  22
\defineaccentcommand ^  94
\defineaccentcommand `  18
\defineaccentcommand ~ 126
\defineaccentcommand H 125
\defineaccentcommand u  21
\defineaccentcommand v  20
\defineaccentcommand r  23 

\defineaccent ' a    ^^e1   \defineaccent ' A    ^^c1
\defineaccent ' e    ^^e9   \defineaccent ' E    ^^c9
\defineaccent ' i    ^^ed   \defineaccent ' I    ^^cd
\defineaccent ' {\i} ^^ed
\defineaccent ' l    ^^e5   \defineaccent ' L    ^^c5
\defineaccent ' o    ^^f3   \defineaccent ' O    ^^d3
\defineaccent ' r    ^^e0   \defineaccent ' R    ^^c0
\defineaccent ' u    ^^fa   \defineaccent ' U    ^^da
\defineaccent ' y    ^^fd   \defineaccent ' Y    ^^dd

\defineaccent ` a    ^^b8   \defineaccent ` A    ^^98

\defineaccent ^ o    ^^f4   \defineaccent ^ O    ^^d4

\defineaccent " a    ^^e4   \defineaccent " A    ^^c4
\defineaccent " o    ^^f6   \defineaccent " O    ^^d6
\defineaccent " u    ^^fc   \defineaccent " U    ^^dc

\defineaccent v c    ^^e8    \defineaccent v C   ^^c8
\defineaccent v d    ^^ef    \defineaccent v D   ^^cf
\defineaccent v e    ^^ec    \defineaccent v E   ^^cc
\defineaccent v l    ^^b5    \defineaccent v L   ^^a5
\defineaccent v n    ^^f2    \defineaccent v N   ^^d2
\defineaccent v r    ^^f8    \defineaccent v R   ^^d8
\defineaccent v s    ^^b9    \defineaccent v S   ^^a9
\defineaccent v t    ^^bb    \defineaccent v T   ^^ab
\defineaccent v z    ^^be    \defineaccent v Z   ^^ae

\defineaccent r u    ^^f9    \defineaccent r U   ^^d9

\defineaccent r A {\ilencodedrA}

\def\ilencodedrA%
   {\leavevmode\hbox\bgroup
    \setbox0\hbox{h}%
    \dimen0=\ht0
    \advance\dimen0 by -1ex
    \rlap{\raise.67\dimen0\hbox{\char'27}}A%
    \egroup}

\definecharacter ae 26  \definecharacter AE 29
\definecharacter oe 27  \definecharacter OE 30
\definecharacter o  28  \definecharacter O  31
\definecharacter i  16  \definecharacter sz 25
\definecharacter j  17  \definecharacter SS 25


%D Some rather \PLAIN\ \TEX\ redefinitions. 

\defineaccentcommand b {\ilencodedb}
\defineaccentcommand c {\ilencodedc}
\defineaccentcommand d {\ilencodedd}

\def\ilencodedb#1
  {\oalign%
     {\null#1\crcr\hidewidth\sh@ft{29}%
      \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}}

\def\ilencodedc#1
  {\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent24 #1\else
     {\ooalign{\unhbox\z@\crcr\hidewidth\char24\hidewidth}}\fi}

\def\ilencodedd#1%
  {\oalign{\null#1\crcr\hidewidth\sh@ft{08}.\hidewidth}}

%D Some less \PLAIN\ ones: 

\definecharacter l {\ilencodedl}
\definecharacter L {\ilencodedL}

\def\ilencodedl%
  {{\char32l}}

\def\ilencodedL% I don't like the \leavevmode here, better \enterhmode
  {\leavevmode\hbox\bgroup
   \setbox0\hbox{L}%
   \hbox to\wd0{\hss\char32L}%
   \egroup}

\stopcoding

% \everyuppercase, font/language specifics ?

% \uccode152=152 \lccode152=184
% \uccode184=152 \lccode184=184
% \uccode165=165 \lccode165=181
% \uccode181=165 \lccode181=181
% \uccode169=169 \lccode169=185
% \uccode185=169 \lccode185=185
% \uccode171=171 \lccode171=187
% \uccode187=171 \lccode187=187
% \uccode174=174 \lccode174=190
% \uccode190=174 \lccode190=190
% \sfcode254=0   \lccode254=0
% \sfcode255=0   \lccode255=0
% \sfcode158=0   \lccode158=0
% \sfcode159=0   \lccode159=0 

% \defineaccent v c    '350   \defineaccent v C    '310
% \defineaccent v d    '357   \defineaccent v D    '317
% \defineaccent v e    '354   \defineaccent v E    '314
% \defineaccent v l    '265   \defineaccent v L    '245
% \defineaccent v n    '362   \defineaccent v N    '322
% \defineaccent v r    '370   \defineaccent v R    '330
% \defineaccent v s    '271   \defineaccent v S    '251
% \defineaccent v t    '273   \defineaccent v T    '253
% \defineaccent v z    '276   \defineaccent v Z    '256
% \defineaccent ' a    '341   \defineaccent ' A    '301
% \defineaccent ' e    '351   \defineaccent ' E    '311
% \defineaccent ' i    '355   \defineaccent ' I    '315
% \defineaccent ' {\i} '355
% \defineaccent ' l    '345   \defineaccent ' L    '305
% \defineaccent ' o    '363   \defineaccent ' O    '323
% \defineaccent ' r    '340   \defineaccent ' R    '300
% \defineaccent ' u    '372   \defineaccent ' U    '332
% \defineaccent ' y    '375   \defineaccent ' Y    '335
% \defineaccent ` a    '270   \defineaccent ` A    '230
% \defineaccent ^ o    '364   \defineaccent ^ O    '324
% \defineaccent " a    '344   \defineaccent " A    '304
% \defineaccent " o    '366   \defineaccent " O    '326
% \defineaccent " u    '374   \defineaccent " U    '334
% \defineaccent r u    '371   \defineaccent r U    '331

\endinput