426 lines
11 KiB
Text
426 lines
11 KiB
Text
|
/* $Vendor-Id: chars.in,v 1.35 2010/09/15 13:10:30 kristaps Exp $ */
|
||
|
/*
|
||
|
* Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
|
||
|
*
|
||
|
* Permission to use, copy, modify, and distribute this software for any
|
||
|
* purpose with or without fee is hereby granted, provided that the above
|
||
|
* copyright notice and this permission notice appear in all copies.
|
||
|
*
|
||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
* 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.
|
||
|
*
|
||
|
* 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.
|
||
|
*
|
||
|
* 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' };
|
||
|
|
||
|
CHAR_TBL_START
|
||
|
|
||
|
/* Spacing. */
|
||
|
CHAR("c", "", 0)
|
||
|
CHAR("0", " ", 8194)
|
||
|
CHAR(" ", ascii_nbrsp, 160)
|
||
|
CHAR("~", ascii_nbrsp, 160)
|
||
|
CHAR("%", "", 0)
|
||
|
CHAR("&", "", 0)
|
||
|
CHAR("^", "", 0)
|
||
|
CHAR("|", "", 0)
|
||
|
CHAR("}", "", 0)
|
||
|
|
||
|
/* Accents. */
|
||
|
CHAR("a\"", "\"", 779)
|
||
|
CHAR("a-", "-", 175)
|
||
|
CHAR("a.", ".", 729)
|
||
|
CHAR("a^", "^", 770)
|
||
|
BOTH("\'", "\'", 769)
|
||
|
BOTH("aa", "\'", 769)
|
||
|
BOTH("ga", "`", 768)
|
||
|
BOTH("`", "`", 768)
|
||
|
CHAR("ab", "`", 774)
|
||
|
CHAR("ac", ",", 807)
|
||
|
CHAR("ad", "\"", 776)
|
||
|
CHAR("ah", "v", 711)
|
||
|
CHAR("ao", "o", 730)
|
||
|
CHAR("a~", "~", 771)
|
||
|
CHAR("ho", ",", 808)
|
||
|
CHAR("ha", "^", 94)
|
||
|
CHAR("ti", "~", 126)
|
||
|
|
||
|
/* Quotes. */
|
||
|
CHAR("Bq", ",,", 8222)
|
||
|
CHAR("bq", ",", 8218)
|
||
|
BOTH("lq", "``", 8220)
|
||
|
BOTH("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", "[", 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", "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", "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", 245)
|
||
|
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("<-", "<-", 8592)
|
||
|
CHAR("->", "->", 8594)
|
||
|
CHAR("<>", "<>", 8596)
|
||
|
CHAR("da", "v", 8595)
|
||
|
BOTH("ua", "^", 8593)
|
||
|
BOTH("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", "^", 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", "+", 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)
|
||
|
BOTH("<=", "<=", 8804)
|
||
|
BOTH(">=", ">=", 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)
|
||
|
|
||
|
/* Ligatures. */
|
||
|
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", "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", "$", 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)
|
||
|
|
||
|
/* Old style. */
|
||
|
STRING("Am", "&", 38)
|
||
|
STRING("Ba", "|", 124)
|
||
|
STRING("Ge", ">=", 8805)
|
||
|
STRING("Gt", ">", 62)
|
||
|
STRING("If", "infinity", 0)
|
||
|
STRING("Le", "<=", 8804)
|
||
|
STRING("Lq", "``", 8220)
|
||
|
STRING("Lt", "<", 60)
|
||
|
STRING("Na", "NaN", 0)
|
||
|
STRING("Ne", "!=", 8800)
|
||
|
STRING("Pi", "pi", 960)
|
||
|
STRING("Pm", "+-", 177)
|
||
|
STRING("Rq", "\'\'", 8221)
|
||
|
STRING("left-bracket", "[", 91)
|
||
|
STRING("left-parenthesis", "(", 40)
|
||
|
STRING("left-singlequote", "`", 8216)
|
||
|
STRING("lp", "(", 40)
|
||
|
STRING("q", "\"", 34)
|
||
|
STRING("quote-left", "`", 8216)
|
||
|
STRING("quote-right", "\'", 8217)
|
||
|
STRING("R", "(R)", 174)
|
||
|
STRING("right-bracket", "]", 93)
|
||
|
STRING("right-parenthesis", ")", 41)
|
||
|
STRING("right-singlequote", "\'", 8217)
|
||
|
STRING("rp", ")", 41)
|
||
|
STRING("Tm", "(Tm)", 8482)
|
||
|
|
||
|
/* Lines. */
|
||
|
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", "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", "(C)", 169)
|
||
|
CHAR("rg", "(R)", 174)
|
||
|
CHAR("tm", "tm", 8482)
|
||
|
|
||
|
/* Punctuation. */
|
||
|
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", "o", 176)
|
||
|
CHAR("%0", "%o", 8240)
|
||
|
CHAR("fm", "\'", 8242)
|
||
|
CHAR("sd", "\"", 8243)
|
||
|
CHAR("mc", "mu", 181)
|
||
|
|
||
|
CHAR_TBL_END
|