1 /* $Id: chars.in,v 1.43 2013/06/20 22:39:30 schwarze Exp $ */
3 * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 * The ASCII translation tables.
21 * The left-hand side corresponds to the input sequence (\x, \(xx, \*(xx
22 * and so on) whose length is listed second element. The right-hand
23 * side is what's produced by the front-end, with the fourth element
26 * XXX - C-escape strings!
27 * XXX - update LINES_MAX if adding more!
30 /* Non-breaking, non-collapsing space uses unit separator. */
31 static const char ascii_nbrsp[2] = { ASCII_NBRSP, '\0' };
38 CHAR(" ", ascii_nbrsp, 160)
39 CHAR("~", ascii_nbrsp, 160)
48 CHAR("a\"", "\"", 779)
67 CHAR("Bq", ",,", 8222)
69 CHAR("lq", "``", 8220)
70 CHAR("rq", "\'\'", 8221)
72 CHAR("cq", "\'", 8217)
88 CHAR("braceex", "|", 9130)
89 CHAR("bracketlefttp", "|", 9121)
90 CHAR("bracketleftbp", "|", 9123)
91 CHAR("bracketleftex", "|", 9122)
92 CHAR("bracketrighttp", "|", 9124)
93 CHAR("bracketrightbp", "|", 9126)
94 CHAR("bracketrightex", "|", 9125)
95 CHAR("lt", ",-", 9127)
96 CHAR("bracelefttp", ",-", 9127)
98 CHAR("braceleftmid", "{", 9128)
99 CHAR("lb", ",-", 9129)
100 CHAR("braceleftbp", "`-", 9129)
101 CHAR("braceleftex", "|", 9130)
102 CHAR("rt", "-.", 9131)
103 CHAR("bracerighttp", "-.", 9131)
104 CHAR("rk", "}", 9132)
105 CHAR("bracerightmid", "}", 9132)
106 CHAR("rb", "-\'", 9133)
107 CHAR("bracerightbp", "-\'", 9133)
108 CHAR("bracerightex", "|", 9130)
109 CHAR("parenlefttp", "/", 9115)
110 CHAR("parenleftbp", "\\", 9117)
111 CHAR("parenleftex", "|", 9116)
112 CHAR("parenrighttp", "\\", 9118)
113 CHAR("parenrightbp", "/", 9120)
114 CHAR("parenrightex", "|", 9119)
116 /* Greek characters. */
120 CHAR("*D", "/\\", 916)
127 CHAR("*L", "/\\", 923)
132 CHAR("*P", "TT", 928)
137 CHAR("*F", "O_", 934)
151 CHAR("*l", "\\", 955)
168 CHAR("+e", "e", 1013)
171 /* Accented letters. */
191 CHAR("\'A", "A", 193)
192 CHAR("\'E", "E", 201)
193 CHAR("\'I", "I", 205)
194 CHAR("\'O", "O", 211)
195 CHAR("\'U", "U", 218)
196 CHAR("\'a", "a", 225)
197 CHAR("\'e", "e", 233)
198 CHAR("\'i", "i", 237)
199 CHAR("\'o", "o", 243)
200 CHAR("\'u", "u", 250)
228 /* Arrows and lines. */
229 CHAR("<-", "<-", 8592)
230 CHAR("->", "->", 8594)
231 CHAR("<>", "<>", 8596)
232 CHAR("da", "v", 8595)
233 CHAR("ua", "^", 8593)
234 CHAR("va", "^v", 8597)
235 CHAR("lA", "<=", 8656)
236 CHAR("rA", "=>", 8658)
237 CHAR("hA", "<=>", 8660)
238 CHAR("dA", "v", 8659)
239 CHAR("uA", "^", 8657)
240 CHAR("vA", "^=v", 8661)
243 CHAR("AN", "^", 8743)
244 CHAR("OR", "v", 8744)
246 CHAR("tno", "~", 172)
247 CHAR("te", "3", 8707)
248 CHAR("fa", "V", 8704)
249 CHAR("st", "-)", 8715)
250 CHAR("tf", ".:.", 8756)
251 CHAR("3d", ".:.", 8756)
256 CHAR("mi", "-", 8722)
258 CHAR("-+", "-+", 8723)
259 CHAR("+-", "+-", 177)
260 CHAR("t+-", "+-", 177)
262 CHAR("md", ".", 8901)
264 CHAR("tmu", "x", 215)
265 CHAR("c*", "x", 8855)
266 CHAR("c+", "+", 8853)
267 CHAR("di", "-:-", 247)
268 CHAR("tdi", "-:-", 247)
269 CHAR("f/", "/", 8260)
270 CHAR("**", "*", 8727)
271 CHAR("<=", "<=", 8804)
272 CHAR(">=", ">=", 8805)
273 CHAR("<<", "<<", 8810)
274 CHAR(">>", ">>", 8811)
276 CHAR("!=", "!=", 8800)
277 CHAR("==", "==", 8801)
278 CHAR("ne", "!==", 8802)
279 CHAR("=~", "=~", 8773)
280 CHAR("-~", "-~", 8771)
281 CHAR("ap", "~", 8764)
282 CHAR("~~", "~~", 8776)
283 CHAR("~=", "~=", 8780)
284 CHAR("pt", "oc", 8733)
285 CHAR("es", "{}", 8709)
286 CHAR("mo", "E", 8712)
287 CHAR("nm", "!E", 8713)
288 CHAR("sb", "(=", 8834)
289 CHAR("nb", "(!=", 8836)
290 CHAR("sp", "=)", 8835)
291 CHAR("nc", "!=)", 8837)
292 CHAR("ib", "(=", 8838)
293 CHAR("ip", "=)", 8839)
294 CHAR("ca", "(^)", 8745)
295 CHAR("cu", "U", 8746)
296 CHAR("/_", "/_", 8736)
297 CHAR("pp", "_|_", 8869)
298 CHAR("is", "I", 8747)
299 CHAR("integral", "I", 8747)
300 CHAR("sum", "E", 8721)
301 CHAR("product", "TT", 8719)
302 CHAR("coproduct", "U", 8720)
303 CHAR("gr", "V", 8711)
304 CHAR("sr", "\\/", 8730)
305 CHAR("sqrt", "\\/", 8730)
306 CHAR("lc", "|~", 8968)
307 CHAR("rc", "~|", 8969)
308 CHAR("lf", "|_", 8970)
309 CHAR("rf", "_|", 8971)
310 CHAR("if", "oo", 8734)
311 CHAR("Ah", "N", 8501)
312 CHAR("Im", "I", 8465)
313 CHAR("Re", "R", 8476)
314 CHAR("pd", "a", 8706)
315 CHAR("-h", "/h", 8463)
316 CHAR("12", "1/2", 189)
317 CHAR("14", "1/4", 188)
318 CHAR("34", "3/4", 190)
321 CHAR("ff", "ff", 64256)
322 CHAR("fi", "fi", 64257)
323 CHAR("fl", "fl", 64258)
324 CHAR("Fi", "ffi", 64259)
325 CHAR("Fl", "ffl", 64260)
326 CHAR("AE", "AE", 198)
327 CHAR("ae", "ae", 230)
328 CHAR("OE", "OE", 338)
329 CHAR("oe", "oe", 339)
330 CHAR("ss", "ss", 223)
331 CHAR("IJ", "IJ", 306)
332 CHAR("ij", "ij", 307)
334 /* Special letters. */
345 CHAR("Eu", "EUR", 8364)
346 CHAR("eu", "EUR", 8364)
354 CHAR("br", "|", 9474)
356 CHAR("rl", "-", 8254)
362 CHAR("ci", "o", 9675)
363 CHAR("bu", "o", 8226)
364 CHAR("dd", "=", 8225)
365 CHAR("dg", "-", 8224)
366 CHAR("lz", "<>", 9674)
367 CHAR("sq", "[]", 9633)
368 CHAR("ps", "9|", 182)
370 CHAR("lh", "<=", 9756)
371 CHAR("rh", "=>", 9758)
374 CHAR("CR", "_|", 8629)
375 CHAR("OK", "\\/", 10003)
378 CHAR("co", "(C)", 169)
379 CHAR("rg", "(R)", 174)
380 CHAR("tm", "tm", 8482)
386 CHAR("em", "--", 8212)
387 CHAR("en", "-", 8211)
388 CHAR("hy", "-", 8208)
393 CHAR("%0", "%o", 8240)
394 CHAR("fm", "\'", 8242)
395 CHAR("sd", "\"", 8243)
396 CHAR("mc", "mu", 181)