+static struct termenc termenc1[] = {
+ { "\\", TERMSYM_SLASH },
+ { "\'", TERMSYM_RSQUOTE },
+ { "`", TERMSYM_LSQUOTE },
+ { "-", TERMSYM_HYPHEN },
+ { " ", TERMSYM_SPACE },
+ { ".", TERMSYM_PERIOD },
+ { "&", TERMSYM_BREAK },
+ { "e", TERMSYM_SLASH },
+ { "q", TERMSYM_DQUOTE },
+ { NULL, 0 }
+};
+
+static struct termenc termenc2[] = {
+ { "rB", TERMSYM_RBRACK },
+ { "lB", TERMSYM_LBRACK },
+ { "ra", TERMSYM_RANGLE },
+ { "la", TERMSYM_LANGLE },
+ { "Lq", TERMSYM_LDQUOTE },
+ { "lq", TERMSYM_LDQUOTE },
+ { "Rq", TERMSYM_RDQUOTE },
+ { "rq", TERMSYM_RDQUOTE },
+ { "oq", TERMSYM_LSQUOTE },
+ { "aq", TERMSYM_RSQUOTE },
+
+ { "<-", TERMSYM_LARROW },
+ { "->", TERMSYM_RARROW },
+ { "ua", TERMSYM_UARROW },
+ { "da", TERMSYM_DARROW },
+
+ { "bu", TERMSYM_BULLET },
+ { "Ba", TERMSYM_BAR },
+ { "ba", TERMSYM_BAR },
+ { "co", TERMSYM_COPY },
+ { "Am", TERMSYM_AMP },
+
+ { "Le", TERMSYM_LE },
+ { "<=", TERMSYM_LE },
+ { "Ge", TERMSYM_GE },
+ { ">=", TERMSYM_GE },
+ { "==", TERMSYM_EQ },
+ { "Ne", TERMSYM_NEQ },
+ { "!=", TERMSYM_NEQ },
+ { "Pm", TERMSYM_PLUSMINUS },
+ { "+-", TERMSYM_PLUSMINUS },
+ { "If", TERMSYM_INF2 },
+ { "if", TERMSYM_INF },
+ { "Na", TERMSYM_NAN },
+ { "na", TERMSYM_NAN },
+ { "**", TERMSYM_ASTERISK },
+ { "Gt", TERMSYM_GT },
+ { "Lt", TERMSYM_LT },
+
+ { "aa", TERMSYM_ACUTE },
+ { "ga", TERMSYM_GRAVE },
+
+ { "en", TERMSYM_EN },
+ { "em", TERMSYM_EM },
+
+ { "Pi", TERMSYM_PI },
+ { NULL, 0 }
+};
+
+static struct termsym termsym_ansi[] = {
+ { "]", 1 }, /* TERMSYM_RBRACK */
+ { "[", 1 }, /* TERMSYM_LBRACK */
+ { "<-", 2 }, /* TERMSYM_LARROW */
+ { "->", 2 }, /* TERMSYM_RARROW */
+ { "^", 1 }, /* TERMSYM_UARROW */
+ { "v", 1 }, /* TERMSYM_DARROW */
+ { "`", 1 }, /* TERMSYM_LSQUOTE */
+ { "\'", 1 }, /* TERMSYM_RSQUOTE */
+ { "\'", 1 }, /* TERMSYM_SQUOTE */
+ { "``", 2 }, /* TERMSYM_LDQUOTE */
+ { "\'\'", 2 }, /* TERMSYM_RDQUOTE */
+ { "\"", 1 }, /* TERMSYM_DQUOTE */
+ { "<", 1 }, /* TERMSYM_LT */
+ { ">", 1 }, /* TERMSYM_GT */
+ { "<=", 2 }, /* TERMSYM_LE */
+ { ">=", 2 }, /* TERMSYM_GE */
+ { "==", 2 }, /* TERMSYM_EQ */
+ { "!=", 2 }, /* TERMSYM_NEQ */
+ { "\'", 1 }, /* TERMSYM_ACUTE */
+ { "`", 1 }, /* TERMSYM_GRAVE */
+ { "pi", 2 }, /* TERMSYM_PI */
+ { "+=", 2 }, /* TERMSYM_PLUSMINUS */
+ { "oo", 2 }, /* TERMSYM_INF */
+ { "infinity", 8 }, /* TERMSYM_INF2 */
+ { "NaN", 3 }, /* TERMSYM_NAN */
+ { "|", 1 }, /* TERMSYM_BAR */
+ { "o", 1 }, /* TERMSYM_BULLET */
+ { "&", 1 }, /* TERMSYM_AMP */
+ { "--", 2 }, /* TERMSYM_EM */
+ { "-", 1 }, /* TERMSYM_EN */
+ { "(C)", 3 }, /* TERMSYM_COPY */
+ { "*", 1 }, /* TERMSYM_ASTERISK */
+ { "\\", 1 }, /* TERMSYM_SLASH */
+ { "-", 1 }, /* TERMSYM_HYPHEN */
+ { " ", 1 }, /* TERMSYM_SPACE */
+ { ".", 1 }, /* TERMSYM_PERIOD */
+ { "", 0 }, /* TERMSYM_BREAK */
+ { "<", 1 }, /* TERMSYM_LANGLE */
+ { ">", 1 }, /* TERMSYM_RANGLE */
+};
+
+static const char ansi_clear[] = { 27, '[', '0', 'm' };
+static const char ansi_bold[] = { 27, '[', '1', 'm' };
+static const char ansi_under[] = { 27, '[', '4', 'm' };
+
+static struct termsym termstyle_ansi[] = {
+ { ansi_clear, 4 },
+ { ansi_bold, 4 },
+ { ansi_under, 4 }
+};
+
+