Annotation of mandoc/chars.in, Revision 1.11
1.11 ! kristaps 1: /* $Id: chars.in,v 1.10 2009/09/22 16:10:52 kristaps Exp $ */
1.1 kristaps 2: /*
3: * Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
4: *
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.
8: *
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.
16: */
17:
18: /*
19: * The ASCII translation tables. STRING corresponds to predefined
20: * strings (cf. mdoc_samples.7 and tmac/mdoc/doc-nroff). CHAR
21: * corresponds to special characters (cf. groff_char.7). BOTH contains
22: * sequences that are equivalent in both STRING and CHAR.
23: *
24: * Either way, the left-hand side corresponds to the input sequence (\x,
25: * \(xx, \*(xx and so on) whose length is listed second element. The
26: * right-hand side is what's produced by the front-end, with the fourth
27: * element being its length.
28: *
29: * XXX - C-escape strings!
30: * XXX - update LINES_MAX if adding more!
31: */
32:
1.2 kristaps 33: STRING("Am", 2, "&", 1, "&", 5)
34: STRING("Ba", 2, "|", 1, "|", 0)
1.6 kristaps 35: STRING("Ge", 2, ">=", 2, "≥", 7)
1.5 kristaps 36: STRING("Gt", 2, ">", 1, ">", 4)
37: STRING("If", 2, "infinity", 8, "infinity", 8)
38: STRING("Le", 2, "<=", 2, "≤", 7)
39: STRING("Lq", 2, "``", 2, "“", 7)
40: STRING("Lt", 2, "<", 1, "<", 4)
41: STRING("Na", 2, "NaN", 3, "NaN", 3)
42: STRING("Ne", 2, "!=", 2, "≠", 7)
1.6 kristaps 43: STRING("Pi", 2, "pi", 2, "π", 6)
44: STRING("Pm", 2, "+-", 2, "±", 6)
45: STRING("R", 1, "(R)", 3, "®", 6)
46: STRING("Rq", 2, "\'\'", 2, "”", 7)
1.10 kristaps 47: STRING("Tm", 2, "tm", 2, "™", 7)
1.6 kristaps 48: STRING("left-bracket", 12, "[", 1, "[", 1)
49: STRING("left-parenthesis", 16, "(", 1, "(", 1)
50: STRING("left-singlequote", 16, "`", 1, "‘", 7)
51: STRING("lp", 2, "(", 1, "(", 1)
1.5 kristaps 52: STRING("q", 1, "\"", 1, """, 6)
1.6 kristaps 53: STRING("quote-left", 10, "`", 1, "‘", 7)
54: STRING("quote-right", 11, "\'", 1, "’", 7)
55: STRING("right-bracket", 13, "]", 1, "]", 1)
56: STRING("right-parenthesis", 17, ")", 1, ")", 1)
57: STRING("right-singlequote", 17, "\'", 1, "’", 7)
58: STRING("rp", 2, ")", 1, ")", 1)
1.1 kristaps 59:
1.11 ! kristaps 60:
1.6 kristaps 61: BOTH("aa", 2, "\'", 1, "´", 6)
62: BOTH("ga", 2, "`", 1, "`", 1)
1.3 kristaps 63: BOTH("lq", 2, "``", 2, "“", 7)
64: BOTH("rq", 2, "\'\'", 2, "”", 7)
1.2 kristaps 65: BOTH("ua", 2, "^", 1, "", 0)
1.1 kristaps 66:
1.11 ! kristaps 67: /* Punctuation. */
! 68: CHAR("-", 1, "-", 1, "-", 1)
! 69: CHAR(".", 1, ".", 1, ".", 1)
! 70:
! 71: /* White-space. */
! 72: CHAR("0", 1, " ", 1, " ", 6)
! 73: CHAR(" ", 1, " ", 1, " ", 6)
! 74: CHAR("%", 1, "", 0, "", 0)
! 75: CHAR("&", 1, "", 0, "", 0)
! 76:
! 77: /* Greek characters. */
1.8 kristaps 78: CHAR("*A", 2, "A", 1, "Α", 6)
79: CHAR("*B", 2, "B", 1, "Β", 6)
1.11 ! kristaps 80: CHAR("*G", 2, "|", 1, "Γ", 6)
1.8 kristaps 81: CHAR("*D", 2, "/\\", 2, "Δ", 6)
82: CHAR("*E", 2, "E", 1, "Ε", 6)
1.11 ! kristaps 83: CHAR("*Z", 2, "Z", 1, "Ζ", 6)
! 84: CHAR("*Y", 2, "H", 1, "Η", 6)
1.8 kristaps 85: CHAR("*H", 2, "O", 1, "Θ", 6)
86: CHAR("*I", 2, "I", 1, "Ι", 6)
87: CHAR("*K", 2, "K", 1, "Κ", 6)
88: CHAR("*L", 2, "/\\", 2, "Λ", 6)
89: CHAR("*M", 2, "M", 1, "Μ", 6)
90: CHAR("*N", 2, "N", 1, "Ν", 6)
1.11 ! kristaps 91: CHAR("*C", 2, "H", 1, "Ξ", 6)
1.8 kristaps 92: CHAR("*O", 2, "O", 1, "Ο", 6)
93: CHAR("*P", 2, "TT", 2, "Π", 6)
94: CHAR("*R", 2, "P", 1, "Ρ", 6)
95: CHAR("*S", 2, ">", 1, "Σ", 6)
96: CHAR("*T", 2, "T", 1, "Τ", 6)
97: CHAR("*U", 2, "Y", 1, "Υ", 6)
1.11 ! kristaps 98: CHAR("*F", 2, "O_", 1, "Φ", 6)
! 99: CHAR("*X", 2, "X", 1, "Χ", 6)
! 100: CHAR("*Q", 2, "Y", 1, "Ψ", 6)
1.8 kristaps 101: CHAR("*W", 2, "O", 1, "Ω", 6)
1.11 ! kristaps 102:
1.9 kristaps 103: CHAR("*a", 2, "a", 1, "α", 6)
104: CHAR("*b", 2, "B", 1, "β", 6)
1.11 ! kristaps 105: CHAR("*g", 2, "y", 1, "γ", 6)
1.9 kristaps 106: CHAR("*d", 2, "d", 1, "δ", 6)
107: CHAR("*e", 2, "e", 1, "ε", 6)
1.11 ! kristaps 108: CHAR("*z", 2, "C", 1, "ζ", 6)
! 109: CHAR("*y", 2, "n", 1, "η", 6)
1.9 kristaps 110: CHAR("*h", 2, "0", 1, "θ", 6)
111: CHAR("*i", 2, "i", 1, "ι", 6)
112: CHAR("*k", 2, "k", 1, "κ", 6)
113: CHAR("*l", 2, "\\", 1, "λ", 6)
114: CHAR("*m", 2, "u", 1, "μ", 6)
115: CHAR("*n", 2, "v", 1, "ν", 6)
1.11 ! kristaps 116: CHAR("*c", 2, "E", 1, "ξ", 6)
1.9 kristaps 117: CHAR("*o", 2, "o", 1, "ο", 6)
118: CHAR("*p", 2, "n", 1, "π", 6)
1.10 kristaps 119: CHAR("*r", 2, "p", 1, "ρ", 6)
120: CHAR("*s", 2, "o", 1, "σ", 6)
121: CHAR("*t", 2, "t", 1, "τ", 6)
122: CHAR("*u", 2, "u", 1, "υ", 6)
1.11 ! kristaps 123: CHAR("*f", 2, "o", 1, "ϕ", 6)
! 124: CHAR("*x", 2, "x", 1, "χ", 6)
! 125: CHAR("*q", 2, "u", 1, "ψ", 6)
1.10 kristaps 126: CHAR("*w", 2, "w", 1, "ω", 6)
1.8 kristaps 127: CHAR("+h", 2, "0", 1, "ϑ", 6)
1.11 ! kristaps 128: CHAR("+f", 2, "o", 1, "φ", 6)
1.8 kristaps 129: CHAR("+p", 2, "w", 1, "ϖ", 6)
1.11 ! kristaps 130: CHAR("+e", 2, "e", 1, "ϵ", 7)
! 131: CHAR("ts", 2, "s", 1, "ς", 6)
! 132:
! 133: /* Accented characters. */
1.10 kristaps 134: CHAR(",C", 2, "C", 1, "Ç", 6)
135: CHAR(",c", 2, "c", 1, "ç", 6)
1.11 ! kristaps 136: CHAR("-D", 2, "D", 1, "Ð", 6)
! 137: CHAR("/L", 2, "L", 1, "Ł", 6)
! 138: CHAR("/O", 2, "O", 1, "Ø", 6)
! 139: CHAR("/l", 2, "l", 1, "ł", 6)
! 140: CHAR("/o", 2, "o", 1, "ø", 6)
! 141: CHAR(":A", 2, "A", 1, "Ä", 6)
! 142: CHAR(":E", 2, "E", 1, "Ë", 6)
! 143: CHAR(":I", 2, "I", 1, "Ï", 6)
! 144: CHAR(":O", 2, "O", 1, "Ö", 6)
! 145: CHAR(":U", 2, "U", 1, "Ü", 6)
! 146: CHAR(":a", 2, "a", 1, "ä", 6)
! 147: CHAR(":e", 2, "e", 1, "ë", 6)
! 148: CHAR(":i", 2, "i", 1, "ï", 6)
! 149: CHAR(":o", 2, "o", 1, "õ", 6)
! 150: CHAR(":u", 2, "u", 1, "ü", 6)
! 151: CHAR(":y", 2, "y", 1, "ÿ", 6)
! 152: CHAR("\'A", 2, "A", 1, "Á", 6)
! 153: CHAR("\'E", 2, "E", 1, "É", 6)
! 154: CHAR("\'I", 2, "I", 1, "Í", 6)
! 155: CHAR("\'O", 2, "O", 1, "Ó", 6)
! 156: CHAR("\'U", 2, "U", 1, "Ú", 6)
! 157: CHAR("\'a", 2, "a", 1, "á", 6)
! 158: CHAR("\'e", 2, "e", 1, "é", 6)
! 159: CHAR("\'i", 2, "i", 1, "í", 6)
! 160: CHAR("\'o", 2, "o", 1, "ó", 6)
! 161: CHAR("\'u", 2, "u", 1, "ú", 6)
! 162: CHAR("^A", 2, "A", 1, "Â", 6)
! 163: CHAR("^E", 2, "E", 1, "Ê", 6)
! 164: CHAR("^I", 2, "I", 1, "Î", 6)
! 165: CHAR("^O", 2, "O", 1, "Ô", 6)
! 166: CHAR("^U", 2, "U", 1, "Û", 6)
! 167: CHAR("^a", 2, "a", 1, "â", 6)
! 168: CHAR("^e", 2, "e", 1, "ê", 6)
! 169: CHAR("^i", 2, "i", 1, "î", 6)
! 170: CHAR("^o", 2, "o", 1, "ô", 6)
! 171: CHAR("^u", 2, "u", 1, "û", 6)
! 172: CHAR("`A", 2, "A", 1, "À", 6)
! 173: CHAR("`E", 2, "E", 1, "È", 6)
! 174: CHAR("`I", 2, "I", 1, "Ì", 6)
! 175: CHAR("`O", 2, "O", 1, "Ò", 6)
! 176: CHAR("`U", 2, "U", 1, "Ù", 6)
! 177: CHAR("`a", 2, "a", 1, "à", 6)
! 178: CHAR("`e", 2, "e", 1, "è", 6)
! 179: CHAR("`i", 2, "i", 1, "ì", 6)
! 180: CHAR("`o", 2, "o", 1, "ò", 6)
! 181: CHAR("`u", 2, "u", 1, "ù", 6)
! 182: CHAR("~A", 2, "A", 1, "Ã", 6)
! 183: CHAR("~N", 2, "N", 1, "Ñ", 6)
! 184: CHAR("~O", 2, "O", 1, "Õ", 6)
! 185: CHAR("~a", 2, "a", 1, "ã", 6)
! 186: CHAR("~n", 2, "n", 1, "ñ", 6)
! 187: CHAR("~o", 2, "o", 1, "õ", 6)
! 188:
! 189: /* Accents. */
! 190: CHAR("~", 1, " ", 1, "", 0)
! 191:
! 192: /* Arrows. */
! 193: CHAR("->", 2, "->", 2, "→", 7)
! 194: CHAR("<-", 2, "<-", 2, "←", 7)
! 195: CHAR("<>", 2, "<>", 2, "↔", 7)
! 196:
! 197: /* Logic. */
! 198: CHAR("AN", 2, "^", 1, "∧", 7)
! 199: CHAR("OR", 2, "v", 1, "∨", 7)
! 200: CHAR("no", 2, "~", 1, "¬", 6)
! 201: CHAR("tno", 3, "~", 1, "¬", 6)
! 202: CHAR("te", 2, "3", 1, "∃", 7)
! 203: CHAR("fa", 2, "V", 1, "∀", 7)
! 204: CHAR("st", 2, "-)", 2, "∋", 7)
! 205: CHAR("tf", 2, ".:.", 3, "∴", 7)
! 206: CHAR("3d", 2, ".:.", 3, "∴", 7)
! 207: CHAR("or", 2, "|", 1, "|", 1)
! 208:
! 209: /* Mathematicals. */
! 210: CHAR("pl", 2, "+", 1, "+", 5)
! 211: CHAR("mi", 2, "-", 1, "−", 7)
! 212: CHAR("-+", 2, "-+", 2, "∓", 7)
! 213: CHAR("+-", 2, "+-", 2, "±", 6)
! 214: CHAR("t+-", 3, "+-", 2, "±", 6)
! 215: CHAR("pc", 2, ".", 1, "·", 6)
! 216: CHAR("md", 2, ".", 1, "⋅", 7)
! 217: CHAR("mu", 2, "x", 1, "×", 6)
! 218: CHAR("tmu", 3, "x", 1, "×", 6)
! 219: CHAR("c*", 2, "x", 1, "⊗", 7)
! 220: CHAR("c+", 2, "+", 1, "⊕", 7)
! 221: CHAR("di", 2, "-:-", 3, "÷", 6)
! 222: CHAR("tdi", 3, "-:-", 3, "÷", 6)
! 223: CHAR("f/", 2, "/", 1, "⁄", 7)
! 224: CHAR("**", 2, "*", 1, "∗", 7)
! 225: BOTH("<=", 2, "<=", 2, "≤", 7)
! 226: BOTH(">=", 2, ">=", 2, "≥", 7)
! 227: CHAR("<<", 2, "<<", 2, "≪", 7)
! 228: CHAR(">>", 2, ">>", 2, "≫", 7)
! 229: CHAR("eq", 2, "=", 1, "=", 5)
! 230: CHAR("!=", 2, "!=", 2, "≠", 7)
! 231: CHAR("==", 2, "==", 2, "≡", 7)
! 232: CHAR("ne", 2, "!==", 3, "≢", 7)
! 233: CHAR("=~", 2, "=~", 2, "≅", 7)
! 234: CHAR("-~", 2, "-~", 2, "≃", 7)
! 235: CHAR("ap", 2, "~", 1, "∼", 7)
! 236: CHAR("~~", 2, "~~", 2, "≈", 7)
! 237: CHAR("~=", 2, "~=", 2, "≌", 7)
! 238: CHAR("pt", 2, "oc", 2, "∝", 7)
! 239: CHAR("es", 2, "{}", 2, "∅", 7)
! 240: CHAR("mo", 2, "E", 1, "∈", 7)
! 241: CHAR("nm", 2, "!E", 2, "∉", 7)
! 242: CHAR("sb", 2, "(=", 2, "⊂", 7)
! 243: CHAR("nb", 2, "(!=", 3, "⊄", 7)
! 244: CHAR("sp", 2, "=)", 2, "⊃", 7)
! 245: CHAR("nc", 2, "!=)", 3, "⊅", 7)
! 246: CHAR("ib", 2, "(=", 2, "⊆", 7)
! 247: CHAR("ip", 2, "=)", 2, "⊇", 7)
! 248: CHAR("ca", 2, "(^)", 3, "∩", 7)
! 249: CHAR("cu", 2, "U", 1, "∪", 7)
! 250: CHAR("/_", 2, "/_", 2, "∠", 7)
! 251: CHAR("pp", 2, "_|_", 3, "⊥", 7)
! 252: CHAR("is", 2, "I", 1, "∫", 7)
! 253: CHAR("integral", 8, "I", 1, "∫", 7)
! 254: CHAR("sum", 3, "E", 1, "∑", 7)
! 255: CHAR("product", 7, "TT", 2, "∏", 7)
! 256: CHAR("coproduct", 9, "U", 1, "∐", 7)
! 257: CHAR("gr", 2, "V", 1, "∇", 7)
! 258: CHAR("sr", 2, "\\/", 2, "√", 7)
! 259: CHAR("sqrt", 4, "\\/", 2, "√", 7)
! 260: CHAR("lc", 2, "|~", 2, "⌈", 7)
! 261: CHAR("rc", 2, "~|", 2, "⌉", 7)
! 262: CHAR("lf", 2, "|_", 2, "⌊", 7)
! 263: CHAR("rf", 2, "_|", 2, "⌋", 7)
! 264: CHAR("if", 2, "oo", 2, "∞", 7)
! 265: CHAR("Ah", 2, "N", 1, "ℵ", 7)
! 266: CHAR("Im", 2, "I", 1, "ℑ", 7)
! 267: CHAR("Re", 2, "R", 1, "ℜ", 7)
! 268: CHAR("pd", 2, "a", 1, "∂", 7)
! 269: CHAR("-h", 2, "/h", 2, "ℏ", 7)
! 270:
! 271: CHAR("AE", 2, "AE", 2, "Æ", 6)
! 272: CHAR("Bq", 2, ",,", 2, "„", 7)
1.2 kristaps 273: CHAR("Cs", 2, "x", 1, "", 0)
274: CHAR("Do", 2, "$", 1, "", 0)
275: CHAR("Eu", 2, "EUR", 3, "", 0)
276: CHAR("Fc", 2, ">>", 2, "", 0)
277: CHAR("Fi", 2, "ffi", 3, "", 0)
278: CHAR("Fl", 2, "ffl", 3, "", 0)
279: CHAR("Fn", 2, "f", 1, "", 0)
280: CHAR("Fo", 2, "<<", 2, "", 0)
281: CHAR("OE", 2, "OE", 2, "", 0)
282: CHAR("Po", 2, "L", 1, "", 0)
283: CHAR("Sd", 2, "o", 1, "", 0)
284: CHAR("TP", 2, "b", 1, "", 0)
285: CHAR("Tp", 2, "b", 1, "", 0)
286: CHAR("Ye", 2, "Y", 1, "", 0)
287: CHAR("\'", 1, "\'", 1, "", 0)
1.11 ! kristaps 288: CHAR("\\", 1, "\\", 1, "\\", 1)
! 289: CHAR("^", 1, "", 0, "", 0)
1.2 kristaps 290: CHAR("`", 1, "`", 1, "", 0)
291: CHAR("a-", 2, "-", 1, "", 0)
292: CHAR("a\"", 2, "\"", 1, "", 0)
293: CHAR("a^", 2, "^", 1, "", 0)
294: CHAR("aa", 2, "\'", 1, "", 0)
295: CHAR("ab", 2, "`", 1, "", 0)
296: CHAR("ac", 2, ",", 1, "", 0)
297: CHAR("ad", 2, "\"", 1, "", 0)
298: CHAR("ae", 2, "ae", 2, "", 0)
299: CHAR("ah", 2, "v", 1, "", 0)
300: CHAR("ao", 2, "o", 1, "", 0)
1.3 kristaps 301: CHAR("aq", 2, "\'", 1, "’", 7)
1.2 kristaps 302: CHAR("a~", 2, "~", 1, "", 0)
303: CHAR("ba", 2, "|", 1, "", 0)
304: CHAR("bb", 2, "|", 1, "", 0)
305: CHAR("bq", 2, ",", 1, "", 0)
1.4 kristaps 306: CHAR("bu", 2, "o", 1, "•", 7)
1.2 kristaps 307: CHAR("c", 1, "", 0, "", 0)
308: CHAR("ci", 2, "O", 1, "", 0)
309: CHAR("co", 2, "(C)", 3, "", 0)
310: CHAR("ct", 2, "c", 1, "", 0)
311: CHAR("dA", 2, "v", 1, "", 0)
312: CHAR("da", 2, "v", 1, "", 0)
313: CHAR("dd", 2, "=", 1, "", 0)
314: CHAR("de", 2, "o", 1, "", 0)
315: CHAR("dg", 2, "-", 1, "", 0)
1.3 kristaps 316: CHAR("e", 1, "\\", 1, "\\", 1)
1.2 kristaps 317: CHAR("em", 2, "--", 2, "—", 7)
318: CHAR("en", 2, "-", 1, "–", 7)
319: CHAR("eu", 2, "EUR", 3, "", 0)
320: CHAR("fc", 2, ">", 1, "", 0)
321: CHAR("ff", 2, "ff", 2, "", 0)
322: CHAR("fi", 2, "fi", 2, "", 0)
323: CHAR("fl", 2, "fl", 2, "", 0)
324: CHAR("fo", 2, "<", 1, "", 0)
325: CHAR("ga", 2, "`", 1, "", 0)
326: CHAR("hA", 2, "<=>", 3, "", 0)
327: CHAR("ho", 2, ",", 1, "", 0)
328: CHAR("hy", 2, "-", 1, "", 0)
329: CHAR("lA", 2, "<=", 2, "", 0)
330: CHAR("lB", 2, "[", 1, "[", 1)
1.7 kristaps 331: CHAR("lC", 2, "{", 1, "{", 1)
1.4 kristaps 332: CHAR("la", 2, "<", 1, "<", 4)
1.2 kristaps 333: CHAR("lh", 2, "<=", 2, "", 0)
334: CHAR("oA", 2, "A", 1, "", 0)
335: CHAR("oa", 2, "a", 1, "", 0)
336: CHAR("oe", 2, "oe", 2, "", 0)
1.3 kristaps 337: CHAR("oq", 2, "`", 1, "‘", 7)
1.2 kristaps 338: CHAR("ps", 2, "9|", 2, "", 0)
339: CHAR("r!", 2, "i", 1, "", 0)
340: CHAR("r?", 2, "c", 1, "", 0)
341: CHAR("rA", 2, "=>", 2, "", 0)
342: CHAR("rB", 2, "]", 1, "]", 1)
1.7 kristaps 343: CHAR("rC", 2, "}", 1, "}", 1)
1.4 kristaps 344: CHAR("ra", 2, ">", 1, ">", 4)
1.2 kristaps 345: CHAR("rg", 2, "(R)", 3, "", 0)
346: CHAR("rh", 2, "=>", 2, "", 0)
347: CHAR("sc", 2, "S", 1, "", 0)
348: CHAR("ss", 2, "ss", 2, "", 0)
349: CHAR("tm", 2, "tm", 2, "", 0)
350: CHAR("uA", 2, "^", 1, "", 0)
351: CHAR("ua", 2, "^", 1, "", 0)
352: CHAR("|", 1, "", 0, "", 0)
CVSweb