-/* $Id: chars.in,v 1.23 2010/05/16 01:35:37 schwarze Exp $ */
+/* $Id: chars.in,v 1.46 2014/04/20 16:46:04 schwarze Exp $ */
/*
- * Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
+ * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
+ * Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
*/
/*
- * The ASCII translation tables. STRING corresponds to predefined
- * strings (cf. mdoc_samples.7 and tmac/mdoc/doc-nroff). CHAR
- * corresponds to special characters (cf. groff_char.7). BOTH contains
- * sequences that are equivalent in both STRING and CHAR.
+ * The ASCII translation tables.
*
- * Either way, the left-hand side corresponds to the input sequence (\x,
- * \(xx, \*(xx and so on) whose length is listed second element. The
- * right-hand side is what's produced by the front-end, with the fourth
- * element being its length.
+ * The left-hand side corresponds to the input sequence (\x, \(xx, \*(xx
+ * and so on) whose length is listed second element. The right-hand
+ * side is what's produced by the front-end, with the fourth element
+ * being its length.
*
* XXX - C-escape strings!
* XXX - update LINES_MAX if adding more!
*/
-/* Non-breaking, non-collapsing space uses unit separator. */
-static const char ascii_nbrsp[2] = { ASCII_NBRSP, 0 };
+/* Special break control characters. */
+static const char ascii_nbrsp[2] = { ASCII_NBRSP, '\0' };
+static const char ascii_break[2] = { ASCII_BREAK, '\0' };
CHAR_TBL_START
/* Spacing. */
-CHAR("c", 1, "", 0, "", 0)
-CHAR("0", 1, " ", 1, " ", 7)
-CHAR(" ", 1, " ", 1, " ", 7)
-CHAR("~", 1, ascii_nbrsp, 1, " ", 6)
-CHAR("%", 1, "", 0, "", 0)
-CHAR("&", 1, "", 0, "", 0)
-CHAR("^", 1, "", 0, "", 0)
-CHAR("|", 1, "", 0, "", 0)
+CHAR(" ", ascii_nbrsp, 160)
+CHAR("~", ascii_nbrsp, 160)
+CHAR("0", " ", 8194)
+CHAR("|", "", 0)
+CHAR("^", "", 0)
+CHAR("&", "", 0)
+CHAR("%", "", 0)
+CHAR(":", ascii_break, 0)
+/* XXX The following three do not really belong into this file. */
+CHAR("t", "", 0)
+CHAR("c", "", 0)
+CHAR("}", "", 0)
/* Accents. */
-CHAR("a\"", 2, "\"", 1, "̋", 6)
-CHAR("a-", 2, "-", 1, "¯", 6)
-CHAR("a.", 2, ".", 1, "˙", 6)
-CHAR("a^", 2, "^", 1, "̂", 6)
-BOTH("\'", 1, "\'", 1, "́", 6)
-BOTH("aa", 2, "\'", 1, "́", 6)
-BOTH("ga", 2, "`", 1, "̀", 6)
-BOTH("`", 1, "`", 1, "̀", 6)
-CHAR("ab", 2, "`", 1, "̆", 6)
-CHAR("ac", 2, ",", 1, "̧", 6)
-CHAR("ad", 2, "\"", 1, "̈", 6)
-CHAR("ah", 2, "v", 1, "ˇ", 6)
-CHAR("ao", 2, "o", 1, "˚", 6)
-CHAR("a~", 2, "~", 1, "̃", 6)
-CHAR("ho", 2, ",", 1, "̨", 6)
-CHAR("ha", 2, "^", 1, "^", 1)
-CHAR("ti", 2, "~", 1, "~", 1)
+CHAR("a\"", "\"", 733)
+CHAR("a-", "-", 175)
+CHAR("a.", ".", 729)
+CHAR("a^", "^", 94)
+CHAR("\'", "\'", 180)
+CHAR("aa", "\'", 180)
+CHAR("ga", "`", 96)
+CHAR("`", "`", 96)
+CHAR("ab", "`", 728)
+CHAR("ac", ",", 184)
+CHAR("ad", "\"", 168)
+CHAR("ah", "v", 711)
+CHAR("ao", "o", 730)
+CHAR("a~", "~", 126)
+CHAR("ho", ",", 731)
+CHAR("ha", "^", 94)
+CHAR("ti", "~", 126)
/* Quotes. */
-CHAR("Bq", 2, ",,", 2, "„", 7)
-CHAR("bq", 2, ",", 1, "‚", 7)
-BOTH("lq", 2, "``", 2, "“", 7)
-BOTH("rq", 2, "\'\'", 2, "”", 7)
-CHAR("oq", 2, "`", 1, "‘", 7)
-CHAR("cq", 2, "\'", 1, "’", 7)
-CHAR("aq", 2, "\'", 1, "\'", 1)
-CHAR("dq", 2, "\"", 1, "\"", 1)
-CHAR("Fo", 2, "<<", 2, "«", 6)
-CHAR("Fc", 2, ">>", 2, "»", 6)
-CHAR("fo", 2, "<", 1, "‹", 7)
-CHAR("fc", 2, ">", 1, "›", 7)
+CHAR("Bq", ",,", 8222)
+CHAR("bq", ",", 8218)
+CHAR("lq", "``", 8220)
+CHAR("rq", "\'\'", 8221)
+CHAR("oq", "`", 8216)
+CHAR("cq", "\'", 8217)
+CHAR("aq", "\'", 39)
+CHAR("dq", "\"", 34)
+CHAR("Fo", "<<", 171)
+CHAR("Fc", ">>", 187)
+CHAR("fo", "<", 8249)
+CHAR("fc", ">", 8250)
/* Brackets. */
-CHAR("lB", 2, "[", 1, "[", 1)
-CHAR("rB", 2, "]", 1, "]", 1)
-CHAR("lC", 2, "{", 1, "{", 1)
-CHAR("rC", 2, "}", 1, "}", 1)
-CHAR("la", 2, "<", 1, "⟨", 8)
-CHAR("ra", 2, ">", 1, "⟩", 8)
-CHAR("bv", 2, "|", 1, "⎪", 7)
-CHAR("braceex", 7, "|", 1, "⎪", 7)
-CHAR("bracketlefttp", 13, "|", 1, "⎡", 7)
-CHAR("bracketleftbp", 13, "|", 1, "⎣", 7)
-CHAR("bracketleftex", 13, "|", 1, "⎢", 7)
-CHAR("bracketrighttp", 14, "|", 1, "⎤", 7)
-CHAR("bracketrightbp", 14, "|", 1, "⎦", 7)
-CHAR("bracketrightex", 14, "|", 1, "⎥", 7)
-CHAR("lt", 2, ",-", 2, "⎧", 7)
-CHAR("bracelefttp", 11, ",-", 2, "⎧", 7)
-CHAR("lk", 2, "{", 1, "⎨", 7)
-CHAR("braceleftmid", 12, "{", 1, "⎨", 7)
-CHAR("lb", 2, ",-", 2, "⎩", 7)
-CHAR("braceleftbp", 11, "`-", 2, "⎩", 7)
-CHAR("braceleftex", 11, "|", 1, "⎪", 7)
-CHAR("rt", 2, "-.", 2, "⎫", 7)
-CHAR("bracerighttp", 12, "-.", 2, "⎫", 7)
-CHAR("rk", 2, "}", 1, "⎬", 7)
-CHAR("bracerightmid", 13, "}", 1, "⎬", 7)
-CHAR("rb", 2, "-\'", 2, "⎭", 7)
-CHAR("bracerightbp", 12, "-\'", 2, "⎭", 7)
-CHAR("bracerightex", 12, "|", 1, "⎪", 7)
-CHAR("parenlefttp", 11, "/", 1, "⎛", 7)
-CHAR("parenleftbp", 11, "\\", 1, "⎝", 7)
-CHAR("parenleftex", 11, "|", 1, "⎜", 7)
-CHAR("parenrighttp", 12, "\\", 1, "⎞", 7)
-CHAR("parenrightbp", 12, "/", 1, "⎠", 7)
-CHAR("parenrightex", 12, "|", 1, "⎟", 7)
+CHAR("lB", "[", 91)
+CHAR("rB", "]", 93)
+CHAR("lC", "{", 123)
+CHAR("rC", "}", 125)
+CHAR("la", "<", 60)
+CHAR("ra", ">", 62)
+CHAR("bv", "|", 9130)
+CHAR("braceex", "|", 9130)
+CHAR("bracketlefttp", "|", 9121)
+CHAR("bracketleftbp", "|", 9123)
+CHAR("bracketleftex", "|", 9122)
+CHAR("bracketrighttp", "|", 9124)
+CHAR("bracketrightbp", "|", 9126)
+CHAR("bracketrightex", "|", 9125)
+CHAR("lt", ",-", 9127)
+CHAR("bracelefttp", ",-", 9127)
+CHAR("lk", "{", 9128)
+CHAR("braceleftmid", "{", 9128)
+CHAR("lb", ",-", 9129)
+CHAR("braceleftbp", "`-", 9129)
+CHAR("braceleftex", "|", 9130)
+CHAR("rt", "-.", 9131)
+CHAR("bracerighttp", "-.", 9131)
+CHAR("rk", "}", 9132)
+CHAR("bracerightmid", "}", 9132)
+CHAR("rb", "-\'", 9133)
+CHAR("bracerightbp", "-\'", 9133)
+CHAR("bracerightex", "|", 9130)
+CHAR("parenlefttp", "/", 9115)
+CHAR("parenleftbp", "\\", 9117)
+CHAR("parenleftex", "|", 9116)
+CHAR("parenrighttp", "\\", 9118)
+CHAR("parenrightbp", "/", 9120)
+CHAR("parenrightex", "|", 9119)
/* Greek characters. */
-CHAR("*A", 2, "A", 1, "Α", 6)
-CHAR("*B", 2, "B", 1, "Β", 6)
-CHAR("*G", 2, "|", 1, "Γ", 6)
-CHAR("*D", 2, "/\\", 2, "Δ", 6)
-CHAR("*E", 2, "E", 1, "Ε", 6)
-CHAR("*Z", 2, "Z", 1, "Ζ", 6)
-CHAR("*Y", 2, "H", 1, "Η", 6)
-CHAR("*H", 2, "O", 1, "Θ", 6)
-CHAR("*I", 2, "I", 1, "Ι", 6)
-CHAR("*K", 2, "K", 1, "Κ", 6)
-CHAR("*L", 2, "/\\", 2, "Λ", 6)
-CHAR("*M", 2, "M", 1, "Μ", 6)
-CHAR("*N", 2, "N", 1, "Ν", 6)
-CHAR("*C", 2, "H", 1, "Ξ", 6)
-CHAR("*O", 2, "O", 1, "Ο", 6)
-CHAR("*P", 2, "TT", 2, "Π", 6)
-CHAR("*R", 2, "P", 1, "Ρ", 6)
-CHAR("*S", 2, ">", 1, "Σ", 6)
-CHAR("*T", 2, "T", 1, "Τ", 6)
-CHAR("*U", 2, "Y", 1, "Υ", 6)
-CHAR("*F", 2, "O_", 1, "Φ", 6)
-CHAR("*X", 2, "X", 1, "Χ", 6)
-CHAR("*Q", 2, "Y", 1, "Ψ", 6)
-CHAR("*W", 2, "O", 1, "Ω", 6)
-CHAR("*a", 2, "a", 1, "α", 6)
-CHAR("*b", 2, "B", 1, "β", 6)
-CHAR("*g", 2, "y", 1, "γ", 6)
-CHAR("*d", 2, "d", 1, "δ", 6)
-CHAR("*e", 2, "e", 1, "ε", 6)
-CHAR("*z", 2, "C", 1, "ζ", 6)
-CHAR("*y", 2, "n", 1, "η", 6)
-CHAR("*h", 2, "0", 1, "θ", 6)
-CHAR("*i", 2, "i", 1, "ι", 6)
-CHAR("*k", 2, "k", 1, "κ", 6)
-CHAR("*l", 2, "\\", 1, "λ", 6)
-CHAR("*m", 2, "u", 1, "μ", 6)
-CHAR("*n", 2, "v", 1, "ν", 6)
-CHAR("*c", 2, "E", 1, "ξ", 6)
-CHAR("*o", 2, "o", 1, "ο", 6)
-CHAR("*p", 2, "n", 1, "π", 6)
-CHAR("*r", 2, "p", 1, "ρ", 6)
-CHAR("*s", 2, "o", 1, "σ", 6)
-CHAR("*t", 2, "t", 1, "τ", 6)
-CHAR("*u", 2, "u", 1, "υ", 6)
-CHAR("*f", 2, "o", 1, "ϕ", 6)
-CHAR("*x", 2, "x", 1, "χ", 6)
-CHAR("*q", 2, "u", 1, "ψ", 6)
-CHAR("*w", 2, "w", 1, "ω", 6)
-CHAR("+h", 2, "0", 1, "ϑ", 6)
-CHAR("+f", 2, "o", 1, "φ", 6)
-CHAR("+p", 2, "w", 1, "ϖ", 6)
-CHAR("+e", 2, "e", 1, "ϵ", 7)
-CHAR("ts", 2, "s", 1, "ς", 6)
+CHAR("*A", "A", 913)
+CHAR("*B", "B", 914)
+CHAR("*G", "|", 915)
+CHAR("*D", "/\\", 916)
+CHAR("*E", "E", 917)
+CHAR("*Z", "Z", 918)
+CHAR("*Y", "H", 919)
+CHAR("*H", "O", 920)
+CHAR("*I", "I", 921)
+CHAR("*K", "K", 922)
+CHAR("*L", "/\\", 923)
+CHAR("*M", "M", 924)
+CHAR("*N", "N", 925)
+CHAR("*C", "H", 926)
+CHAR("*O", "O", 927)
+CHAR("*P", "TT", 928)
+CHAR("*R", "P", 929)
+CHAR("*S", ">", 931)
+CHAR("*T", "T", 932)
+CHAR("*U", "Y", 933)
+CHAR("*F", "O_", 934)
+CHAR("*X", "X", 935)
+CHAR("*Q", "Y", 936)
+CHAR("*W", "O", 937)
+CHAR("*a", "a", 945)
+CHAR("*b", "B", 946)
+CHAR("*g", "y", 947)
+CHAR("*d", "d", 948)
+CHAR("*e", "e", 949)
+CHAR("*z", "C", 950)
+CHAR("*y", "n", 951)
+CHAR("*h", "0", 952)
+CHAR("*i", "i", 953)
+CHAR("*k", "k", 954)
+CHAR("*l", "\\", 955)
+CHAR("*m", "u", 956)
+CHAR("*n", "v", 957)
+CHAR("*c", "E", 958)
+CHAR("*o", "o", 959)
+CHAR("*p", "n", 960)
+CHAR("*r", "p", 961)
+CHAR("*s", "o", 963)
+CHAR("*t", "t", 964)
+CHAR("*u", "u", 965)
+CHAR("*f", "o", 981)
+CHAR("*x", "x", 967)
+CHAR("*q", "u", 968)
+CHAR("*w", "w", 969)
+CHAR("+h", "0", 977)
+CHAR("+f", "o", 966)
+CHAR("+p", "w", 982)
+CHAR("+e", "e", 1013)
+CHAR("ts", "s", 962)
/* Accented letters. */
-CHAR(",C", 2, "C", 1, "Ç", 6)
-CHAR(",c", 2, "c", 1, "ç", 6)
-CHAR("/L", 2, "L", 1, "Ł", 6)
-CHAR("/O", 2, "O", 1, "Ø", 6)
-CHAR("/l", 2, "l", 1, "ł", 6)
-CHAR("/o", 2, "o", 1, "ø", 6)
-CHAR("oA", 2, "A", 1, "Å", 6)
-CHAR("oa", 2, "a", 1, "å", 6)
-CHAR(":A", 2, "A", 1, "Ä", 6)
-CHAR(":E", 2, "E", 1, "Ë", 6)
-CHAR(":I", 2, "I", 1, "Ï", 6)
-CHAR(":O", 2, "O", 1, "Ö", 6)
-CHAR(":U", 2, "U", 1, "Ü", 6)
-CHAR(":a", 2, "a", 1, "ä", 6)
-CHAR(":e", 2, "e", 1, "ë", 6)
-CHAR(":i", 2, "i", 1, "ï", 6)
-CHAR(":o", 2, "o", 1, "õ", 6)
-CHAR(":u", 2, "u", 1, "ü", 6)
-CHAR(":y", 2, "y", 1, "ÿ", 6)
-CHAR("\'A", 2, "A", 1, "Á", 6)
-CHAR("\'E", 2, "E", 1, "É", 6)
-CHAR("\'I", 2, "I", 1, "Í", 6)
-CHAR("\'O", 2, "O", 1, "Ó", 6)
-CHAR("\'U", 2, "U", 1, "Ú", 6)
-CHAR("\'a", 2, "a", 1, "á", 6)
-CHAR("\'e", 2, "e", 1, "é", 6)
-CHAR("\'i", 2, "i", 1, "í", 6)
-CHAR("\'o", 2, "o", 1, "ó", 6)
-CHAR("\'u", 2, "u", 1, "ú", 6)
-CHAR("^A", 2, "A", 1, "Â", 6)
-CHAR("^E", 2, "E", 1, "Ê", 6)
-CHAR("^I", 2, "I", 1, "Î", 6)
-CHAR("^O", 2, "O", 1, "Ô", 6)
-CHAR("^U", 2, "U", 1, "Û", 6)
-CHAR("^a", 2, "a", 1, "â", 6)
-CHAR("^e", 2, "e", 1, "ê", 6)
-CHAR("^i", 2, "i", 1, "î", 6)
-CHAR("^o", 2, "o", 1, "ô", 6)
-CHAR("^u", 2, "u", 1, "û", 6)
-CHAR("`A", 2, "A", 1, "À", 6)
-CHAR("`E", 2, "E", 1, "È", 6)
-CHAR("`I", 2, "I", 1, "Ì", 6)
-CHAR("`O", 2, "O", 1, "Ò", 6)
-CHAR("`U", 2, "U", 1, "Ù", 6)
-CHAR("`a", 2, "a", 1, "à", 6)
-CHAR("`e", 2, "e", 1, "è", 6)
-CHAR("`i", 2, "i", 1, "ì", 6)
-CHAR("`o", 2, "o", 1, "ò", 6)
-CHAR("`u", 2, "u", 1, "ù", 6)
-CHAR("~A", 2, "A", 1, "Ã", 6)
-CHAR("~N", 2, "N", 1, "Ñ", 6)
-CHAR("~O", 2, "O", 1, "Õ", 6)
-CHAR("~a", 2, "a", 1, "ã", 6)
-CHAR("~n", 2, "n", 1, "ñ", 6)
-CHAR("~o", 2, "o", 1, "õ", 6)
+CHAR(",C", "C", 199)
+CHAR(",c", "c", 231)
+CHAR("/L", "L", 321)
+CHAR("/O", "O", 216)
+CHAR("/l", "l", 322)
+CHAR("/o", "o", 248)
+CHAR("oA", "A", 197)
+CHAR("oa", "a", 229)
+CHAR(":A", "A", 196)
+CHAR(":E", "E", 203)
+CHAR(":I", "I", 207)
+CHAR(":O", "O", 214)
+CHAR(":U", "U", 220)
+CHAR(":a", "a", 228)
+CHAR(":e", "e", 235)
+CHAR(":i", "i", 239)
+CHAR(":o", "o", 246)
+CHAR(":u", "u", 252)
+CHAR(":y", "y", 255)
+CHAR("\'A", "A", 193)
+CHAR("\'E", "E", 201)
+CHAR("\'I", "I", 205)
+CHAR("\'O", "O", 211)
+CHAR("\'U", "U", 218)
+CHAR("\'a", "a", 225)
+CHAR("\'e", "e", 233)
+CHAR("\'i", "i", 237)
+CHAR("\'o", "o", 243)
+CHAR("\'u", "u", 250)
+CHAR("^A", "A", 194)
+CHAR("^E", "E", 202)
+CHAR("^I", "I", 206)
+CHAR("^O", "O", 212)
+CHAR("^U", "U", 219)
+CHAR("^a", "a", 226)
+CHAR("^e", "e", 234)
+CHAR("^i", "i", 238)
+CHAR("^o", "o", 244)
+CHAR("^u", "u", 251)
+CHAR("`A", "A", 192)
+CHAR("`E", "E", 200)
+CHAR("`I", "I", 204)
+CHAR("`O", "O", 210)
+CHAR("`U", "U", 217)
+CHAR("`a", "a", 224)
+CHAR("`e", "e", 232)
+CHAR("`i", "i", 236)
+CHAR("`o", "o", 242)
+CHAR("`u", "u", 249)
+CHAR("~A", "A", 195)
+CHAR("~N", "N", 209)
+CHAR("~O", "O", 213)
+CHAR("~a", "a", 227)
+CHAR("~n", "n", 241)
+CHAR("~o", "o", 245)
/* Arrows and lines. */
-CHAR("<-", 2, "<-", 2, "←", 7)
-CHAR("->", 2, "->", 2, "→", 7)
-CHAR("<>", 2, "<>", 2, "↔", 7)
-CHAR("da", 2, "v", 1, "↓", 7)
-BOTH("ua", 2, "^", 1, "↑", 7)
-BOTH("va", 2, "^v", 2, "↕", 7)
-CHAR("lA", 2, "<=", 2, "⇐", 7)
-CHAR("rA", 2, "=>", 2, "⇒", 7)
-CHAR("hA", 2, "<=>", 3, "⇔", 7)
-CHAR("dA", 2, "v", 1, "⇓", 7)
-CHAR("uA", 2, "^", 1, "⇑", 7)
-CHAR("vA", 2, "^=v", 3, "⇕", 7)
+CHAR("<-", "<-", 8592)
+CHAR("->", "->", 8594)
+CHAR("<>", "<>", 8596)
+CHAR("da", "v", 8595)
+CHAR("ua", "^", 8593)
+CHAR("va", "^v", 8597)
+CHAR("lA", "<=", 8656)
+CHAR("rA", "=>", 8658)
+CHAR("hA", "<=>", 8660)
+CHAR("dA", "v", 8659)
+CHAR("uA", "^", 8657)
+CHAR("vA", "^=v", 8661)
/* Logic. */
-CHAR("AN", 2, "^", 1, "∧", 7)
-CHAR("OR", 2, "v", 1, "∨", 7)
-CHAR("no", 2, "~", 1, "¬", 6)
-CHAR("tno", 3, "~", 1, "¬", 6)
-CHAR("te", 2, "3", 1, "∃", 7)
-CHAR("fa", 2, "V", 1, "∀", 7)
-CHAR("st", 2, "-)", 2, "∋", 7)
-CHAR("tf", 2, ".:.", 3, "∴", 7)
-CHAR("3d", 2, ".:.", 3, "∴", 7)
-CHAR("or", 2, "|", 1, "|", 1)
+CHAR("AN", "^", 8743)
+CHAR("OR", "v", 8744)
+CHAR("no", "~", 172)
+CHAR("tno", "~", 172)
+CHAR("te", "3", 8707)
+CHAR("fa", "V", 8704)
+CHAR("st", "-)", 8715)
+CHAR("tf", ".:.", 8756)
+CHAR("3d", ".:.", 8756)
+CHAR("or", "|", 124)
/* Mathematicals. */
-CHAR("pl", 2, "+", 1, "+", 5)
-CHAR("mi", 2, "-", 1, "−", 7)
-CHAR("-", 1, "-", 1, "-", 1)
-CHAR("-+", 2, "-+", 2, "∓", 7)
-CHAR("+-", 2, "+-", 2, "±", 6)
-CHAR("t+-", 3, "+-", 2, "±", 6)
-CHAR("pc", 2, ".", 1, "·", 6)
-CHAR("md", 2, ".", 1, "⋅", 7)
-CHAR("mu", 2, "x", 1, "×", 6)
-CHAR("tmu", 3, "x", 1, "×", 6)
-CHAR("c*", 2, "x", 1, "⊗", 7)
-CHAR("c+", 2, "+", 1, "⊕", 7)
-CHAR("di", 2, "-:-", 3, "÷", 6)
-CHAR("tdi", 3, "-:-", 3, "÷", 6)
-CHAR("f/", 2, "/", 1, "⁄", 7)
-CHAR("**", 2, "*", 1, "∗", 7)
-BOTH("<=", 2, "<=", 2, "≤", 7)
-BOTH(">=", 2, ">=", 2, "≥", 7)
-CHAR("<<", 2, "<<", 2, "≪", 7)
-CHAR(">>", 2, ">>", 2, "≫", 7)
-CHAR("eq", 2, "=", 1, "=", 5)
-CHAR("!=", 2, "!=", 2, "≠", 7)
-CHAR("==", 2, "==", 2, "≡", 7)
-CHAR("ne", 2, "!==", 3, "≢", 7)
-CHAR("=~", 2, "=~", 2, "≅", 7)
-CHAR("-~", 2, "-~", 2, "≃", 7)
-CHAR("ap", 2, "~", 1, "∼", 7)
-CHAR("~~", 2, "~~", 2, "≈", 7)
-CHAR("~=", 2, "~=", 2, "≌", 7)
-CHAR("pt", 2, "oc", 2, "∝", 7)
-CHAR("es", 2, "{}", 2, "∅", 7)
-CHAR("mo", 2, "E", 1, "∈", 7)
-CHAR("nm", 2, "!E", 2, "∉", 7)
-CHAR("sb", 2, "(=", 2, "⊂", 7)
-CHAR("nb", 2, "(!=", 3, "⊄", 7)
-CHAR("sp", 2, "=)", 2, "⊃", 7)
-CHAR("nc", 2, "!=)", 3, "⊅", 7)
-CHAR("ib", 2, "(=", 2, "⊆", 7)
-CHAR("ip", 2, "=)", 2, "⊇", 7)
-CHAR("ca", 2, "(^)", 3, "∩", 7)
-CHAR("cu", 2, "U", 1, "∪", 7)
-CHAR("/_", 2, "/_", 2, "∠", 7)
-CHAR("pp", 2, "_|_", 3, "⊥", 7)
-CHAR("is", 2, "I", 1, "∫", 7)
-CHAR("integral", 8, "I", 1, "∫", 7)
-CHAR("sum", 3, "E", 1, "∑", 7)
-CHAR("product", 7, "TT", 2, "∏", 7)
-CHAR("coproduct", 9, "U", 1, "∐", 7)
-CHAR("gr", 2, "V", 1, "∇", 7)
-CHAR("sr", 2, "\\/", 2, "√", 7)
-CHAR("sqrt", 4, "\\/", 2, "√", 7)
-CHAR("lc", 2, "|~", 2, "⌈", 7)
-CHAR("rc", 2, "~|", 2, "⌉", 7)
-CHAR("lf", 2, "|_", 2, "⌊", 7)
-CHAR("rf", 2, "_|", 2, "⌋", 7)
-CHAR("if", 2, "oo", 2, "∞", 7)
-CHAR("Ah", 2, "N", 1, "ℵ", 7)
-CHAR("Im", 2, "I", 1, "ℑ", 7)
-CHAR("Re", 2, "R", 1, "ℜ", 7)
-CHAR("pd", 2, "a", 1, "∂", 7)
-CHAR("-h", 2, "/h", 2, "ℏ", 7)
+CHAR("pl", "+", 43)
+CHAR("mi", "-", 8722)
+CHAR("-", "-", 45)
+CHAR("-+", "-+", 8723)
+CHAR("+-", "+-", 177)
+CHAR("t+-", "+-", 177)
+CHAR("pc", ".", 183)
+CHAR("md", ".", 8901)
+CHAR("mu", "x", 215)
+CHAR("tmu", "x", 215)
+CHAR("c*", "x", 8855)
+CHAR("c+", "+", 8853)
+CHAR("di", "-:-", 247)
+CHAR("tdi", "-:-", 247)
+CHAR("f/", "/", 8260)
+CHAR("**", "*", 8727)
+CHAR("<=", "<=", 8804)
+CHAR(">=", ">=", 8805)
+CHAR("<<", "<<", 8810)
+CHAR(">>", ">>", 8811)
+CHAR("eq", "=", 61)
+CHAR("!=", "!=", 8800)
+CHAR("==", "==", 8801)
+CHAR("ne", "!==", 8802)
+CHAR("=~", "=~", 8773)
+CHAR("-~", "-~", 8771)
+CHAR("ap", "~", 8764)
+CHAR("~~", "~~", 8776)
+CHAR("~=", "~=", 8780)
+CHAR("pt", "oc", 8733)
+CHAR("es", "{}", 8709)
+CHAR("mo", "E", 8712)
+CHAR("nm", "!E", 8713)
+CHAR("sb", "(=", 8834)
+CHAR("nb", "(!=", 8836)
+CHAR("sp", "=)", 8835)
+CHAR("nc", "!=)", 8837)
+CHAR("ib", "(=", 8838)
+CHAR("ip", "=)", 8839)
+CHAR("ca", "(^)", 8745)
+CHAR("cu", "U", 8746)
+CHAR("/_", "/_", 8736)
+CHAR("pp", "_|_", 8869)
+CHAR("is", "I", 8747)
+CHAR("integral", "I", 8747)
+CHAR("sum", "E", 8721)
+CHAR("product", "TT", 8719)
+CHAR("coproduct", "U", 8720)
+CHAR("gr", "V", 8711)
+CHAR("sr", "\\/", 8730)
+CHAR("sqrt", "\\/", 8730)
+CHAR("lc", "|~", 8968)
+CHAR("rc", "~|", 8969)
+CHAR("lf", "|_", 8970)
+CHAR("rf", "_|", 8971)
+CHAR("if", "oo", 8734)
+CHAR("Ah", "N", 8501)
+CHAR("Im", "I", 8465)
+CHAR("Re", "R", 8476)
+CHAR("pd", "a", 8706)
+CHAR("-h", "/h", 8463)
+CHAR("12", "1/2", 189)
+CHAR("14", "1/4", 188)
+CHAR("34", "3/4", 190)
/* Ligatures. */
-CHAR("ff", 2, "ff", 2, "ff", 8)
-CHAR("fi", 2, "fi", 2, "fi", 8)
-CHAR("fl", 2, "fl", 2, "fl", 8)
-CHAR("Fi", 2, "ffi", 3, "ffi", 8)
-CHAR("Fl", 2, "ffl", 3, "ffl", 8)
-BOTH("AE", 2, "AE", 2, "Æ", 6)
-BOTH("ae", 2, "ae", 2, "æ", 6)
-CHAR("OE", 2, "OE", 2, "Œ", 6)
-CHAR("oe", 2, "oe", 2, "œ", 6)
-CHAR("ss", 2, "ss", 2, "ß", 6)
-CHAR("IJ", 2, "IJ", 2, "IJ", 6)
-CHAR("ij", 2, "ij", 2, "ij", 6)
+CHAR("ff", "ff", 64256)
+CHAR("fi", "fi", 64257)
+CHAR("fl", "fl", 64258)
+CHAR("Fi", "ffi", 64259)
+CHAR("Fl", "ffl", 64260)
+CHAR("AE", "AE", 198)
+CHAR("ae", "ae", 230)
+CHAR("OE", "OE", 338)
+CHAR("oe", "oe", 339)
+CHAR("ss", "ss", 223)
+CHAR("IJ", "IJ", 306)
+CHAR("ij", "ij", 307)
/* Special letters. */
-CHAR("-D", 2, "D", 1, "Ð", 6)
-CHAR("Sd", 2, "o", 1, "ð", 6)
-CHAR("TP", 2, "b", 1, "Þ", 6)
-CHAR("Tp", 2, "b", 1, "þ", 6)
-CHAR(".i", 2, "i", 1, "ı", 6)
-CHAR(".j", 2, "j", 1, "ȷ", 6)
+CHAR("-D", "D", 208)
+CHAR("Sd", "o", 240)
+CHAR("TP", "b", 222)
+CHAR("Tp", "b", 254)
+CHAR(".i", "i", 305)
+CHAR(".j", "j", 567)
/* Currency. */
-CHAR("Do", 2, "$", 1, "$", 1)
-CHAR("ct", 2, "c", 1, "¢", 6)
-CHAR("Eu", 2, "EUR", 3, "€", 7)
-CHAR("eu", 2, "EUR", 3, "€", 7)
-CHAR("Ye", 2, "Y", 1, "¥", 6)
-CHAR("Po", 2, "L", 1, "£", 6)
-CHAR("Cs", 2, "x", 1, "¤", 6)
-CHAR("Fn", 2, "f", 1, "ƒ", 6)
-
-/* pod2man holdovers. */
-STRING("--", 2, "--", 2, "—", 7)
-STRING("PI", 2, "pi", 2, "π", 6)
-STRING("L\"", 2, "``", 2, "“", 7)
-STRING("R\"", 2, "\'\'", 2, "”", 7)
-STRING("C+", 2, "C++", 3, "C++", 3)
-STRING("C`", 2, "`", 1, "‘", 7)
-STRING("C\'", 2, "\'", 1, "’", 7)
-STRING("Aq", 2, "\'", 1, "\'", 1)
-STRING("^", 1, "^", 1, "^", 1)
-STRING(",", 1, ",", 1, ",", 1)
-STRING("~", 1, "~", 1, "~", 1)
-STRING("/", 1, "/", 1, "/", 1)
-STRING(":", 1, "\"", 1, "̈", 6)
-STRING("8", 1, "B", 1, "β", 6)
-STRING("o", 1, "o", 1, "°", 6)
-STRING("D-", 2, "D", 1, "Ð", 6)
-STRING("d-", 2, "o", 1, "ð", 6)
-STRING("Th", 2, "b", 1, "Þ", 6)
-STRING("th", 2, "b", 1, "þ", 6)
-
-/* Old style. */
-STRING("Am", 2, "&", 1, "&", 5)
-STRING("Ba", 2, "|", 1, "|", 1)
-STRING("Ge", 2, ">=", 2, "≥", 7)
-STRING("Gt", 2, ">", 1, ">", 4)
-STRING("If", 2, "infinity", 8, "infinity", 8)
-STRING("Le", 2, "<=", 2, "≤", 7)
-STRING("Lq", 2, "``", 2, "“", 7)
-STRING("Lt", 2, "<", 1, "<", 4)
-STRING("Na", 2, "NaN", 3, "NaN", 3)
-STRING("Ne", 2, "!=", 2, "≠", 7)
-STRING("Pi", 2, "pi", 2, "π", 6)
-STRING("Pm", 2, "+-", 2, "±", 6)
-STRING("R", 1, "(R)", 3, "®", 6)
-STRING("Rq", 2, "\'\'", 2, "”", 7)
-STRING("Tm", 2, "tm", 2, "™", 7)
-STRING("left-bracket", 12, "[", 1, "[", 1)
-STRING("left-parenthesis", 16, "(", 1, "(", 1)
-STRING("left-singlequote", 16, "`", 1, "‘", 7)
-STRING("lp", 2, "(", 1, "(", 1)
-STRING("q", 1, "\"", 1, """, 6)
-STRING("quote-left", 10, "`", 1, "‘", 7)
-STRING("quote-right", 11, "\'", 1, "’", 7)
-STRING("right-bracket", 13, "]", 1, "]", 1)
-STRING("right-parenthesis", 17, ")", 1, ")", 1)
-STRING("right-singlequote", 17, "\'", 1, "’", 7)
-STRING("rp", 2, ")", 1, ")", 1)
+CHAR("Do", "$", 36)
+CHAR("ct", "c", 162)
+CHAR("Eu", "EUR", 8364)
+CHAR("eu", "EUR", 8364)
+CHAR("Ye", "Y", 165)
+CHAR("Po", "L", 163)
+CHAR("Cs", "x", 164)
+CHAR("Fn", "f", 402)
/* Lines. */
-CHAR("ba", 2, "|", 1, "|", 6)
-CHAR("br", 2, "|", 1, "│", 7)
-CHAR("ul", 2, "_", 1, "_", 5)
-CHAR("rl", 2, "-", 1, "‾", 7)
-CHAR("bb", 2, "|", 1, "¦", 6)
-CHAR("sl", 2, "/", 1, "/", 5)
-CHAR("rs", 2, "\\", 1, "\", 5)
+CHAR("ba", "|", 124)
+CHAR("br", "|", 9474)
+CHAR("ul", "_", 95)
+CHAR("rl", "-", 8254)
+CHAR("bb", "|", 166)
+CHAR("sl", "/", 47)
+CHAR("rs", "\\", 92)
/* Text markers. */
-CHAR("ci", 2, "o", 1, "○", 7)
-CHAR("bu", 2, "o", 1, "•", 7)
-CHAR("dd", 2, "=", 1, "‡", 7)
-CHAR("dg", 2, "-", 1, "†", 7)
-CHAR("lz", 2, "<>", 2, "◊", 7)
-CHAR("sq", 2, "[]", 2, "□", 7)
-CHAR("ps", 2, "9|", 2, "¶", 6)
-CHAR("sc", 2, "S", 1, "§", 6)
-CHAR("lh", 2, "<=", 2, "☜", 7)
-CHAR("rh", 2, "=>", 2, "☞", 7)
-CHAR("at", 2, "@", 1, "@", 5)
-CHAR("sh", 2, "#", 1, "#", 5)
-CHAR("CR", 2, "_|", 2, "↵", 7)
-CHAR("OK", 2, "\\/", 2, "✓", 8)
+CHAR("ci", "o", 9675)
+CHAR("bu", "o", 8226)
+CHAR("dd", "=", 8225)
+CHAR("dg", "-", 8224)
+CHAR("lz", "<>", 9674)
+CHAR("sq", "[]", 9633)
+CHAR("ps", "9|", 182)
+CHAR("sc", "S", 167)
+CHAR("lh", "<=", 9756)
+CHAR("rh", "=>", 9758)
+CHAR("at", "@", 64)
+CHAR("sh", "#", 35)
+CHAR("CR", "_|", 8629)
+CHAR("OK", "\\/", 10003)
/* Legal symbols. */
-CHAR("co", 2, "(C)", 3, "©", 6)
-CHAR("rg", 2, "(R)", 3, "®", 6)
-CHAR("tm", 2, "tm", 2, "™", 7)
+CHAR("co", "(C)", 169)
+CHAR("rg", "(R)", 174)
+CHAR("tm", "tm", 8482)
/* Punctuation. */
-CHAR(".", 1, ".", 1, ".", 1)
-CHAR("r!", 2, "i", 1, "¡", 6)
-CHAR("r?", 2, "c", 1, "¿", 6)
-CHAR("em", 2, "--", 2, "—", 7)
-CHAR("en", 2, "-", 1, "–", 7)
-CHAR("hy", 2, "-", 1, "‐", 7)
-CHAR("e", 1, "\\", 1, "\\", 1)
+CHAR(".", ".", 46)
+CHAR("r!", "i", 161)
+CHAR("r?", "c", 191)
+CHAR("em", "--", 8212)
+CHAR("en", "-", 8211)
+CHAR("hy", "-", 8208)
+CHAR("e", "\\", 92)
/* Units. */
-CHAR("de", 2, "o", 1, "°", 6)
-CHAR("%0", 2, "%o", 2, "‰", 7)
-CHAR("fm", 2, "\'", 1, "′", 7)
-CHAR("sd", 2, "\"", 1, "″", 7)
-CHAR("mc", 2, "mu", 2, "µ", 6)
+CHAR("de", "o", 176)
+CHAR("%0", "%o", 8240)
+CHAR("fm", "\'", 8242)
+CHAR("sd", "\"", 8243)
+CHAR("mc", "mu", 181)
CHAR_TBL_END