]> git.cameronkatri.com Git - mandoc.git/blobdiff - chars.in
Fill mode changes don't break next-line scope in all cases,
[mandoc.git] / chars.in
index 6cbf34ed3a12520e19302a7484de6f6c45057df7..ac72aba8588cbb1ab17e1d9bd69a305c6efda361 100644 (file)
--- a/chars.in
+++ b/chars.in
@@ -1,6 +1,7 @@
-/*     $Id: chars.in,v 1.38 2011/05/24 21:24:16 kristaps Exp $ */
+/*     $Id: chars.in,v 1.52 2015/02/17 20:37:16 schwarze Exp $ */
 /*
- * Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
+ * 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
@@ -16,7 +17,7 @@
  */
 
 /*
- * The ASCII translation tables.  
+ * 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
  * XXX - update LINES_MAX if adding more!
  */
 
-/* Non-breaking, non-collapsing space uses unit separator. */
+/* 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",                      "",             0)
-CHAR("0",                      " ",            8194)
 CHAR(" ",                      ascii_nbrsp,    160)
 CHAR("~",                      ascii_nbrsp,    160)
-CHAR("%",                      "",             0)
-CHAR("&",                      "",             0)
-CHAR("^",                      "",             0)
+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\"",                    "\"",           779)
+CHAR("a\"",                    "\"",           733)
 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("a^",                     "^",            94)
+CHAR("\'",                     "\'",           180)
+CHAR("aa",                     "\'",           180)
+CHAR("ga",                     "`",            96)
+CHAR("`",                      "`",            96)
+CHAR("ab",                     "'\b`",         728)
+CHAR("ac",                     ",",            184)
+CHAR("ad",                     "\"",           168)
 CHAR("ah",                     "v",            711)
 CHAR("ao",                     "o",            730)
-CHAR("a~",                     "~",            771)
-CHAR("ho",                     ",",            808)
+CHAR("a~",                     "~",            126)
+CHAR("ho",                     ",",            731)
 CHAR("ha",                     "^",            94)
 CHAR("ti",                     "~",            126)
 
 /* Quotes. */
 CHAR("Bq",                     ",,",           8222)
 CHAR("bq",                     ",",            8218)
-CHAR("lq",                     "``",           8220)
-CHAR("rq",                     "\'\'",         8221)
+CHAR("lq",                     "\"",           8220)
+CHAR("rq",                     "\"",           8221)
+CHAR("Lq",                     "``",           8220)
+CHAR("Rq",                     "''",           8221)
 CHAR("oq",                     "`",            8216)
 CHAR("cq",                     "\'",           8217)
 CHAR("aq",                     "\'",           39)
@@ -81,161 +88,161 @@ CHAR("lB",                        "[",            91)
 CHAR("rB",                     "]",            93)
 CHAR("lC",                     "{",            123)
 CHAR("rC",                     "}",            125)
-CHAR("la",                     "<",            60)
-CHAR("ra",                     ">",            62)
+CHAR("la",                     "<",            10216)
+CHAR("ra",                     ">",            10217)
 CHAR("bv",                     "|",            9130)
 CHAR("braceex",                        "|",            9130)
 CHAR("bracketlefttp",          "|",            9121)
-CHAR("bracketleftbp",          "|",            9123)
+CHAR("bracketleftbt",          "|",            9123)
 CHAR("bracketleftex",          "|",            9122)
 CHAR("bracketrighttp",         "|",            9124)
-CHAR("bracketrightbp",         "|",            9126)
+CHAR("bracketrightbt",         "|",            9126)
 CHAR("bracketrightex",         "|",            9125)
 CHAR("lt",                     ",-",           9127)
 CHAR("bracelefttp",            ",-",           9127)
 CHAR("lk",                     "{",            9128)
 CHAR("braceleftmid",           "{",            9128)
-CHAR("lb",                     ",-",           9129)
-CHAR("braceleftbp",            "`-",           9129)
+CHAR("lb",                     "`-",           9129)
+CHAR("braceleftbt",            "`-",           9129)
 CHAR("braceleftex",            "|",            9130)
 CHAR("rt",                     "-.",           9131)
 CHAR("bracerighttp",           "-.",           9131)
 CHAR("rk",                     "}",            9132)
 CHAR("bracerightmid",          "}",            9132)
 CHAR("rb",                     "-\'",          9133)
