Commit | Line | Data |
---|---|---|
070c62a6 | 1 | /* $Id: chars.in,v 1.46 2014/04/20 16:46:04 schwarze Exp $ */ |
80387638 | 2 | /* |
36342e81 | 3 | * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
070c62a6 | 4 | * Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org> |
80387638 SW |
5 | * |
6 | * Permission to use, copy, modify, and distribute this software for any | |
7 | * purpose with or without fee is hereby granted, provided that the above | |
8 | * copyright notice and this permission notice appear in all copies. | |
9 | * | |
10 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 | */ | |
18 | ||
19 | /* | |
070c62a6 | 20 | * The ASCII translation tables. |
80387638 | 21 | * |
a4c7eb57 SW |
22 | * The left-hand side corresponds to the input sequence (\x, \(xx, \*(xx |
23 | * and so on) whose length is listed second element. The right-hand | |
24 | * side is what's produced by the front-end, with the fourth element | |
25 | * being its length. | |
80387638 SW |
26 | * |
27 | * XXX - C-escape strings! | |
28 | * XXX - update LINES_MAX if adding more! | |
29 | */ | |
30 | ||
070c62a6 | 31 | /* Special break control characters. */ |
80387638 | 32 | static const char ascii_nbrsp[2] = { ASCII_NBRSP, '\0' }; |
070c62a6 | 33 | static const char ascii_break[2] = { ASCII_BREAK, '\0' }; |
80387638 SW |
34 | |
35 | CHAR_TBL_START | |
36 | ||
37 | /* Spacing. */ | |
80387638 SW |
38 | CHAR(" ", ascii_nbrsp, 160) |
39 | CHAR("~", ascii_nbrsp, 160) | |
070c62a6 | 40 | CHAR("0", " ", 8194) |
36342e81 | 41 | CHAR("|", "", 0) |
070c62a6 FF |
42 | CHAR("^", "", 0) |
43 | CHAR("&", "", 0) | |
44 | CHAR("%", "", 0) | |
45 | CHAR(":", ascii_break, 0) | |
46 | /* XXX The following three do not really belong into this file. */ | |
f88b6c16 | 47 | CHAR("t", "", 0) |
070c62a6 FF |
48 | CHAR("c", "", 0) |
49 | CHAR("}", "", 0) | |
80387638 SW |
50 | |
51 | /* Accents. */ | |
070c62a6 | 52 | CHAR("a\"", "\"", 733) |
80387638 SW |
53 | CHAR("a-", "-", 175) |
54 | CHAR("a.", ".", 729) | |
070c62a6 FF |
55 | CHAR("a^", "^", 94) |
56 | CHAR("\'", "\'", 180) | |
57 | CHAR("aa", "\'", 180) | |
58 | CHAR("ga", "`", 96) | |
59 | CHAR("`", "`", 96) | |
60 | CHAR("ab", "`", 728) | |
61 | CHAR("ac", ",", 184) | |
62 | CHAR("ad", "\"", 168) | |
80387638 SW |
63 | CHAR("ah", "v", 711) |
64 | CHAR("ao", "o", 730) | |
070c62a6 FF |
65 | CHAR("a~", "~", 126) |
66 | CHAR("ho", ",", 731) | |
80387638 SW |
67 | CHAR("ha", "^", 94) |
68 | CHAR("ti", "~", 126) | |
69 | ||
70 | /* Quotes. */ | |
71 | CHAR("Bq", ",,", 8222) | |
72 | CHAR("bq", ",", 8218) | |
a4c7eb57 SW |
73 | CHAR("lq", "``", 8220) |
74 | CHAR("rq", "\'\'", 8221) | |
80387638 SW |
75 | CHAR("oq", "`", 8216) |
76 | CHAR("cq", "\'", 8217) | |
77 | CHAR("aq", "\'", 39) | |
78 | CHAR("dq", "\"", 34) | |
79 | CHAR("Fo", "<<", 171) | |
80 | CHAR("Fc", ">>", 187) | |
81 | CHAR("fo", "<", 8249) | |
82 | CHAR("fc", ">", 8250) | |
83 | ||
84 | /* Brackets. */ | |
85 | CHAR("lB", "[", 91) | |
86 | CHAR("rB", "]", 93) | |
87 | CHAR("lC", "{", 123) | |
88 | CHAR("rC", "}", 125) | |
89 | CHAR("la", "<", 60) | |
90 | CHAR("ra", ">", 62) | |
91 | CHAR("bv", "|", 9130) | |
92 | CHAR("braceex", "|", 9130) | |
93 | CHAR("bracketlefttp", "|", 9121) | |
94 | CHAR("bracketleftbp", "|", 9123) | |
95 | CHAR("bracketleftex", "|", 9122) | |
96 | CHAR("bracketrighttp", "|", 9124) | |
97 | CHAR("bracketrightbp", "|", 9126) | |
98 | CHAR("bracketrightex", "|", 9125) | |
99 | CHAR("lt", ",-", 9127) | |
100 | CHAR("bracelefttp", ",-", 9127) | |
101 | CHAR("lk", "{", 9128) | |
102 | CHAR("braceleftmid", "{", 9128) | |
103 | CHAR("lb", ",-", 9129) | |
104 | CHAR("braceleftbp", "`-", 9129) | |
105 | CHAR("braceleftex", "|", 9130) | |
106 | CHAR("rt", "-.", 9131) | |
107 | CHAR("bracerighttp", "-.", 9131) | |
108 | CHAR("rk", "}", 9132) | |
109 | CHAR("bracerightmid", "}", 9132) | |
110 | CHAR("rb", "-\'", 9133) | |
111 | CHAR("bracerightbp", "-\'", 9133) | |
112 | CHAR("bracerightex", "|", 9130) | |
113 | CHAR("parenlefttp", "/", 9115) | |
114 | CHAR("parenleftbp", "\\", 9117) | |
115 | CHAR("parenleftex", "|", 9116) | |
116 | CHAR("parenrighttp", "\\", 9118) | |
117 | CHAR("parenrightbp", "/", 9120) | |
118 | CHAR("parenrightex", "|", 9119) | |
119 | ||
120 | /* Greek characters. */ | |
121 | CHAR("*A", "A", 913) | |
122 | CHAR("*B", "B", 914) | |
123 | CHAR("*G", "|", 915) | |
124 | CHAR("*D", "/\\", 916) | |
125 | CHAR("*E", "E", 917) | |
126 | CHAR("*Z", "Z", 918) | |
127 | CHAR("*Y", "H", 919) | |
128 | CHAR("*H", "O", 920) | |
129 | CHAR("*I", "I", 921) | |
130 | CHAR("*K", "K", 922) | |
131 | CHAR("*L", "/\\", 923) | |
132 | CHAR("*M", "M", 924) | |
133 | CHAR("*N", "N", 925) | |
134 | CHAR("*C", "H", 926) | |
135 | CHAR("*O", "O", 927) | |
136 | CHAR("*P", "TT", 928) | |
137 | CHAR("*R", "P", 929) | |
138 | CHAR("*S", ">", 931) | |
139 | CHAR("*T", "T", 932) | |
140 | CHAR("*U", "Y", 933) | |
141 | CHAR("*F", "O_", 934) | |
142 | CHAR("*X", "X", 935) | |
143 | CHAR("*Q", "Y", 936) | |
144 | CHAR("*W", "O", 937) | |
145 | CHAR("*a", "a", 945) | |
146 | CHAR("*b", "B", 946) | |
147 | CHAR("*g", "y", 947) | |
148 | CHAR("*d", "d", 948) | |
149 | CHAR("*e", "e", 949) | |
150 | CHAR("*z", "C", 950) | |
151 | CHAR("*y", "n", 951) | |
152 | CHAR("*h", "0", 952) | |
153 | CHAR("*i", "i", 953) | |
154 | CHAR("*k", "k", 954) | |
155 | CHAR("*l", "\\", 955) | |
156 | CHAR("*m", "u", 956) | |
157 | CHAR("*n", "v", 957) | |
158 | CHAR("*c", "E", 958) | |
159 | CHAR("*o", "o", 959) | |
160 | CHAR("*p", "n", 960) | |
161 | CHAR("*r", "p", 961) | |
162 | CHAR("*s", "o", 963) | |
163 | CHAR("*t", "t", 964) | |
164 | CHAR("*u", "u", 965) | |
165 | CHAR("*f", "o", 981) | |
166 | CHAR("*x", "x", 967) | |
167 | CHAR("*q", "u", 968) | |
168 | CHAR("*w", "w", 969) | |
169 | CHAR("+h", "0", 977) | |
170 | CHAR("+f", "o", 966) | |
171 | CHAR("+p", "w", 982) | |
172 | CHAR("+e", "e", 1013) | |
173 | CHAR("ts", "s", 962) | |
174 | ||
175 | /* Accented letters. */ | |
176 | CHAR(",C", "C", 199) | |
177 | CHAR(",c", "c", 231) | |
178 | CHAR("/L", "L", 321) | |
179 | CHAR("/O", "O", 216) | |
180 | CHAR("/l", "l", 322) | |
181 | CHAR("/o", "o", 248) | |
182 | CHAR("oA", "A", 197) | |
183 | CHAR("oa", "a", 229) | |
184 | CHAR(":A", "A", 196) | |
185 | CHAR(":E", "E", 203) | |
186 | CHAR(":I", "I", 207) | |
187 | CHAR(":O", "O", 214) | |
188 | CHAR(":U", "U", 220) | |
189 | CHAR(":a", "a", 228) | |
190 | CHAR(":e", "e", 235) | |
191 | CHAR(":i", "i", 239) | |
60e1e752 | 192 | CHAR(":o", "o", 246) |
80387638 SW |
193 | CHAR(":u", "u", 252) |
194 | CHAR(":y", "y", 255) | |
195 | CHAR("\'A", "A", 193) | |
196 | CHAR("\'E", "E", 201) | |
197 | CHAR("\'I", "I", 205) | |
198 | CHAR("\'O", "O", 211) | |
199 | CHAR("\'U", "U", 218) | |
200 | CHAR("\'a", "a", 225) | |
201 | CHAR("\'e", "e", 233) | |
202 | CHAR("\'i", "i", 237) | |
203 | CHAR("\'o", "o", 243) | |
204 | CHAR("\'u", "u", 250) | |
205 | CHAR("^A", "A", 194) | |
206 | CHAR("^E", "E", 202) | |
207 | CHAR("^I", "I", 206) | |
208 | CHAR("^O", "O", 212) | |
209 | CHAR("^U", "U", 219) | |
210 | CHAR("^a", "a", 226) | |
211 | CHAR("^e", "e", 234) | |
212 | CHAR("^i", "i", 238) | |
213 | CHAR("^o", "o", 244) | |
214 | CHAR("^u", "u", 251) | |
215 | CHAR("`A", "A", 192) | |
216 | CHAR("`E", "E", 200) | |
217 | CHAR("`I", "I", 204) | |
218 | CHAR("`O", "O", 210) | |
219 | CHAR("`U", "U", 217) | |
220 | CHAR("`a", "a", 224) | |
221 | CHAR("`e", "e", 232) | |
222 | CHAR("`i", "i", 236) | |
223 | CHAR("`o", "o", 242) | |
224 | CHAR("`u", "u", 249) | |
225 | CHAR("~A", "A", 195) | |
226 | CHAR("~N", "N", 209) | |
227 | CHAR("~O", "O", 213) | |
228 | CHAR("~a", "a", 227) | |
229 | CHAR("~n", "n", 241) | |
230 | CHAR("~o", "o", 245) | |
231 | ||
232 | /* Arrows and lines. */ | |
233 | CHAR("<-", "<-", 8592) | |
234 | CHAR("->", "->", 8594) | |
235 | CHAR("<>", "<>", 8596) | |
236 | CHAR("da", "v", 8595) | |
a4c7eb57 SW |
237 | CHAR("ua", "^", 8593) |
238 | CHAR("va", "^v", 8597) | |
80387638 SW |
239 | CHAR("lA", "<=", 8656) |
240 | CHAR("rA", "=>", 8658) | |
241 | CHAR("hA", "<=>", 8660) | |
242 | CHAR("dA", "v", 8659) | |
243 | CHAR("uA", "^", 8657) | |
244 | CHAR("vA", "^=v", 8661) | |
245 | ||
246 | /* Logic. */ | |
247 | CHAR("AN", "^", 8743) | |
248 | CHAR("OR", "v", 8744) | |
249 | CHAR("no", "~", 172) | |
250 | CHAR("tno", "~", 172) | |
251 | CHAR("te", "3", 8707) | |
252 | CHAR("fa", "V", 8704) | |
253 | CHAR("st", "-)", 8715) | |
254 | CHAR("tf", ".:.", 8756) | |
255 | CHAR("3d", ".:.", 8756) | |
256 | CHAR("or", "|", 124) | |
257 | ||
258 | /* Mathematicals. */ | |
259 | CHAR("pl", "+", 43) | |
260 | CHAR("mi", "-", 8722) | |
261 | CHAR("-", "-", 45) | |
262 | CHAR("-+", "-+", 8723) | |
263 | CHAR("+-", "+-", 177) | |
264 | CHAR("t+-", "+-", 177) | |
265 | CHAR("pc", ".", 183) | |
266 | CHAR("md", ".", 8901) | |
267 | CHAR("mu", "x", 215) | |
268 | CHAR("tmu", "x", 215) | |
269 | CHAR("c*", "x", 8855) | |
270 | CHAR("c+", "+", 8853) | |
271 | CHAR("di", "-:-", 247) | |
272 | CHAR("tdi", "-:-", 247) | |
273 | CHAR("f/", "/", 8260) | |
274 | CHAR("**", "*", 8727) | |
a4c7eb57 SW |
275 | CHAR("<=", "<=", 8804) |
276 | CHAR(">=", ">=", 8805) | |
80387638 SW |
277 | CHAR("<<", "<<", 8810) |
278 | CHAR(">>", ">>", 8811) | |
279 | CHAR("eq", "=", 61) | |
280 | CHAR("!=", "!=", 8800) | |
281 | CHAR("==", "==", 8801) | |
282 | CHAR("ne", "!==", 8802) | |
283 | CHAR("=~", "=~", 8773) | |
284 | CHAR("-~", "-~", 8771) | |
285 | CHAR("ap", "~", 8764) | |
286 | CHAR("~~", "~~", 8776) | |
287 | CHAR("~=", "~=", 8780) | |
288 | CHAR("pt", "oc", 8733) | |
289 | CHAR("es", "{}", 8709) | |
290 | CHAR("mo", "E", 8712) | |
291 | CHAR("nm", "!E", 8713) | |
292 | CHAR("sb", "(=", 8834) | |
293 | CHAR("nb", "(!=", 8836) | |
294 | CHAR("sp", "=)", 8835) | |
295 | CHAR("nc", "!=)", 8837) | |
296 | CHAR("ib", "(=", 8838) | |
297 | CHAR("ip", "=)", 8839) | |
298 | CHAR("ca", "(^)", 8745) | |
299 | CHAR("cu", "U", 8746) | |
300 | CHAR("/_", "/_", 8736) | |
301 | CHAR("pp", "_|_", 8869) | |
302 | CHAR("is", "I", 8747) | |
303 | CHAR("integral", "I", 8747) | |
304 | CHAR("sum", "E", 8721) | |
305 | CHAR("product", "TT", 8719) | |
306 | CHAR("coproduct", "U", 8720) | |
307 | CHAR("gr", "V", 8711) | |
308 | CHAR("sr", "\\/", 8730) | |
309 | CHAR("sqrt", "\\/", 8730) | |
310 | CHAR("lc", "|~", 8968) | |
311 | CHAR("rc", "~|", 8969) | |
312 | CHAR("lf", "|_", 8970) | |
313 | CHAR("rf", "_|", 8971) | |
314 | CHAR("if", "oo", 8734) | |
315 | CHAR("Ah", "N", 8501) | |
316 | CHAR("Im", "I", 8465) | |
317 | CHAR("Re", "R", 8476) | |
318 | CHAR("pd", "a", 8706) | |
319 | CHAR("-h", "/h", 8463) | |
36342e81 SW |
320 | CHAR("12", "1/2", 189) |
321 | CHAR("14", "1/4", 188) | |
322 | CHAR("34", "3/4", 190) | |
80387638 SW |
323 | |
324 | /* Ligatures. */ | |
325 | CHAR("ff", "ff", 64256) | |
326 | CHAR("fi", "fi", 64257) | |
327 | CHAR("fl", "fl", 64258) | |
328 | CHAR("Fi", "ffi", 64259) | |
329 | CHAR("Fl", "ffl", 64260) | |
330 | CHAR("AE", "AE", 198) | |
331 | CHAR("ae", "ae", 230) | |
332 | CHAR("OE", "OE", 338) | |
333 | CHAR("oe", "oe", 339) | |
334 | CHAR("ss", "ss", 223) | |
335 | CHAR("IJ", "IJ", 306) | |
336 | CHAR("ij", "ij", 307) | |
337 | ||
338 | /* Special letters. */ | |
339 | CHAR("-D", "D", 208) | |
340 | CHAR("Sd", "o", 240) | |
341 | CHAR("TP", "b", 222) | |
342 | CHAR("Tp", "b", 254) | |
343 | CHAR(".i", "i", 305) | |
344 | CHAR(".j", "j", 567) | |
345 | ||
346 | /* Currency. */ | |
347 | CHAR("Do", "$", 36) | |
348 | CHAR("ct", "c", 162) | |
349 | CHAR("Eu", "EUR", 8364) | |
350 | CHAR("eu", "EUR", 8364) | |
351 | CHAR("Ye", "Y", 165) | |
352 | CHAR("Po", "L", 163) | |
353 | CHAR("Cs", "x", 164) | |
354 | CHAR("Fn", "f", 402) | |
355 | ||
80387638 SW |
356 | /* Lines. */ |
357 | CHAR("ba", "|", 124) | |
358 | CHAR("br", "|", 9474) | |
359 | CHAR("ul", "_", 95) | |
360 | CHAR("rl", "-", 8254) | |
361 | CHAR("bb", "|", 166) | |
362 | CHAR("sl", "/", 47) | |
363 | CHAR("rs", "\\", 92) | |
364 | ||
365 | /* Text markers. */ | |
366 | CHAR("ci", "o", 9675) | |
367 | CHAR("bu", "o", 8226) | |
368 | CHAR("dd", "=", 8225) | |
369 | CHAR("dg", "-", 8224) | |
370 | CHAR("lz", "<>", 9674) | |
371 | CHAR("sq", "[]", 9633) | |
372 | CHAR("ps", "9|", 182) | |
373 | CHAR("sc", "S", 167) | |
374 | CHAR("lh", "<=", 9756) | |
375 | CHAR("rh", "=>", 9758) | |
376 | CHAR("at", "@", 64) | |
377 | CHAR("sh", "#", 35) | |
378 | CHAR("CR", "_|", 8629) | |
379 | CHAR("OK", "\\/", 10003) | |
380 | ||
381 | /* Legal symbols. */ | |
382 | CHAR("co", "(C)", 169) | |
383 | CHAR("rg", "(R)", 174) | |
384 | CHAR("tm", "tm", 8482) | |
385 | ||
386 | /* Punctuation. */ | |
387 | CHAR(".", ".", 46) | |
388 | CHAR("r!", "i", 161) | |
389 | CHAR("r?", "c", 191) | |
390 | CHAR("em", "--", 8212) | |
391 | CHAR("en", "-", 8211) | |
392 | CHAR("hy", "-", 8208) | |
393 | CHAR("e", "\\", 92) | |
394 | ||
395 | /* Units. */ | |
396 | CHAR("de", "o", 176) | |
397 | CHAR("%0", "%o", 8240) | |
398 | CHAR("fm", "\'", 8242) | |
399 | CHAR("sd", "\"", 8243) | |
400 | CHAR("mc", "mu", 181) | |
401 | ||
402 | CHAR_TBL_END |