| /* $Id: chars.in,v 1.42 2011/10/02 10:02:26 kristaps Exp $ */ |
| /* |
| * Copyright (c) 2009, 2010, 2011 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. |
| * |
| * 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) |
| CHAR("\'", "\'", 769) |
| CHAR("aa", "\'", 769) |
| CHAR("ga", "`", 768) |
| CHAR("`", "`", 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) |
| 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", "[", 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", 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("<-", "<-", 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", "^", 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) |
| 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", "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) |
| |
| /* 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 |