-CHAR("bracerightbp",           "-\'",          9133)
+CHAR("bracerightbt",           "-\'",          9133)
 CHAR("bracerightex",           "|",            9130)
 CHAR("parenlefttp",            "/",            9115)
-CHAR("parenleftbp",            "\\",           9117)
+CHAR("parenleftbt",            "\\",           9117)
 CHAR("parenleftex",            "|",            9116)
 CHAR("parenrighttp",           "\\",           9118)
-CHAR("parenrightbp",           "/",            9120)
+CHAR("parenrightbt",           "/",            9120)
 CHAR("parenrightex",           "|",            9119)
 
 /* Greek characters. */
 CHAR("*A",                     "A",            913)
 CHAR("*B",                     "B",            914)
-CHAR("*G",                     "|",            915)
-CHAR("*D",                     "/\\",          916)
+CHAR("*G",                     "G",            915)
+CHAR("*D",                     "_\b/_\b\\",    916)
 CHAR("*E",                     "E",            917)
 CHAR("*Z",                     "Z",            918)
 CHAR("*Y",                     "H",            919)
-CHAR("*H",                     "O",            920)
+CHAR("*H",                     "-\bO",         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("*C",                     "_\bH",         926)
 CHAR("*O",                     "O",            927)
 CHAR("*P",                     "TT",           928)
 CHAR("*R",                     "P",            929)
-CHAR("*S",                     ">",            931)
+CHAR("*S",                     "S",            931)
 CHAR("*T",                     "T",            932)
 CHAR("*U",                     "Y",            933)
-CHAR("*F",                     "O_",           934)
+CHAR("*F",                     "I\bO",         934)
 CHAR("*X",                     "X",            935)
-CHAR("*Q",                     "Y",            936)
-CHAR("*W",                     "O",            937)
+CHAR("*Q",                     "I\bY",         936)
+CHAR("*W",                     "_\bO",         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("*z",                     ",\bC",         950)
 CHAR("*y",                     "n",            951)
-CHAR("*h",                     "0",            952)
+CHAR("*h",                     "-\b0",         952)
 CHAR("*i",                     "i",            953)
 CHAR("*k",                     "k",            954)
-CHAR("*l",                     "\\",           955)
-CHAR("*m",                     "u",            956)
+CHAR("*l",                     ">\b\\",        955)
+CHAR("*m",                     ",\bu",         956)
 CHAR("*n",                     "v",            957)
-CHAR("*c",                     "E",            958)
+CHAR("*c",                     ",\bE",         958)
 CHAR("*o",                     "o",            959)
-CHAR("*p",                     "n",            960)
+CHAR("*p",                     "-\bn",         960)
 CHAR("*r",                     "p",            961)
-CHAR("*s",                     "o",            963)
-CHAR("*t",                     "t",            964)
+CHAR("*s",                     "-\bo",         963)
+CHAR("*t",                     "~\bt",         964)
 CHAR("*u",                     "u",            965)
-CHAR("*f",                     "o",            981)
+CHAR("*f",                     "|\bo",         981)
 CHAR("*x",                     "x",            967)
-CHAR("*q",                     "u",            968)
+CHAR("*q",                     "|\bu",         968)
 CHAR("*w",                     "w",            969)
-CHAR("+h",                     "0",            977)
-CHAR("+f",                     "o",            966)
-CHAR("+p",                     "w",            982)
+CHAR("+h",                     "-\b0",         977)
+CHAR("+f",                     "|\bo",         966)
+CHAR("+p",                     "-\bw",         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)
+CHAR(",C",                     ",\bC",         199)
+CHAR(",c",                     ",\bc",         231)
+CHAR("/L",                     "/\bL",         321)
+CHAR("/O",                     "/\bO",         216)
+CHAR("/l",                     "/\bl",         322)
+CHAR("/o",                     "/\bo",         248)
+CHAR("oA",                     "o\bA",         197)
+CHAR("oa",                     "o\ba",         229)
+CHAR(":A",                     "\"\bA",        196)
+CHAR(":E",                     "\"\bE",        203)
+CHAR(":I",                     "\"\bI",        207)
+CHAR(":O",                     "\"\bO",        214)
+CHAR(":U",                     "\"\bU",        220)
+CHAR(":a",                     "\"\ba",        228)
+CHAR(":e",                     "\"\be",        235)
+CHAR(":i",                     "\"\bi",        239)
+CHAR(":o",                     "\"\bo",        246)
+CHAR(":u",                     "\"\bu",        252)
+CHAR(":y",                     "\"\by",        255)
+CHAR("'A",                     "'\bA",         193)
+CHAR("'E",                     "'\bE",         201)
+CHAR("'I",                     "'\bI",         205)
+CHAR("'O",                     "'\bO",         211)
+CHAR("'U",                     "'\bU",         218)
+CHAR("'a",                     "'\ba",         225)
+CHAR("'e",                     "'\be",         233)
+CHAR("'i",                     "'\bi",         237)
+CHAR("'o",                     "'\bo",         243)
+CHAR("'u",                     "'\bu",         250)
+CHAR("^A",                     "^\bA",         194)
+CHAR("^E",                     "^\bE",         202)
+CHAR("^I",                     "^\bI",         206)
+CHAR("^O",                     "^\bO",         212)
+CHAR("^U",                     "^\bU",         219)
+CHAR("^a",                     "^\ba",         226)
+CHAR("^e",                     "^\be",         234)
+CHAR("^i",                     "^\bi",         238)
+CHAR("^o",                     "^\bo",         244)
+CHAR("^u",                     "^\bu",         251)
+CHAR("`A",                     "`\bA",         192)
+CHAR("`E",                     "`\bE",         200)
+CHAR("`I",                     "`\bI",         204)
+CHAR("`O",                     "`\bO",         210)
+CHAR("`U",                     "`\bU",         217)
+CHAR("`a",                     "`\ba",         224)
+CHAR("`e",                     "`\be",         232)
+CHAR("`i",                     "`\bi",         236)
+CHAR("`o",                     "`\bo",         242)
+CHAR("`u",                     "`\bu",         249)
+CHAR("~A",                     "~\bA",         195)
+CHAR("~N",                     "~\bN",         209)
+CHAR("~O",                     "~\bO",         213)
+CHAR("~a",                     "~\ba",         227)
+CHAR("~n",                     "~\bn",         241)
+CHAR("~o",                     "~\bo",         245)
 
 /* Arrows and lines. */
 CHAR("<-",                     "<-",           8592)
 CHAR("->",                     "->",           8594)
-CHAR("<>",                     "<>",           8596)
-CHAR("da",                     "v",            8595)
-CHAR("ua",                     "^",            8593)
+CHAR("<>",                     "<->",          8596)
+CHAR("da",                     "|\bv",         8595)
+CHAR("ua",                     "|\b^",         8593)
 CHAR("va",                     "^v",           8597)
 CHAR("lA",                     "<=",           8656)
 CHAR("rA",                     "=>",           8658)
 CHAR("hA",                     "<=>",          8660)
-CHAR("dA",                     "v",            8659)
-CHAR("uA",                     "^",            8657)
+CHAR("dA",                     "=\bv",         8659)
+CHAR("uA",                     "=\b^",         8657)
 CHAR("vA",                     "^=v",          8661)
 
 /* Logic. */
@@ -244,7 +251,7 @@ CHAR("OR",                  "v",            8744)
 CHAR("no",                     "~",            172)
 CHAR("tno",                    "~",            172)
 CHAR("te",                     "3",            8707)
-CHAR("fa",                     "V",            8704)
+CHAR("fa",                     "-\bV",         8704)
 CHAR("st",                     "-)",           8715)
 CHAR("tf",                     ".:.",          8756)
 CHAR("3d",                     ".:.",          8756)
@@ -261,8 +268,8 @@ CHAR("pc",                  ".",            183)
 CHAR("md",                     ".",            8901)
 CHAR("mu",                     "x",            215)
 CHAR("tmu",                    "x",            215)
-CHAR("c*",                     "x",            8855)
-CHAR("c+",                     "+",            8853)
+CHAR("c*",                     "O\bx",         8855)
+CHAR("c+",                     "O\b+",         8853)
 CHAR("di",                     "-:-",          247)
 CHAR("tdi",                    "-:-",          247)
 CHAR("f/",                     "/",            8260)
@@ -276,10 +283,10 @@ CHAR("!=",                        "!=",           8800)
 CHAR("==",                     "==",           8801)
 CHAR("ne",                     "!==",          8802)
 CHAR("=~",                     "=~",           8773)
-CHAR("-~",                     "-~",           8771)
+CHAR("|=",                     "-~",           8771)
 CHAR("ap",                     "~",            8764)
 CHAR("~~",                     "~~",           8776)
-CHAR("~=",                     "~=",           8780)
+CHAR("~=",                     "~=",           8776)
 CHAR("pt",                     "oc",           8733)
 CHAR("es",                     "{}",           8709)
 CHAR("mo",                     "E",            8712)
@@ -288,14 +295,14 @@ CHAR("sb",                        "(=",           8834)
 CHAR("nb",                     "(!=",          8836)
 CHAR("sp",                     "=)",           8835)
 CHAR("nc",                     "!=)",          8837)
-CHAR("ib",                     "(=",           8838)
-CHAR("ip",                     "=)",           8839)
+CHAR("ib",                     "(=\b_",        8838)
+CHAR("ip",                     "=\b_)",        8839)
 CHAR("ca",                     "(^)",          8745)
 CHAR("cu",                     "U",            8746)
-CHAR("/_",                     "/_",           8736)
-CHAR("pp",                     "_|_",          8869)
-CHAR("is",                     "I",            8747)
-CHAR("integral",               "I",            8747)
+CHAR("/_",                     "_\b/",         8736)
+CHAR("pp",                     "_\b|",         8869)
+CHAR("is",                     "'\b,\bI",      8747)
+CHAR("integral",               "'\b,\bI",      8747)
 CHAR("sum",                    "E",            8721)
 CHAR("product",                        "TT",           8719)
 CHAR("coproduct",              "U",            8720)
@@ -312,6 +319,9 @@ 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)
@@ -328,41 +338,41 @@ 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("-D",                     "-\bD",         208)
+CHAR("Sd",                     "d",            240)
+CHAR("TP",                     "Th",           222)
+CHAR("Tp",                     "th",           254)
 CHAR(".i",                     "i",            305)
 CHAR(".j",                     "j",            567)
 
 /* Currency. */
 CHAR("Do",                     "$",            36)
-CHAR("ct",                     "c",            162)
+CHAR("ct",                     "/\bc",         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)
+CHAR("Ye",                     "=\bY",         165)
+CHAR("Po",                     "GBP",          163)
+CHAR("Cs",                     "o\bx",         164)
+CHAR("Fn",                     ",\bf",         402)
 
 /* Lines. */
 CHAR("ba",                     "|",            124)
 CHAR("br",                     "|",            9474)
 CHAR("ul",                     "_",            95)
-CHAR("rl",                     "-",            8254)
+CHAR("rn",                     "-",            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("ci",                     "O",            9675)
+CHAR("bu",                     "+\bo",         8226)
+CHAR("dd",                     "|\b=",         8225)
+CHAR("dg",                     "|\b-",         8224)
 CHAR("lz",                     "<>",           9674)
 CHAR("sq",                     "[]",           9633)
-CHAR("ps",                     "9|",           182)
-CHAR("sc",                     "S",            167)
+CHAR("ps",                     "<par>",        182)
+CHAR("sc",                     "<sec>",        167)
 CHAR("lh",                     "<=",           9756)
 CHAR("rh",                     "=>",           9758)
 CHAR("at",                     "@",            64)
@@ -377,18 +387,18 @@ CHAR("tm",                        "tm",           8482)
 
 /* Punctuation. */
 CHAR(".",                      ".",            46)
-CHAR("r!",                     "i",            161)
-CHAR("r?",                     "c",            191)
+CHAR("r!",                     "!",            161)
+CHAR("r?",                     "?",            191)
 CHAR("em",                     "--",           8212)
 CHAR("en",                     "-",            8211)
 CHAR("hy",                     "-",            8208)
 CHAR("e",                      "\\",           92)
 
 /* Units. */
-CHAR("de",                     "o",            176)
+CHAR("de",                     "<deg>",        176)
 CHAR("%0",                     "%o",           8240)
 CHAR("fm",                     "\'",           8242)
-CHAR("sd",                     "\"",           8243)
-CHAR("mc",                     "mu",           181)
+CHAR("sd",                     "''",           8243)
+CHAR("mc",                     ",\bu",         181)
 
 CHAR_TBL_END