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