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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
|
%D \module
%D [ file=enco-ec,
%D version=2000.05.07, % 1999.16.07,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=\LATEX\ EC Encoding,
%D author={Patrick Gundlach, Hans Hagen, Taco Hoekwater, Mojca Miklavec},
%D date=\currentdate,
%D copyright=PRAGMA-ADE]
%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 is \LATEX2e's T1 encoding vector. All standard \LATEX\
%D accents will work, including \type{\k}. The only accent that
%D does not work is \type{\t} (there is no tie in T1 encoding).
%D
%D Annoyingly, most \POSTSCRIPT\ fonts do not have \type
%D {\dotlessj}, and T1 encoding does not make the various
%D prebuilts with \type {j} available. When this is the case:
%D
%D \starttyping
%D \startencoding[ec]
%D \definecharacter dotlessj {j}
%D \stopencoding
%D \stoptyping
%D
%D is a way out.
%D There is hardly a point in supporting TS1 encoding.
\startmapping[ec]
% a problem is that the uppercase of dstroke (158) and eth (240)
% is the same glyph (208) so we cannot do lowercase mapping there
\definecasemaps 128 to 156 lc +32 uc 0
\definecasemap 157 `i 157 % Idotaccent i
\definecasemap 158 158 208 % dstroke Eth
\definecasemap 159 159 159 % sectionmark
\definecasemaps 160 to 187 lc 0 uc -32
\resetcaserange 189 to 191 % exclamdown, questiondown, textsterling
\definecasemaps 192 to 223 lc +32 uc 0
\definecasemaps 224 to 254 lc 0 uc -32
\definecaseswap 255 223 % ssharp (else patterns fail)
\definecaseswap 25 `I % dotless i
% 156 vs. 188 IJligature
%D Some languages need this:
% \definecaseself 34 % quotedbl
% \definecaseself 18 % quotedblbase
% \definecaseself 16 % quotedblleft
% \definecaseself 17 % quotedblright
% \definecaseself 39 % quotesingle
% \definecaseself 13 % quotesinglebase
% \definecaseself 96 % quoteleft
% \definecaseself 39 % quoteright
%D So far for the mapping.
%D The following characters are kind of dangerous,
%D that is, they are normally not part of fonts, unless
%D explicitly constructed.
%D
%D \startitemize[columns,two]
%D \item \type{\dotlessj} - but then it may not be defined!!!!
%D \item \type{\IJligature}
%D \item \type{\ijligature}
%D \item \type{\Ssharp}
%D \item \type{\perthousand}
%D \item \type{\compoundwordmark}
% \item \type{\textvisiblespace}
%D \stopitemize
%D So, for the moment we nil them; we can always create
%D another vector if needed.
\stopmapping
\startencoding[ec][ec] % second arg defines auto regime, needed here ?
\definecharacter textgrave 0
\definecharacter textacute 1
\definecharacter textcircumflex 2
\definecharacter texttilde 3
\definecharacter textdiaeresis 4
\definecharacter texthungarumlaut 5
\definecharacter textring 6
\definecharacter textcaron 7
\definecharacter textbreve 8
\definecharacter textmacron 9
\definecharacter textdotaccent 10
\definecharacter textcedilla 11
\definecharacter textogonek 12
\definecharacter quotesinglebase 13
\definecharacter guilsingleleft 14
\definecharacter guilsingleright 15
\definecharacter quotedblleft 16
\definecharacter quotedblright 17
\definecharacter quotedblbase 18
\definecharacter leftguillemot 19
\definecharacter rightguillemot 20
\definecharacter endash 21
\definecharacter emdash 22
%definecharacter compoundwordmark 23
%definecharacter perthousand 24
\definecharacter dotlessi 25 % or when missing: {j}
\definecharacter dotlessj 26
% ff 27
% fi 28
% fl 29
% ffi 30
% ffl 31
%definecharacter textvisiblespace 32
% exclam ! 33
\definecharacter quotedbl 34
% numbersign # 35
% dollar $ 36
\definecharacter percent 37
% ampersand & 38
%definecharacter quotesingle 39 % fake 'm TODO:enco-def!!!!
\definecharacter quoteright 39
% parenleft ( 40
% parenright ) 41
% asterisk * 42
% plus + 43
% comma , 44
\definecharacter softhyphen 45
% period . 46
% slash / 47
% 0-9 48-57
% colon : 58
% semicolon ; 59
% less < 60
% equal = 61
% greater > 62
% question ? 63
% at @ 64
% A-Z 65-90
% bracketleft [ 91
\definecharacter textbackslash 92
% bracketright ] 93
\definecharacter textasciicircum 94
\definecharacter textunderscore 95
\definecharacter quoteleft 96
% a-z 97-122
\definecharacter textbraceleft 123
\definecharacter textbraceright 125
\definecharacter textasciitilde 126
%definecharacter softhyphen 127 % -> 45 (127 often undefined)
\definecharacter Abreve 128 % abreve 160
\definecharacter Aogonek 129 % aogonek 161
\definecharacter Cacute 130 % cacute 162
\definecharacter Ccaron 131 % ccaron 163
\definecharacter Dcaron 132 % dcaron 164
\definecharacter Ecaron 133 % ecaron 165
\definecharacter Eogonek 134 % eogonek 166
\definecharacter Gbreve 135 % gbreve 167
\definecharacter Lacute 136 % lacute 168
\definecharacter Lcaron 137 % lcaron 169
\definecharacter Lstroke 138 % lstroke 170
\definecharacter Nacute 139 % nacute 171
\definecharacter Ncaron 140 % ncaron 172
\definecharacter Eng 141 % eng 173
\definecharacter Neng 141 % Neng 173
\definecharacter Ohungarumlaut 142 % ohungarumlaut 174
\definecharacter Racute 143 % racute 175
\definecharacter Rcaron 144 % rcaron 176
\definecharacter Sacute 145 % sacute 177
\definecharacter Scaron 146 % scaron 178
\definecharacter Scedilla 147 % scedilla 179
\definecharacter Tcaron 148 % tcaron 180
\definecharacter Tcedilla 149 % tcedilla 181
\definecharacter Uhungarumlaut 150 % uhungarumlaut 182
\definecharacter Uring 151 % uring 183
\definecharacter Ydiaeresis 152 % ydiaeresis 184
\definecharacter Zacute 153 % zacute 185
\definecharacter Zcaron 154 % zcaron 186
\definecharacter Zdotaccent 155 % zdotaccent 187
\definecharacter IJligature 156 % ijligature 188
\definecharacter Idotaccent 157
\definecharacter dstroke 158 % Dstroke 208
\definecharacter sectionmark 159
\definecharacter abreve 160 % Abreve 128
\definecharacter aogonek 161 % Aogonek 129
\definecharacter cacute 162 % Cacute 130
\definecharacter ccaron 163 % Ccaron 131
\definecharacter dcaron 164 % Dcaron 132
\definecharacter ecaron 165 % Ecaron 133
\definecharacter eogonek 166 % Eogonek 134
\definecharacter gbreve 167 % Gbreve 135
\definecharacter lacute 168 % Lacute 136
\definecharacter lcaron 169 % Lcaron 137
\definecharacter lstroke 170 % Lstroke 138
\definecharacter nacute 171 % Nacute 139
\definecharacter ncaron 172 % Ncaron 140
\definecharacter eng 173 % Eng 141
\definecharacter ohungarumlaut 174 % Ohungarumlaut 142
\definecharacter racute 175 % Racute 143
\definecharacter rcaron 176 % Rcaron 144
\definecharacter sacute 177 % Sacute 145
\definecharacter scaron 178 % Scaron 146
\definecharacter scedilla 179 % Scedilla 147
\definecharacter tcaron 180 % Tcaron 148
\definecharacter tcedilla 181 % Tcedilla 149
\definecharacter uhungarumlaut 182 % Uhungarumlaut 150
\definecharacter uring 183 % Uring 151
\definecharacter ydiaeresis 184 % Ydiaeresis 152
\definecharacter zacute 185 % Zacute 153
\definecharacter zcaron 186 % Zcaron 154
\definecharacter zdotaccent 187 % Zdotaccent 155
\definecharacter ijligature 188 % IJligature 156
\definecharacter exclamdown 189
\definecharacter questiondown 190
\definecharacter textsterling 191
\definecharacter Agrave 192 % agrave 224
\definecharacter Aacute 193 % aacute 225
\definecharacter Acircumflex 194 % acircumflex 226
\definecharacter Atilde 195 % atilde 227
\definecharacter Adiaeresis 196 % adiaeresis 228
\definecharacter Aring 197 % aring 229
\definecharacter AEligature 198 % aeligature 230
\definecharacter Ccedilla 199 % ccedilla 231
\definecharacter Egrave 200 % egrave 232
\definecharacter Eacute 201 % eacute 233
\definecharacter Ecircumflex 202 % ecircumflex 234
\definecharacter Ediaeresis 203 % ediaeresis 235
\definecharacter Igrave 204 % igrave 236
\definecharacter Iacute 205 % iacute 237
\definecharacter Icircumflex 206 % icircumflex 238
\definecharacter Idiaeresis 207 % idiaeresis 239
\definecharacter Eth 208 % eth 240
\definecharacter Dstroke 208 % dstroke 158
\definecharacter Ntilde 209 % ntilde 241
\definecharacter Ograve 210 % ograve 242
\definecharacter Oacute 211 % oacute 243
\definecharacter Ocircumflex 212 % ocircumflex 244
\definecharacter Otilde 213 % otilde 245
\definecharacter Odiaeresis 214 % odiaeresis 246
\definecharacter OEligature 215 % oeligature 247
\definecharacter Ostroke 216 % ostroke 248
\definecharacter Ugrave 217 % ugrave 249
\definecharacter Uacute 218 % uacute 250
\definecharacter Ucircumflex 219 % ucircumflex 251
\definecharacter Udiaeresis 220 % udiaeresis 252
\definecharacter Yacute 221 % yacute 253
\definecharacter Thorn 222 % thorn 254
\definecharacter Ssharp 223 % ssharp 255
\definecharacter agrave 224 % Agrave 192
\definecharacter aacute 225 % Aacute 193
\definecharacter acircumflex 226 % Acircumflex 194
\definecharacter atilde 227 % Atilde 195
\definecharacter adiaeresis 228 % Adiaeresis 196
\definecharacter aring 229 % Aring 197
\definecharacter aeligature 230 % AEligature 198
\definecharacter ccedilla 231 % Ccedilla 199
\definecharacter egrave 232 % Egrave 200
\definecharacter eacute 233 % Eacute 201
\definecharacter ecircumflex 234 % Ecircumflex 202
\definecharacter ediaeresis 235 % Ediaeresis 203
\definecharacter igrave 236 % Igrave 204
\definecharacter iacute 237 % Iacute 205
\definecharacter icircumflex 238 % Icircumflex 206
\definecharacter idiaeresis 239 % Idiaeresis 207
\definecharacter eth 240 % Eth 208
\definecharacter ntilde 241 % Ntilde 209
\definecharacter ograve 242 % Ograve 210
\definecharacter oacute 243 % Oacute 211
\definecharacter ocircumflex 244 % Ocircumflex 212
\definecharacter otilde 245 % Otilde 213
\definecharacter odiaeresis 246 % Odiaeresis 214
\definecharacter oeligature 247 % OEligature 215
\definecharacter ostroke 248 % Ostroke 216
\definecharacter ugrave 249 % Ugrave 217
\definecharacter uacute 250 % Uacute 218
\definecharacter ucircumflex 251 % Ucircumflex 219
\definecharacter udiaeresis 252 % Udiaeresis 220
\definecharacter yacute 253 % Yacute 221
\definecharacter thorn 254 % Thorn 222
\definecharacter ssharp 255 % Ssharp 223
\stopencoding
\startencoding[ec]
\definecharacter Scommaaccent {\Scedilla}
\definecharacter scommaaccent {\scedilla}
\definecharacter Tcommaaccent {\Tcedilla}
\definecharacter tcommaaccent {\tcedilla}
\stopencoding
\endinput
|