summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-09-23 11:02:21 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-09-23 11:02:21 +0000
commit5f830a70c871c50aa9579ead192f35848178be1b (patch)
treec690cc0669dbf33930acc96b2c67b734ed0c4898
parentb0d99e0872814cdeeb3199322794e45bf2c1fe77 (diff)
downloadmandoc-5f830a70c871c50aa9579ead192f35848178be1b.tar.gz
All special characters sync'd with groff, both -Thtml and -Tascii.
Re-added text links to index.sgml (just for show).
-rw-r--r--Makefile10
-rw-r--r--chars.c2
-rw-r--r--chars.in150
-rw-r--r--index.sgml14
-rw-r--r--mandoc_char.7134
-rw-r--r--term.c3
6 files changed, 185 insertions, 128 deletions
diff --git a/Makefile b/Makefile
index 1f8ac1be..7731093c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-.SUFFIXES: .html .xml .sgml .1 .3 .7 .md5 .tar.gz .1.html .3.html .7.html
+.SUFFIXES: .html .xml .sgml .1 .3 .7 .md5 .tar.gz .1.html .3.html .7.html .1.txt .3.txt .7.txt
BINDIR = $(PREFIX)/bin
INCLUDEDIR = $(PREFIX)/include
@@ -57,6 +57,8 @@ XSLS = ChangeLog.xsl
HTMLS = index.html ChangeLog.html mandoc.1.html mdoc.3.html \
man.3.html mdoc.7.html man.7.html mandoc_char.7.html \
manuals.7.html
+TEXTS = mandoc.1.txt mdoc.3.txt man.3.txt mdoc.7.txt man.7.txt \
+ mandoc_char.7.txt manuals.7.html
EXAMPLES = example.style.css
XMLS = ChangeLog.xml
STATICS = index.css style.css external.png
@@ -66,7 +68,7 @@ MANS = mandoc.1 mdoc.3 mdoc.7 manuals.7 mandoc_char.7 \
man.7 man.3
BINS = mandoc
CLEAN = $(BINS) $(LNS) $(LLNS) $(LIBS) $(OBJS) $(HTMLS) \
- $(TARGZS) tags $(MD5S) $(XMLS)
+ $(TARGZS) tags $(MD5S) $(XMLS) $(TEXTS)
INSTALL = $(SRCS) $(HEADS) Makefile $(MANS) $(SGMLS) $(STATICS) \
$(DATAS) $(XSLS) $(EXAMPLES)
@@ -82,10 +84,10 @@ cleanlint:
dist: mdocml-$(VERSION).tar.gz
-www: all $(HTMLS) $(MD5S) $(TARGZS)
+www: all $(HTMLS) $(TEXTS) $(MD5S) $(TARGZS)
installwww: www
- install -m 0444 $(HTMLS) $(STATICS) $(PREFIX)/
+ install -m 0444 $(HTMLS) $(TEXTS) $(STATICS) $(PREFIX)/
install -m 0444 mdocml-$(VERSION).tar.gz $(PREFIX)/snapshots/
install -m 0444 mdocml-$(VERSION).md5 $(PREFIX)/snapshots/
install -m 0444 mdocml-$(VERSION).tar.gz $(PREFIX)/snapshots/mdocml.tar.gz
diff --git a/chars.c b/chars.c
index 630ffd6a..a528de2d 100644
--- a/chars.c
+++ b/chars.c
@@ -38,7 +38,7 @@ struct ln {
#define CHARS_BOTH (0x03)
};
-#define LINES_MAX 337
+#define LINES_MAX 351
#define CHAR(w, x, y, z, a, b) \
{ NULL, (w), (y), (a), (x), (z), (b), CHARS_CHAR },
diff --git a/chars.in b/chars.in
index a52a7514..20c83274 100644
--- a/chars.in
+++ b/chars.in
@@ -30,77 +30,25 @@
* XXX - update LINES_MAX if adding more!
*/
-/* TODO--not categorised yet. */
-STRING("Am", 2, "&", 1, "&amp;", 5)
-STRING("Ba", 2, "|", 1, "|", 0)
-STRING("Ge", 2, ">=", 2, "&#8805;", 7)
-STRING("Gt", 2, ">", 1, "&gt;", 4)
-STRING("If", 2, "infinity", 8, "infinity", 8)
-STRING("Le", 2, "<=", 2, "&#8804;", 7)
-STRING("Lq", 2, "``", 2, "&#8220;", 7)
-STRING("Lt", 2, "<", 1, "&lt;", 4)
-STRING("Na", 2, "NaN", 3, "NaN", 3)
-STRING("Ne", 2, "!=", 2, "&#8800;", 7)
-STRING("Pi", 2, "pi", 2, "&#960;", 6)
-STRING("Pm", 2, "+-", 2, "&#177;", 6)
-STRING("R", 1, "(R)", 3, "&#174;", 6)
-STRING("Rq", 2, "\'\'", 2, "&#8221;", 7)
-STRING("Tm", 2, "tm", 2, "&#8482;", 7)
-STRING("left-bracket", 12, "[", 1, "[", 1)
-STRING("left-parenthesis", 16, "(", 1, "(", 1)
-STRING("left-singlequote", 16, "`", 1, "&#8216;", 7)
-STRING("lp", 2, "(", 1, "(", 1)
-STRING("q", 1, "\"", 1, "&quot;", 6)
-STRING("quote-left", 10, "`", 1, "&#8216;", 7)
-STRING("quote-right", 11, "\'", 1, "&#8217;", 7)
-STRING("right-bracket", 13, "]", 1, "]", 1)
-STRING("right-parenthesis", 17, ")", 1, ")", 1)
-STRING("right-singlequote", 17, "\'", 1, "&#8217;", 7)
-STRING("rp", 2, ")", 1, ")", 1)
-CHAR("-", 1, "-", 1, "-", 1)
-CHAR(".", 1, ".", 1, ".", 1)
-CHAR("~", 1, " ", 1, "", 0)
-CHAR("0", 1, " ", 1, "&#160;", 6)
-CHAR(" ", 1, " ", 1, "&#160;", 6)
+/* Spacing. */
+CHAR("c", 1, "", 0, "", 0)
+CHAR("0", 1, " ", 1, "&#8194;", 6)
+CHAR(" ", 1, " ", 1, "&#8194;", 7)
+CHAR("~", 1, " ", 1, "&#160;", 6)
CHAR("%", 1, "", 0, "", 0)
CHAR("&", 1, "", 0, "", 0)
-CHAR("\'", 1, "\'", 1, "", 0)
-CHAR("\\", 1, "\\", 1, "\\", 1)
CHAR("^", 1, "", 0, "", 0)
-CHAR("`", 1, "`", 1, "", 0)
-CHAR("aa", 2, "\'", 1, "", 0)
-CHAR("ba", 2, "|", 1, "", 0)
-CHAR("bb", 2, "|", 1, "", 0)
-CHAR("bu", 2, "o", 1, "&#8226;", 7)
-CHAR("c", 1, "", 0, "", 0)
-CHAR("ci", 2, "O", 1, "", 0)
-CHAR("co", 2, "(C)", 3, "", 0)
-CHAR("dd", 2, "=", 1, "", 0)
-CHAR("de", 2, "o", 1, "", 0)
-CHAR("dg", 2, "-", 1, "", 0)
-CHAR("e", 1, "\\", 1, "\\", 1)
-CHAR("em", 2, "--", 2, "&#8212;", 7)
-CHAR("en", 2, "-", 1, "&#8211;", 7)
-CHAR("hy", 2, "-", 1, "", 0)
-CHAR("lh", 2, "<=", 2, "", 0)
-CHAR("oA", 2, "A", 1, "", 0)
-CHAR("oa", 2, "a", 1, "", 0)
-CHAR("ps", 2, "9|", 2, "", 0)
-CHAR("r!", 2, "i", 1, "", 0)
-CHAR("r?", 2, "c", 1, "", 0)
-CHAR("rg", 2, "(R)", 3, "", 0)
-CHAR("rh", 2, "=>", 2, "", 0)
-CHAR("sc", 2, "S", 1, "", 0)
-CHAR("tm", 2, "tm", 2, "", 0)
-CHAR("|", 1, "", 0, "", 0)
+CHAR("|", 1, "", 0, "", 0)
/* Accents. */
CHAR("a\"", 2, "\"", 1, "&#779;", 6)
CHAR("a-", 2, "-", 1, "&#175;", 6)
CHAR("a.", 2, ".", 1, "&#729;", 6)
CHAR("a^", 2, "^", 1, "&#770;", 6)
+CHAR("\'", 1, "\'", 1, "&#769;", 6)
BOTH("aa", 2, "\'", 1, "&#769;", 6)
BOTH("ga", 2, "`", 1, "&#768;", 6)
+CHAR("`", 1, "`", 1, "&#768;", 6)
CHAR("ab", 2, "`", 1, "&#774;", 6)
CHAR("ac", 2, ",", 1, "&#807;", 6)
CHAR("ad", 2, "\"", 1, "&#776;", 6)
@@ -216,13 +164,15 @@ CHAR("+p", 2, "w", 1, "&#982;", 6)
CHAR("+e", 2, "e", 1, "&#1013;", 7)
CHAR("ts", 2, "s", 1, "&#962;", 6)
-/* Accented characters. */
+/* Accented letters. */
CHAR(",C", 2, "C", 1, "&#199;", 6)
CHAR(",c", 2, "c", 1, "&#231;", 6)
CHAR("/L", 2, "L", 1, "&#321;", 6)
CHAR("/O", 2, "O", 1, "&#216;", 6)
CHAR("/l", 2, "l", 1, "&#322;", 6)
CHAR("/o", 2, "o", 1, "&#248;", 6)
+CHAR("oA", 2, "A", 1, "&#197;", 6)
+CHAR("oa", 2, "a", 1, "&#229;", 6)
CHAR(":A", 2, "A", 1, "&#196;", 6)
CHAR(":E", 2, "E", 1, "&#203;", 6)
CHAR(":I", 2, "I", 1, "&#207;", 6)
@@ -271,7 +221,7 @@ CHAR("~a", 2, "a", 1, "&#227;", 6)
CHAR("~n", 2, "n", 1, "&#241;", 6)
CHAR("~o", 2, "o", 1, "&#245;", 6)
-/* Arrows. */
+/* Arrows and lines. */
CHAR("<-", 2, "<-", 2, "&#8592;", 7)
CHAR("->", 2, "->", 2, "&#8594;", 7)
CHAR("<>", 2, "<>", 2, "&#8596;", 7)
@@ -300,6 +250,7 @@ CHAR("or", 2, "|", 1, "|", 1)
/* Mathematicals. */
CHAR("pl", 2, "+", 1, "&#43;", 5)
CHAR("mi", 2, "-", 1, "&#8722;", 7)
+CHAR("-", 1, "-", 1, "-", 1)
CHAR("-+", 2, "-+", 2, "&#8723;", 7)
CHAR("+-", 2, "+-", 2, "&#177;", 6)
CHAR("t+-", 3, "+-", 2, "&#177;", 6)
@@ -390,3 +341,78 @@ CHAR("Ye", 2, "Y", 1, "&#165;", 6)
CHAR("Po", 2, "L", 1, "&#163;", 6)
CHAR("Cs", 2, "x", 1, "&#164;", 6)
CHAR("Fn", 2, "f", 1, "&#402;", 6)
+
+/* Old style. */
+STRING("Am", 2, "&", 1, "&amp;", 5)
+STRING("Ba", 2, "|", 1, "|", 1)
+STRING("Ge", 2, ">=", 2, "&#8805;", 7)
+STRING("Gt", 2, ">", 1, "&gt;", 4)
+STRING("If", 2, "infinity", 8, "infinity", 8)
+STRING("Le", 2, "<=", 2, "&#8804;", 7)
+STRING("Lq", 2, "``", 2, "&#8220;", 7)
+STRING("Lt", 2, "<", 1, "&lt;", 4)
+STRING("Na", 2, "NaN", 3, "NaN", 3)
+STRING("Ne", 2, "!=", 2, "&#8800;", 7)
+STRING("Pi", 2, "pi", 2, "&#960;", 6)
+STRING("Pm", 2, "+-", 2, "&#177;", 6)
+STRING("R", 1, "(R)", 3, "&#174;", 6)
+STRING("Rq", 2, "\'\'", 2, "&#8221;", 7)
+STRING("Tm", 2, "tm", 2, "&#8482;", 7)
+STRING("left-bracket", 12, "[", 1, "[", 1)
+STRING("left-parenthesis", 16, "(", 1, "(", 1)
+STRING("left-singlequote", 16, "`", 1, "&#8216;", 7)
+STRING("lp", 2, "(", 1, "(", 1)
+STRING("q", 1, "\"", 1, "&quot;", 6)
+STRING("quote-left", 10, "`", 1, "&#8216;", 7)
+STRING("quote-right", 11, "\'", 1, "&#8217;", 7)
+STRING("right-bracket", 13, "]", 1, "]", 1)
+STRING("right-parenthesis", 17, ")", 1, ")", 1)
+STRING("right-singlequote", 17, "\'", 1, "&#8217;", 7)
+STRING("rp", 2, ")", 1, ")", 1)
+
+/* Lines. */
+CHAR("ba", 2, "|", 1, "&#124;", 6)
+CHAR("br", 2, "|", 1, "&#9474;", 7)
+CHAR("ul", 2, "_", 1, "&#95;", 5)
+CHAR("rl", 2, "-", 1, "&#8254;", 7)
+CHAR("bb", 2, "|", 1, "&#166;", 6)
+CHAR("sl", 2, "/", 1, "&#47;", 5)
+CHAR("rs", 2, "\\", 1, "&#92;", 5)
+
+/* Text markers. */
+CHAR("ci", 2, "o", 1, "&#9675;", 7)
+CHAR("bu", 2, "o", 1, "&#8226;", 7)
+CHAR("dd", 2, "=", 1, "&#8225;", 7)
+CHAR("dg", 2, "-", 1, "&#8224;", 7)
+CHAR("lz", 2, "<>", 2, "&#9674;", 7)
+CHAR("sq", 2, "[]", 2, "&#9633;", 7)
+CHAR("ps", 2, "9|", 2, "&#182;", 6)
+CHAR("sc", 2, "S", 1, "&#167;", 6)
+CHAR("lh", 2, "<=", 2, "&#9756;", 7)
+CHAR("rh", 2, "=>", 2, "&#9758;", 7)
+CHAR("at", 2, "@", 1, "&#64;", 5)
+CHAR("sh", 2, "#", 1, "&#35;", 5)
+CHAR("CR", 2, "_|", 2, "&#8629;", 7)
+CHAR("OK", 2, "\\/", 2, "&#10003;", 8)
+
+/* Legal symbols. */
+CHAR("co", 2, "(C)", 3, "&#169;", 6)
+CHAR("rg", 2, "(R)", 3, "&#174;", 6)
+CHAR("tm", 2, "tm", 2, "&#8482;", 7)
+
+/* Punctuation. */
+CHAR(".", 1, ".", 1, ".", 1)
+CHAR("r!", 2, "i", 1, "&#161;", 6)
+CHAR("r?", 2, "c", 1, "&#191;", 6)
+CHAR("em", 2, "--", 2, "&#8212;", 7)
+CHAR("en", 2, "-", 1, "&#8211;", 7)
+CHAR("hy", 2, "-", 1, "&#8208;", 7)
+CHAR("\\", 1, "\\", 1, "\\", 1)
+CHAR("e", 1, "\\", 1, "\\", 1)
+
+/* Units. */
+CHAR("de", 2, "o", 1, "&#176;", 6)
+CHAR("%0", 2, "%o", 2, "&#8240;", 7)
+CHAR("fm", 2, "\'", 1, "&#8242;", 7)
+CHAR("sd", 2, "\"", 1, "&#8243;", 7)
+CHAR("mc", 2, "mu", 2, "&#181;", 6)
diff --git a/index.sgml b/index.sgml
index db9112fa..47b2f31b 100644
--- a/index.sgml
+++ b/index.sgml
@@ -142,31 +142,31 @@
<col>
<tbody>
<tr>
- <td><a href="mandoc.1.html">mandoc(1)</a></td>
+ <td><a href="mandoc.1.html">mandoc(1)</a> [<a href="mandoc.1.txt">text</a>]</td>
<td>format and display UNIX manuals</td>
</tr>
<tr>
- <td><a href="mandoc_char.7.html">mandoc_char(7)</a></td>
+ <td><a href="mandoc_char.7.html">mandoc_char(7)</a> [<a href="mandoc_char.7.txt">text</a>]</td>
<td>mandoc special characters</td>
</tr>
<tr>
- <td><a href="mdoc.7.html">mdoc(7)</a></td>
+ <td><a href="mdoc.7.html">mdoc(7)</a> [<a href="mdoc.7.txt">text</a>]</td>
<td>mdoc language reference</td>
</tr>
<tr>
- <td><a href="man.7.html">man(7)</a></td>
+ <td><a href="man.7.html">man(7)</a> [<a href="man.7.txt">text</a>]</td>
<td>man language reference</td>
</tr>
<tr>
- <td><a href="manuals.7.html">manuals(7)</a></td>
+ <td><a href="manuals.7.html">manuals(7)</a> [<a href="manuals.7.txt">text</a>]</td>
<td>a guide to writing UNIX manuals</td>
</tr>
<tr>
- <td><a href="mdoc.3.html">mdoc(3)</a></td>
+ <td><a href="mdoc.3.html">mdoc(3)</a> [<a href="mdoc.3.txt">text</a>]</td>
<td>mdoc macro compiler library</td>
</tr>
<tr>
- <td><a href="man.3.html">man(3)</a></td>
+ <td><a href="man.3.html">man(3)</a> [<a href="man.3.txt">text</a>]</td>
<td>man macro compiler library</td>
</tr>
</tbody>
diff --git a/mandoc_char.7 b/mandoc_char.7
index a90b0ab8..f9051f57 100644
--- a/mandoc_char.7
+++ b/mandoc_char.7
@@ -77,12 +77,12 @@ as
These are the preferred input symbols for producing special characters.
.\" PARAGRAPH
.Pp
-Typographic:
-.Bl -tag -width Ds -offset indent -compact
+Spacing:
+.Bl -compact -tag -width Ds -offset indent
.It \e~
-.Pq non-breaking space
+.Pq non-breaking, non-collapsing space
.It \e
-.Pq space
+.Pq breaking, non-collapsing n-width space
.It \e^
.Pq zero-width space
.It \e%
@@ -92,19 +92,56 @@ Typographic:
.It \e|
.Pq zero-width space
.It \e0
-.Pq white-space
+.Pq breaking, non-collapsing digit-width space
.El
.\" PARAGRAPH
.Pp
-Grammatic:
-.Bl -offset indent -column 10n 10n 10n
+Lines:
+.Bl -compact -offset indent -column 10n 10n 10n
+.It \e(ba Ta \(ba Ta bar
+.It \e(br Ta \(br Ta box rule
+.It \e(ul Ta \(ul Ta underscore
+.It \e(rl Ta \(rl Ta overline
+.It \e(bb Ta \(bb Ta broken bar
+.It \e(sl Ta \(sl Ta forward slash
+.It \e(rs Ta \(rs Ta backward slash
+.El
+.\" PARAGRAPH
+.Pp
+Text markers:
+.Bl -compact -offset indent -column 10n 10n 10n
+.It \e(ci Ta \(ci Ta circle
+.It \e(bu Ta \(bu Ta bullet
+.It \e(dd Ta \(dd Ta double dagger
+.It \e(dg Ta \(dg Ta dagger
+.It \e(lz Ta \(lz Ta lozenge
+.It \e(sq Ta \(sq Ta white square
+.It \e(ps Ta \(ps Ta paragraph
+.It \e(sc Ta \(sc Ta section
+.It \e(lh Ta \(lh Ta left hand
+.It \e(rh Ta \(rh Ta right hand
+.It \e(at Ta \(at Ta at
+.It \e(sh Ta \(sh Ta hash (pound)
+.It \e(CR Ta \(CR Ta carriage return
+.It \e(OK Ta \(OK Ta check mark
+.El
+.\" PARAGRAPH
+.Pp
+Legal symbols:
+.Bl -compact -offset indent -column 10n 10n 10n
+.It \e(co Ta \(co Ta copyright
+.It \e(rg Ta \(rg Ta registered
+.It \e(tm Ta \(tm Ta trademarked
+.El
+.\" PARAGRAPH
+.Pp
+Punctuation:
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e(em Ta \(em Ta em-dash
.It \e(en Ta \(en Ta en-dash
.It \e(hy Ta \(hy Ta hyphen
.It \e\e Ta \\ Ta back-slash
-.It \\e Ta \e Ta back-slash
-.It \e' Ta \' Ta apostrophe
-.It \e` Ta \` Ta back-tick
+.It \ee Ta \e Ta back-slash
.It \e. Ta \. Ta period
.It \e(r! Ta \(r! Ta upside-down exclamation
.It \e(r? Ta \(r? Ta upside-down question
@@ -112,7 +149,7 @@ Grammatic:
.\" PARAGRAPH
.Pp
Quotes:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e(Bq Ta \(Bq Ta right low double-quote
.It \e(bq Ta \(bq Ta right low single-quote
.It \e(lq Ta \(lq Ta left double-quote
@@ -129,7 +166,7 @@ Quotes:
.\" PARAGRAPH
.Pp
Brackets:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e(lB Ta \(lB Ta left bracket
.It \e(rB Ta \(rB Ta right bracket
.It \e(lC Ta \(lC Ta left brace
@@ -168,7 +205,7 @@ Brackets:
.\" PARAGRAPH
.Pp
Arrows:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e(<- Ta \(<- Ta left arrow
.It \e(-> Ta \(-> Ta right arrow
.It \e(<> Ta \(<> Ta left-right arrow
@@ -185,7 +222,7 @@ Arrows:
.\" PARAGRAPH
.Pp
Logical:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e(AN Ta \(AN Ta logical and
.It \e(OR Ta \(OR Ta logical or
.It \e(no Ta \(no Ta logical not
@@ -200,7 +237,7 @@ Logical:
.\" PARAGRAPH
.Pp
Mathematical:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e(pl Ta \(pl Ta plus
.It \e(mi Ta \(mi Ta minus
.It \e- Ta \- Ta minus (text)
@@ -265,7 +302,7 @@ Mathematical:
.\" PARAGRAPH
.Pp
Ligatures:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e(ff Ta \(ff Ta ff ligature
.It \e(fi Ta \(fi Ta fi ligature
.It \e(fl Ta \(fl Ta fl ligature
@@ -282,13 +319,15 @@ Ligatures:
.\" PARAGRAPH
.Pp
Accents:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e(a" Ta \(a" Ta Hungarian umlaut
.It \e(a- Ta \(a- Ta macron
.It \e(a. Ta \(a. Ta dotted
.It \e(a^ Ta \(a^ Ta circumflex
.It \e(aa Ta \(aa Ta acute
+.It \e' Ta \' Ta acute
.It \e(ga Ta \(ga Ta grave
+.It \e` Ta \` Ta grave
.It \e(ab Ta \(ab Ta breve
.It \e(ac Ta \(ac Ta cedilla
.It \e(ad Ta \(ad Ta dieresis
@@ -302,7 +341,7 @@ Accents:
.\" PARAGRAPH
.Pp
Accented letters:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e('A Ta \('A Ta acute A
.It \e('E Ta \('E Ta acute E
.It \e('I Ta \('I Ta acute I
@@ -362,7 +401,7 @@ Accented letters:
.\" PARAGRAPH
.Pp
Special letters:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e(-D Ta \(-D Ta Eth
.It \e(Sd Ta \(Sd Ta eth
.It \e(TP Ta \(TP Ta Thorn
@@ -373,7 +412,7 @@ Special letters:
.\" PARAGRAPH
.Pp
Currency:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e(Do Ta \(Do Ta dollar
.It \e(ct Ta \(ct Ta cent
.It \e(Eu Ta \(Eu Ta Euro symbol
@@ -385,8 +424,18 @@ Currency:
.El
.\" PARAGRAPH
.Pp
+Units:
+.Bl -compact -offset indent -column 10n 10n 10n
+.It \e(de Ta \(de Ta degree
+.It \e(%0 Ta \(%0 Ta per-thousand
+.It \e(fm Ta \(fm Ta minute
+.It \e(sd Ta \(sd Ta second
+.It \e(mc Ta \(mc Ta micro
+.El
+.\" PARAGRAPH
+.Pp
Greek letters:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e(*A Ta \(*A Ta Alpha
.It \e(*B Ta \(*B Ta Beta
.It \e(*G Ta \(*G Ta Gamma
@@ -441,32 +490,12 @@ Greek letters:
.It \e(+e Ta \(+e Ta epsilon variant
.It \e(ts Ta \(ts Ta sigma terminal
.El
-.\" PARAGRAPH
-.Pp
-Special symbols:
-.Bl -offset indent -column 10n 10n 10n
-.It \e(de Ta \(de Ta degree
-.It \e(ps Ta \(ps Ta paragraph
-.It \e(sc Ta \(sc Ta section
-.It \e(dg Ta \(dg Ta dagger
-.It \e(dd Ta \(dd Ta double dagger
-.It \e(ci Ta \(ci Ta circle
-.It \e(ba Ta \(ba Ta bar
-.It \e(bb Ta \(bb Ta broken bar
-.It \e(co Ta \(co Ta copyright
-.It \e(rg Ta \(rg Ta registered
-.It \e(tm Ta \(tm Ta trademarked
-.It \ee Ta \e Ta escape
-.It \e(lh Ta \(lh Ta left hand
-.It \e(rh Ta \(rh Ta right hand
-.El
.\" SECTION
.Sh PREDEFINED STRINGS
These are not recommended for use, as they differ across
implementations:
.Pp
-Mathematical:
-.Bl -offset indent -column 10n 10n 10n
+.Bl -compact -offset indent -column 10n 10n 10n
.It \e*(Ba Ta \*(Ba Ta vertical bar
.It \e*(Ne Ta \*(Ne Ta not equal
.It \e*(Ge Ta \*(Ge Ta greater-than-equal
@@ -477,25 +506,22 @@ Mathematical:
.It \e*(If Ta \*(If Ta infinity
.It \e*(Pi Ta \*(Pi Ta pi
.It \e*(Na Ta \*(Na Ta NaN
-.El
-.\" PARAGRAPH
-.Pp
-Special symbols:
-.Bl -offset indent -column 10n 10n 10n
-.It \e*(Ba Ta \*(Ba Ta vertical bar
.It \e*(Am Ta \*(Am Ta ampersand
.It \e*R Ta \*R Ta restricted mark
.It \e*(Tm Ta \*(Tm Ta trade mark
-.El
-.\" PARAGRAPH
-.Pp
-Enclosures:
-.Bl -offset indent -column 10n 10n 10n
.It \e*q Ta \*q Ta double-quote
.It \e*(Rq Ta \*(Rq Ta right-double-quote
.It \e*(Lq Ta \*(Lq Ta left-double-quote
.It \e*(lp Ta \*(lp Ta right-parenthesis
.It \e*(rp Ta \*(rp Ta left-parenthesis
+.It \e*(lq Ta \*(lq Ta left double-quote
+.It \e*(rq Ta \*(rq Ta right double-quote
+.It \e*(ua Ta \*(ua Ta up arrow
+.It \e*(va Ta \*(va Ta up-down arrow
+.It \e*(<= Ta \*(<= Ta less-than-equal
+.It \e*(>= Ta \*(>= Ta greater-than-equal
+.It \e*(aa Ta \*(aa Ta acute
+.It \e*(ga Ta \*(ga Ta grave
.El
.\" SECTION
.Sh COMPATIBILITY
@@ -522,7 +548,7 @@ output mode:
Finally, the following have been omitted by being poorly documented or
having no known representation:
.Bd -ragged -offset indent
-\e[radicalex], \e[sqrtex]
+\e[radicalex], \e[sqrtex], \e(ru
.Ed
.\" SECTION
.Sh SEE ALSO
diff --git a/term.c b/term.c
index becdbbfc..2392a621 100644
--- a/term.c
+++ b/term.c
@@ -25,6 +25,9 @@
#include "man.h"
#include "mdoc.h"
+/* FIXME: accomodate non-breaking, non-collapsing white-space. */
+/* FIXME: accomodate non-breaking, collapsing white-space. */
+
extern void man_run(struct termp *,
const struct man *);
extern void mdoc_run(struct termp *,