]> git.cameronkatri.com Git - mandoc.git/blobdiff - chars.in
Do not cast void pointers to pointers requiring alignment.
[mandoc.git] / chars.in
index d85b6a979de7f5efe97090d460075e7b355d6951..a4c45b3c43eba89f0420d529f0a808b431675753 100644 (file)
--- a/chars.in
+++ b/chars.in
@@ -1,6 +1,6 @@
-/*     $Id: chars.in,v 1.28 2010/07/18 18:04:25 kristaps Exp $ */
+/*     $Id: chars.in,v 1.42 2011/10/02 10:02:26 kristaps Exp $ */
 /*
- * Copyright (c) 2009 Kristaps Dzonsons <kristaps@bsd.lv>
+ * 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
  */
 
 /*
- * 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 };
+static const char ascii_nbrsp[2] = { ASCII_NBRSP, '\0' };
 
 CHAR_TBL_START
 
 /* Spacing. */
-CHAR("c",                      "",             0,      -1)
-CHAR("0",                      " ",            1,      8194)
-CHAR(" ",                      ascii_nbrsp,    1,      160)
-CHAR("~",                      ascii_nbrsp,    1,      160)
-CHAR("%",                      "",             0,      -1)
-CHAR("&",                      "",             0,      -1)
-CHAR("^",                      "",             0,      -1)
-CHAR("|",                      "",             0,      -1)
-CHAR("}",                      "",             0,      -1)
+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\"",                    "\"",           1,      779)
-CHAR("a-",                     "-",            1,      175)
-CHAR("a.",                     ".",            1,      729)
-CHAR("a^",                     "^",            1,      770)
-BOTH("\'",                     "\'",           1,      769)
-BOTH("aa",                     "\'",           1,      769)
-BOTH("ga",                     "`",            1,      768)
-BOTH("`",                      "`",            1,      768)
-CHAR("ab",                     "`",            1,      774)
-CHAR("ac",                     ",",            1,      807)
-CHAR("ad",                     "\"",           1,      776)
-CHAR("ah",                     "v",            1,      711)
-CHAR("ao",                     "o",            1,      730)
-CHAR("a~",                     "~",            1,      771)
-CHAR("ho",                     ",",            1,      808)
-CHAR("ha",                     "^",            1,      94)
-CHAR("ti",                     "~",            1,      126)
+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",                     ",,",           2,      8222)
-CHAR("bq",                     ",",            1,      8218)
-BOTH("lq",                     "``",           2,      8220)
-BOTH("rq",                     "\'\'",         2,      8221)
-CHAR("oq",                     "`",            1,      8216)
-CHAR("cq",                     "\'",           1,      8217)
-CHAR("aq",                     "\'",           1,      39)
-CHAR("dq",                     "\"",           1,      34)
-CHAR("Fo",                     "<<",           2,      171)
-CHAR("Fc",                     ">>",           2,      187)
-CHAR("fo",                     "<",            1,      8249)
-CHAR("fc",                     ">",            1,      8250)
+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",                     "[",            1,      91)
-CHAR("rB",                     "]",            1,      93)
-CHAR("lC",                     "{",            1,      123)
-CHAR("rC",                     "}",            1,      125)
-CHAR("la",                     "<",            1,      10216) /* FIXME: 60 */
-CHAR("ra",                     ">",            1,      10217) /* FIXME: 62 */
-CHAR("bv",                     "|",            1,      9130)
-CHAR("braceex",                        "|",            1,      9130)
-CHAR("bracketlefttp",          "|",            1,      9121)
-CHAR("bracketleftbp",          "|",            1,      9123)
-CHAR("bracketleftex",          "|",            1,      9122)
-CHAR("bracketrighttp",         "|",            1,      9124)
-CHAR("bracketrightbp",         "|",            1,      9126)
-CHAR("bracketrightex",         "|",            1,      9125)
-CHAR("lt",                     ",-",           2,      9127)
-CHAR("bracelefttp",            ",-",           2,      9127)
-CHAR("lk",                     "{",            1,      9128)
-CHAR("braceleftmid",           "{",            1,      9128)
-CHAR("lb",                     ",-",           2,      9129)
-CHAR("braceleftbp",            "`-",           2,      9129)
-CHAR("braceleftex",            "|",            1,      9130)
-CHAR("rt",                     "-.",           2,      9131)
-CHAR("bracerighttp",           "-.",           2,      9131)
-CHAR("rk",                     "}",            1,      9132)
-CHAR("bracerightmid",          "}",            1,      9132)
-CHAR("rb",                     "-\'",          2,      9133)
-CHAR("bracerightbp",           "-\'",          2,      9133)
-CHAR("bracerightex",           "|",            1,      9130)
-CHAR("parenlefttp",            "/",            1,      9115)
-CHAR("parenleftbp",            "\\",           1,      9117)
-CHAR("parenleftex",            "|",            1,      9116)
-CHAR("parenrighttp",           "\\",           1,      9118)
-CHAR("parenrightbp",           "/",            1,      9120)
-CHAR("parenrightex",           "|",            1,      9119)
+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",            1,      913)
-CHAR("*B",                     "B",            1,      914)
-CHAR("*G",                     "|",            1,      915)
-CHAR("*D",                     "/\\",          2,      916)
-CHAR("*E",                     "E",            1,      917)
-CHAR("*Z",                     "Z",            1,      918)
-CHAR("*Y",                     "H",            1,      919)
-CHAR("*H",                     "O",            1,      920)
-CHAR("*I",                     "I",            1,      921)
-CHAR("*K",                     "K",            1,      922)
-CHAR("*L",                     "/\\",          2,      923)
-CHAR("*M",                     "M",            1,      924)
-CHAR("*N",                     "N",            1,      925)
-CHAR("*C",                     "H",            1,      926)
-CHAR("*O",                     "O",            1,      927)
-CHAR("*P",                     "TT",           2,      928)
-CHAR("*R",                     "P",            1,      929)
-CHAR("*S",                     ">",            1,      931)
-CHAR("*T",                     "T",            1,      932)
-CHAR("*U",                     "Y",            1,      933)
-CHAR("*F",                     "O_",           1,      934)
-CHAR("*X",                     "X",            1,      935)
-CHAR("*Q",                     "Y",            1,      936)
-CHAR("*W",                     "O",            1,      937)
-CHAR("*a",                     "a",            1,      945)
-CHAR("*b",                     "B",            1,      946)
-CHAR("*g",                     "y",            1,      947)
-CHAR("*d",                     "d",            1,      948)
-CHAR("*e",                     "e",            1,      949)
-CHAR("*z",                     "C",            1,      950)
-CHAR("*y",                     "n",            1,      951)
-CHAR("*h",                     "0",            1,      952)
-CHAR("*i",                     "i",            1,      953)
-CHAR("*k",                     "k",            1,      954)
-CHAR("*l",                     "\\",           1,      955)
-CHAR("*m",                     "u",            1,      956)
-CHAR("*n",                     "v",            1,      957)
-CHAR("*c",                     "E",            1,      958)
-CHAR("*o",                     "o",            1,      959)
-CHAR("*p",                     "n",            1,      960)
-CHAR("*r",                     "p",            1,      961)
-CHAR("*s",                     "o",            1,      963)
-CHAR("*t",                     "t",            1,      964)
-CHAR("*u",                     "u",            1,      965)
-CHAR("*f",                     "o",            1,      981)
-CHAR("*x",                     "x",            1,      967)
-CHAR("*q",                     "u",            1,      968)
-CHAR("*w",                     "w",            1,      969)
-CHAR("+h",                     "0",            1,      977)
-CHAR("+f",                     "o",            1,      966)
-CHAR("+p",                     "w",            1,      982)
-CHAR("+e",                     "e",            1,      1013)
-CHAR("ts",                     "s",            1,      962)
+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",            1,      199)
-CHAR(",c",                     "c",            1,      231)
-CHAR("/L",                     "L",            1,      321)
-CHAR("/O",                     "O",            1,      216)
-CHAR("/l",                     "l",            1,      322)
-CHAR("/o",                     "o",            1,      248)
-CHAR("oA",                     "A",            1,      197)
-CHAR("oa",                     "a",            1,      229)
-CHAR(":A",                     "A",            1,      196)
-CHAR(":E",                     "E",            1,      203)
-CHAR(":I",                     "I",            1,      207)
-CHAR(":O",                     "O",            1,      214)
-CHAR(":U",                     "U",            1,      220)
-CHAR(":a",                     "a",            1,      228)
-CHAR(":e",                     "e",            1,      235)
-CHAR(":i",                     "i",            1,      239)
-CHAR(":o",                     "o",            1,      245)
-CHAR(":u",                     "u",            1,      252)
-CHAR(":y",                     "y",            1,      255)
-CHAR("\'A",                    "A",            1,      193)
-CHAR("\'E",                    "E",            1,      201)
-CHAR("\'I",                    "I",            1,      205)
-CHAR("\'O",                    "O",            1,      211)
-CHAR("\'U",                    "U",            1,      218)
-CHAR("\'a",                    "a",            1,      225)
-CHAR("\'e",                    "e",            1,      233)
-CHAR("\'i",                    "i",            1,      237)
-CHAR("\'o",                    "o",            1,      243)
-CHAR("\'u",                    "u",            1,      250)
-CHAR("^A",                     "A",            1,      194)
-CHAR("^E",                     "E",            1,      202)
-CHAR("^I",                     "I",            1,      206)
-CHAR("^O",                     "O",            1,      212)
-CHAR("^U",                     "U",            1,      219)
-CHAR("^a",                     "a",            1,      226)
-CHAR("^e",                     "e",            1,      234)
-CHAR("^i",                     "i",            1,      238)
-CHAR("^o",                     "o",            1,      244)
-CHAR("^u",                     "u",            1,      251)
-CHAR("`A",                     "A",            1,      192)
-CHAR("`E",                     "E",            1,      200)
-CHAR("`I",                     "I",            1,      204)
-CHAR("`O",                     "O",            1,      210)
-CHAR("`U",                     "U",            1,      217)
-CHAR("`a",                     "a",            1,      224)
-CHAR("`e",                     "e",            1,      232)
-CHAR("`i",                     "i",            1,      236)
-CHAR("`o",                     "o",            1,      242)
-CHAR("`u",                     "u",            1,      249)
-CHAR("~A",                     "A",            1,      195)
-CHAR("~N",                     "N",            1,      209)
-CHAR("~O",                     "O",            1,      213)
-CHAR("~a",                     "a",            1,      227)
-CHAR("~n",                     "n",            1,      241)
-CHAR("~o",                     "o",            1,      245)
+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,      8592)
-CHAR("->",                     "->",           2,      8594)
-CHAR("<>",                     "<>",           2,      8596)
-CHAR("da",                     "v",            1,      8595)
-BOTH("ua",                     "^",            1,      8593)
-BOTH("va",                     "^v",           2,      8597)
-CHAR("lA",                     "<=",           2,      8656)
-CHAR("rA",                     "=>",           2,      8658)
-CHAR("hA",                     "<=>",          3,      8660)
-CHAR("dA",                     "v",            1,      8659)
-CHAR("uA",                     "^",            1,      8657)
-CHAR("vA",                     "^=v",          3,      8661)
+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",                     "^",            1,      8743)
-CHAR("OR",                     "v",            1,      8744)
-CHAR("no",                     "~",            1,      172)
-CHAR("tno",                    "~",            1,      172)
-CHAR("te",                     "3",            1,      8707)
-CHAR("fa",                     "V",            1,      8704)
-CHAR("st",                     "-)",           2,      8715)
-CHAR("tf",                     ".:.",          3,      8756)
-CHAR("3d",                     ".:.",          3,      8756)
-CHAR("or",                     "|",            1,      124)
+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",                     "+",            1,      43)
-CHAR("mi",                     "-",            1,      8722)
-CHAR("-",                      "-",            1,      45)
-CHAR("-+",                     "-+",           2,      8723)
-CHAR("+-",                     "+-",           2,      177)
-CHAR("t+-",                    "+-",           2,      177)
-CHAR("pc",                     ".",            1,      183)
-CHAR("md",                     ".",            1,      8901)
-CHAR("mu",                     "x",            1,      215)
-CHAR("tmu",                    "x",            1,      215)
-CHAR("c*",                     "x",            1,      8855)
-CHAR("c+",                     "+",            1,      8853)
-CHAR("di",                     "-:-",          3,      247)
-CHAR("tdi",                    "-:-",          3,      247)
-CHAR("f/",                     "/",            1,      8260)
-CHAR("**",                     "*",            1,      8727)
-BOTH("<=",                     "<=",           2,      8804)
-BOTH(">=",                     ">=",           2,      8805)
-CHAR("<<",                     "<<",           2,      8810)
-CHAR(">>",                     ">>",           2,      8811)
-CHAR("eq",                     "=",            1,      61)
-CHAR("!=",                     "!=",           2,      8800)
-CHAR("==",                     "==",           2,      8801)
-CHAR("ne",                     "!==",          3,      8802)
-CHAR("=~",                     "=~",           2,      8773)
-CHAR("-~",                     "-~",           2,      8771)
-CHAR("ap",                     "~",            1,      8764)
-CHAR("~~",                     "~~",           2,      8776)
-CHAR("~=",                     "~=",           2,      8780)
-CHAR("pt",                     "oc",           2,      8733)
-CHAR("es",                     "{}",           2,      8709)
-CHAR("mo",                     "E",            1,      8712)
-CHAR("nm",                     "!E",           2,      8713)
-CHAR("sb",                     "(=",           2,      8834)
-CHAR("nb",                     "(!=",          3,      8836)
-CHAR("sp",                     "=)",           2,      8835)
-CHAR("nc",                     "!=)",          3,      8837)
-CHAR("ib",                     "(=",           2,      8838)
-CHAR("ip",                     "=)",           2,      8839)
-CHAR("ca",                     "(^)",          3,      8745)
-CHAR("cu",                     "U",            1,      8746)
-CHAR("/_",                     "/_",           2,      8736)
-CHAR("pp",                     "_|_",          3,      8869)
-CHAR("is",                     "I",            1,      8747)
-CHAR("integral",               "I",            1,      8747)
-CHAR("sum",                    "E",            1,      8721)
-CHAR("product",                        "TT",           2,      8719)
-CHAR("coproduct",              "U",            1,      8720)
-CHAR("gr",                     "V",            1,      8711)
-CHAR("sr",                     "\\/",          2,      8730)
-CHAR("sqrt",                   "\\/",          2,      8730)
-CHAR("lc",                     "|~",           2,      8968)
-CHAR("rc",                     "~|",           2,      8969)
-CHAR("lf",                     "|_",           2,      8970)
-CHAR("rf",                     "_|",           2,      8971)
-CHAR("if",                     "oo",           2,      8734)
-CHAR("Ah",                     "N",            1,      8501)
-CHAR("Im",                     "I",            1,      8465)
-CHAR("Re",                     "R",            1,      8476)
-CHAR("pd",                     "a",            1,      8706)
-CHAR("-h",                     "/h",           2,      8463)
+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",           2,      64256)
-CHAR("fi",                     "fi",           2,      64257)
-CHAR("fl",                     "fl",           2,      64258)
-CHAR("Fi",                     "ffi",          3,      64259)
-CHAR("Fl",                     "ffl",          3,      64260)
-BOTH("AE",                     "AE",           2,      198)
-BOTH("ae",                     "ae",           2,      230)
-CHAR("OE",                     "OE",           2,      338)
-CHAR("oe",                     "oe",           2,      339)
-CHAR("ss",                     "ss",           2,      223)
-CHAR("IJ",                     "IJ",           2,      306)
-CHAR("ij",                     "ij",           2,      307)
+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",            1,      208)
-CHAR("Sd",                     "o",            1,      240)
-CHAR("TP",                     "b",            1,      222)
-CHAR("Tp",                     "b",            1,      254)
-CHAR(".i",                     "i",            1,      305)
-CHAR(".j",                     "j",            1,      567)
+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",                     "$",            1,      36)
-CHAR("ct",                     "c",            1,      162)
-CHAR("Eu",                     "EUR",          3,      8364)
-CHAR("eu",                     "EUR",          3,      8364)
-CHAR("Ye",                     "Y",            1,      165)
-CHAR("Po",                     "L",            1,      163)
-CHAR("Cs",                     "x",            1,      164)
-CHAR("Fn",                     "f",            1,      402)
-
-/* pod2man holdovers. */
-STRING("--",                   "--",           2,      8212)
-STRING("PI",                   "pi",           2,      960)
-STRING("L\"",                  "``",           2,      8220)
-STRING("R\"",                  "\'\'",         2,      8221)
-STRING("C+",                   "C++",          3,      0)
-STRING("C`",                   "`",            1,      8216)
-STRING("C\'",                  "\'",           1,      8217)
-STRING("Aq",                   "\'",           1,      39)
-STRING("^",                    "^",            1,      94)
-STRING(",",                    ",",            1,      44)
-STRING("~",                    "~",            1,      126)
-STRING("/",                    "/",            1,      47)
-STRING(":",                    "\"",           1,      776)
-STRING("8",                    "B",            1,      946)
-STRING("o",                    "o",            1,      176)
-STRING("D-",                   "D",            1,      208)
-STRING("d-",                   "o",            1,      240)
-STRING("Th",                   "b",            1,      222)
-STRING("th",                   "b",            1,      254)
-
-/* Old style. */
-STRING("Am",                   "&",            1,      38)
-STRING("Ba",                   "|",            1,      124)
-STRING("Ge",                   ">=",           2,      8805)
-STRING("Gt",                   ">",            1,      62)
-STRING("If",                   "infinity",     8,      0)
-STRING("Le",                   "<=",           2,      8804)
-STRING("Lq",                   "``",           2,      8220)
-STRING("Lt",                   "<",            1,      60)
-STRING("Na",                   "NaN",          3,      0)
-STRING("Ne",                   "!=",           2,      8800)
-STRING("Pi",                   "pi",           2,      960)
-STRING("Pm",                   "+-",           2,      177)
-STRING("R",                    "(R)",          3,      174)
-STRING("Rq",                   "\'\'",         2,      8221)
-STRING("Tm",                   "tm",           2,      8482)
-STRING("left-bracket",         "[",            1,      91)
-STRING("left-parenthesis",     "(",            1,      40)
-STRING("left-singlequote",     "`",            1,      8216)
-STRING("lp",                   "(",            1,      40)
-STRING("q",                    "\"",           1,      34)
-STRING("quote-left",           "`",            1,      8216)
-STRING("quote-right",          "\'",           1,      8217)
-STRING("right-bracket",                "]",            1,      93)
-STRING("right-parenthesis",    ")",            1,      41)
-STRING("right-singlequote",    "\'",           1,      8217)
-STRING("rp",                   ")",            1,      41)
+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",                     "|",            1,      124)
-CHAR("br",                     "|",            1,      9474)
-CHAR("ul",                     "_",            1,      95)
-CHAR("rl",                     "-",            1,      8254)
-CHAR("bb",                     "|",            1,      166)
-CHAR("sl",                     "/",            1,      47)
-CHAR("rs",                     "\\",           1,      92)
+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",            1,      9675)
-CHAR("bu",                     "o",            1,      8226)
-CHAR("dd",                     "=",            1,      8225)
-CHAR("dg",                     "-",            1,      8224)
-CHAR("lz",                     "<>",           2,      9674)
-CHAR("sq",                     "[]",           2,      9633)
-CHAR("ps",                     "9|",           2,      182)
-CHAR("sc",                     "S",            1,      167)
-CHAR("lh",                     "<=",           2,      9756)
-CHAR("rh",                     "=>",           2,      9758)
-CHAR("at",                     "@",            1,      64)
-CHAR("sh",                     "#",            1,      35)
-CHAR("CR",                     "_|",           2,      8629)
-CHAR("OK",                     "\\/",          2,      10003)
+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)",          3,      169)
-CHAR("rg",                     "(R)",          3,      174)
-CHAR("tm",                     "tm",           2,      8482)
+CHAR("co",                     "(C)",          169)
+CHAR("rg",                     "(R)",          174)
+CHAR("tm",                     "tm",           8482)
 
 /* Punctuation. */
-CHAR(".",                      ".",            1,      46)
-CHAR("r!",                     "i",            1,      161)
-CHAR("r?",                     "c",            1,      191)
-CHAR("em",                     "--",           2,      8212)
-CHAR("en",                     "-",            1,      8211)
-CHAR("hy",                     "-",            1,      8208)
-CHAR("e",                      "\\",           1,      92)
+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",            1,      176)
-CHAR("%0",                     "%o",           2,      8240)
-CHAR("fm",                     "\'",           1,      8242)
-CHAR("sd",                     "\"",           1,      8243)
-CHAR("mc",                     "mu",           2,      181)
+CHAR("de",                     "o",            176)
+CHAR("%0",                     "%o",           8240)
+CHAR("fm",                     "\'",           8242)
+CHAR("sd",                     "\"",           8243)
+CHAR("mc",                     "mu",           181)
 
 CHAR_TBL_END