summaryrefslogtreecommitdiffstats
path: root/regress/char/space
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-02-08 03:02:13 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-02-08 03:02:13 +0000
commit4c0770c1ecd159a77561d8e0364385f4bb758650 (patch)
tree5c2d5820b093c1c08b6047ff110e9b055083a5ea /regress/char/space
parentd16e7f2cf346476e177ce672851b0b957aebbe5d (diff)
downloadmandoc-4c0770c1ecd159a77561d8e0364385f4bb758650.tar.gz
Finally port the OpenBSD regression suite.
Both kristaps@ and wiz@ repeated asked for this, literally for years.
Diffstat (limited to 'regress/char/space')
-rw-r--r--regress/char/space/Makefile13
-rw-r--r--regress/char/space/break.in11
-rw-r--r--regress/char/space/break.out_ascii12
-rw-r--r--regress/char/space/eos-man.in22
-rw-r--r--regress/char/space/eos-man.out_ascii26
-rw-r--r--regress/char/space/eos.in27
-rw-r--r--regress/char/space/eos.out_ascii21
-rw-r--r--regress/char/space/esct-man.in34
-rw-r--r--regress/char/space/esct-man.out_ascii36
-rw-r--r--regress/char/space/esct-man.out_lint6
-rw-r--r--regress/char/space/esct-mdoc.in35
-rw-r--r--regress/char/space/esct-mdoc.out_ascii34
-rw-r--r--regress/char/space/esct-mdoc.out_lint3
-rw-r--r--regress/char/space/leading-man.in11
-rw-r--r--regress/char/space/leading-man.out_ascii15
-rw-r--r--regress/char/space/leading-mdoc.in24
-rw-r--r--regress/char/space/leading-mdoc.out_ascii18
-rw-r--r--regress/char/space/multiple.in18
-rw-r--r--regress/char/space/multiple.out_ascii19
-rw-r--r--regress/char/space/nobreak.in30
-rw-r--r--regress/char/space/nobreak.out_ascii34
-rw-r--r--regress/char/space/tab-man.in66
-rw-r--r--regress/char/space/tab-man.out_ascii52
-rw-r--r--regress/char/space/tab-man.out_lint22
-rw-r--r--regress/char/space/tab.in128
-rw-r--r--regress/char/space/tab.out_ascii89
-rw-r--r--regress/char/space/tab.out_lint42
-rw-r--r--regress/char/space/trailing-mdoc.in11
-rw-r--r--regress/char/space/trailing-mdoc.out_ascii9
-rw-r--r--regress/char/space/trailing-mdoc.out_lint3
-rw-r--r--regress/char/space/zerowidth.in12
-rw-r--r--regress/char/space/zerowidth.out_ascii18
-rw-r--r--regress/char/space/zerowidth.out_html6
-rw-r--r--regress/char/space/zerowidth.out_utf818
34 files changed, 925 insertions, 0 deletions
diff --git a/regress/char/space/Makefile b/regress/char/space/Makefile
new file mode 100644
index 00000000..b6095de3
--- /dev/null
+++ b/regress/char/space/Makefile
@@ -0,0 +1,13 @@
+# $OpenBSD: Makefile,v 1.12 2016/12/07 23:27:42 schwarze Exp $
+
+REGRESS_TARGETS = leading-mdoc leading-man multiple trailing-mdoc zerowidth
+REGRESS_TARGETS += eos eos-man break nobreak
+REGRESS_TARGETS += tab tab-man esct-mdoc esct-man
+
+UTF8_TARGETS = zerowidth
+
+HTML_TARGETS = zerowidth
+
+LINT_TARGETS = trailing-mdoc tab tab-man esct-mdoc esct-man
+
+.include <bsd.regress.mk>
diff --git a/regress/char/space/break.in b/regress/char/space/break.in
new file mode 100644
index 00000000..f82fd01b
--- /dev/null
+++ b/regress/char/space/break.in
@@ -0,0 +1,11 @@
+.Dd January 8, 2014
+.Dt CHAR-BREAK 1
+.Os OpenBSD
+.Sh NAME
+.Nm char-break
+.Nd optional line-break
+.Sh DESCRIPTION
+.Dl cons25,linux,rxvt,rxvt-unicode,\:sun,\:vt100,\:vt220,\:\
+wsvt25,\:xterm,\:xterm-color
+.Pp
+end of text
diff --git a/regress/char/space/break.out_ascii b/regress/char/space/break.out_ascii
new file mode 100644
index 00000000..f03c7eec
--- /dev/null
+++ b/regress/char/space/break.out_ascii
@@ -0,0 +1,12 @@
+CHAR-BREAK(1) General Commands Manual CHAR-BREAK(1)
+
+NNAAMMEE
+ cchhaarr--bbrreeaakk - optional line-break
+
+DDEESSCCRRIIPPTTIIOONN
+ cons25,linux,rxvt,rxvt-unicode,sun,vt100,vt220,wsvt25,xterm,
+ xterm-color
+
+ end of text
+
+OpenBSD January 8, 2014 OpenBSD
diff --git a/regress/char/space/eos-man.in b/regress/char/space/eos-man.in
new file mode 100644
index 00000000..48f8a984
--- /dev/null
+++ b/regress/char/space/eos-man.in
@@ -0,0 +1,22 @@
+.TH SPACE-EOS-MAN 1 "December 22, 2013" OpenBSD
+.SH NAME
+SPACE-EOS-MAN \- end-of-sentence spacing in man(7) documents
+.SH DESCRIPTION
+This is a sentence.
+There is a double space before the next one.
+.PP
+Here is a full stop
+.B at the end of a macro.
+It causes a double space, too.
+.PP
+She said: "Here is another sentence."
+And it was detected even with quotation marks.
+(Really.)
+And within parantheses.
+.PP
+A dot in parantheses (.) is not a full stop.
+.PP
+A dot in the middle of an input line . is not a full stop.
+.PP
+At the end of an input line, even an escaped dot \&.
+is regarded as a full stop.
diff --git a/regress/char/space/eos-man.out_ascii b/regress/char/space/eos-man.out_ascii
new file mode 100644
index 00000000..3f4a652c
--- /dev/null
+++ b/regress/char/space/eos-man.out_ascii
@@ -0,0 +1,26 @@
+SPACE-EOS-MAN(1) General Commands Manual SPACE-EOS-MAN(1)
+
+
+
+NNAAMMEE
+ SPACE-EOS-MAN - end-of-sentence spacing in man(7) documents
+
+DDEESSCCRRIIPPTTIIOONN
+ This is a sentence. There is a double space before the next one.
+
+ Here is a full stop aatt tthhee eenndd ooff aa mmaaccrroo.. It causes a double space,
+ too.
+
+ She said: "Here is another sentence." And it was detected even with
+ quotation marks. (Really.) And within parantheses.
+
+ A dot in parantheses (.) is not a full stop.
+
+ A dot in the middle of an input line . is not a full stop.
+
+ At the end of an input line, even an escaped dot . is regarded as a
+ full stop.
+
+
+
+OpenBSD December 22, 2013 SPACE-EOS-MAN(1)
diff --git a/regress/char/space/eos.in b/regress/char/space/eos.in
new file mode 100644
index 00000000..2b5ae698
--- /dev/null
+++ b/regress/char/space/eos.in
@@ -0,0 +1,27 @@
+.Dd December 30, 2013
+.Dt SPACE-EOS 1
+.Os OpenBSD
+.Sh NAME
+.Nm space-eos
+.Nd end-of-sentence spacing
+.Sh DESCRIPTION
+This is a sentence.
+There is a double space before the next one.
+.Pp
+Here is a full stop
+.Pq quite lonely .
+It causes a double space, too.
+.Pp
+A dot in parantheses (.) is not a full stop.
+Not even
+.Pq Like in this case.
+when preceded by a letter.
+.Pp
+A lonely dot in an enclosure
+.Pq \&.
+is not a full stop.
+.Pp
+A dot in the middle of an input line . is not a full stop.
+.Pp
+At the end of an input line, even an escaped dot \&.
+is regarded as a full stop.
diff --git a/regress/char/space/eos.out_ascii b/regress/char/space/eos.out_ascii
new file mode 100644
index 00000000..1a5bd493
--- /dev/null
+++ b/regress/char/space/eos.out_ascii
@@ -0,0 +1,21 @@
+SPACE-EOS(1) General Commands Manual SPACE-EOS(1)
+
+NNAAMMEE
+ ssppaaccee--eeooss - end-of-sentence spacing
+
+DDEESSCCRRIIPPTTIIOONN
+ This is a sentence. There is a double space before the next one.
+
+ Here is a full stop (quite lonely). It causes a double space, too.
+
+ A dot in parantheses (.) is not a full stop. Not even (Like in this
+ case.) when preceded by a letter.
+
+ A lonely dot in an enclosure (.) is not a full stop.
+
+ A dot in the middle of an input line . is not a full stop.
+
+ At the end of an input line, even an escaped dot . is regarded as a full
+ stop.
+
+OpenBSD December 30, 2013 OpenBSD
diff --git a/regress/char/space/esct-man.in b/regress/char/space/esct-man.in
new file mode 100644
index 00000000..90aed2c7
--- /dev/null
+++ b/regress/char/space/esct-man.in
@@ -0,0 +1,34 @@
+.TH SPACE-ESCT-MAN 1 2013-06-20 OpenBSD
+.SH NAME
+SPACE-T-MAN \- the t escape sequence in pages with man macros
+.SH DESCRIPTION
+In plain text:
+.br
+single tab
+.br
+single\tescape-t
+.br
+double tab
+.br
+double\t\tescape-t
+.br
+\tThis line starts with escape-t and comes close to the right margin.
+\tThe next line starts with escape-t as well.
+.sp
+In a literal display:
+.nf
+single tab
+single\tescape-t
+double tab
+double\t\tescape-t
+.fi
+.sp
+After the IP macro:
+.IP single tab 3n
+text
+.IP single\tescape-t 3n
+text
+.PP
+After font macros:
+.br
+.B single\ttab
diff --git a/regress/char/space/esct-man.out_ascii b/regress/char/space/esct-man.out_ascii
new file mode 100644
index 00000000..29fbabea
--- /dev/null
+++ b/regress/char/space/esct-man.out_ascii
@@ -0,0 +1,36 @@
+SPACE-ESCT-MAN(1) General Commands Manual SPACE-ESCT-MAN(1)
+
+
+
+NNAAMMEE
+ SPACE-T-MAN - the t escape sequence in pages with man macros
+
+DDEESSCCRRIIPPTTIIOONN
+ In plain text:
+ single tab
+ singleescape-t
+ double tab
+ doubleescape-t
+ This line starts with escape-t and comes close to the right margin.
+ The next line starts with escape-t as well.
+
+ In a literal display:
+ single tab
+ singleescape-t
+ double tab
+ doubleescape-t
+
+ After the IP macro:
+
+ single tab
+ text
+
+ single escape-t
+ text
+
+ After font macros:
+ ssiinnggllee ttaabb
+
+
+
+OpenBSD 2013-06-20 SPACE-ESCT-MAN(1)
diff --git a/regress/char/space/esct-man.out_lint b/regress/char/space/esct-man.out_lint
new file mode 100644
index 00000000..815b68fb
--- /dev/null
+++ b/regress/char/space/esct-man.out_lint
@@ -0,0 +1,6 @@
+mandoc: esct-man.in:7:7: WARNING: tab in filled text
+mandoc: esct-man.in:11:7: WARNING: tab in filled text
+mandoc: esct-man.in:11:8: WARNING: tab in filled text
+mandoc: esct-man.in:27:11: WARNING: tab in filled text
+mandoc: esct-man.in:29:11: WARNING: tab in filled text
+mandoc: esct-man.in:34:10: WARNING: tab in filled text
diff --git a/regress/char/space/esct-mdoc.in b/regress/char/space/esct-mdoc.in
new file mode 100644
index 00000000..d372c8ad
--- /dev/null
+++ b/regress/char/space/esct-mdoc.in
@@ -0,0 +1,35 @@
+.Dd $Mdocdate$
+.Dt SPACE-ESCT-MDOC 1
+.Os OpenBSD
+.Sh NAME
+.Nm space-esct-mdoc
+.Nd the t escape sequence in pages with mdoc macros
+.Sh DESCRIPTION
+In plain text:
+.Pp
+single tab
+.Pp
+single\tescape-t
+.Pp
+double tab
+.Pp
+double\t\tescape-t
+.Pp
+\tThis line starts with escape-t and comes close to the right margin.
+\tThe next line starts with escape-t as well.
+.Pp
+In an unfilled display:
+.Bd -unfilled -offset 3n
+single tab
+single\tescape-t
+double tab
+double\t\tescape-t
+.Ed
+.Pp
+In a literal display:
+.Bd -literal -offset 3n
+single tab
+single\tescape-t
+double tab
+double\t\tescape-t
+.Ed
diff --git a/regress/char/space/esct-mdoc.out_ascii b/regress/char/space/esct-mdoc.out_ascii
new file mode 100644
index 00000000..9b09325e
--- /dev/null
+++ b/regress/char/space/esct-mdoc.out_ascii
@@ -0,0 +1,34 @@
+SPACE-ESCT-MDOC(1) General Commands Manual SPACE-ESCT-MDOC(1)
+
+NNAAMMEE
+ ssppaaccee--eesscctt--mmddoocc - the t escape sequence in pages with mdoc macros
+
+DDEESSCCRRIIPPTTIIOONN
+ In plain text:
+
+ single tab
+
+ singleescape-t
+
+ double tab
+
+ doubleescape-t
+
+ This line starts with escape-t and comes close to the right margin. The
+ next line starts with escape-t as well.
+
+ In an unfilled display:
+
+ single tab
+ singleescape-t
+ double tab
+ doubleescape-t
+
+ In a literal display:
+
+ single tab
+ singleescape-t
+ double tab
+ doubleescape-t
+
+OpenBSD June 20, 2013 OpenBSD
diff --git a/regress/char/space/esct-mdoc.out_lint b/regress/char/space/esct-mdoc.out_lint
new file mode 100644
index 00000000..85b9799f
--- /dev/null
+++ b/regress/char/space/esct-mdoc.out_lint
@@ -0,0 +1,3 @@
+mandoc: esct-mdoc.in:10:7: WARNING: tab in filled text
+mandoc: esct-mdoc.in:14:7: WARNING: tab in filled text
+mandoc: esct-mdoc.in:14:8: WARNING: tab in filled text
diff --git a/regress/char/space/leading-man.in b/regress/char/space/leading-man.in
new file mode 100644
index 00000000..6d48f3be
--- /dev/null
+++ b/regress/char/space/leading-man.in
@@ -0,0 +1,11 @@
+.TH SPACE-LEADING-MAN 1 "January 15, 2011" OpenBSD
+.SH NAME
+space-leading-man \- leading spaces on text lines in man documents
+.SH DESCRIPTION
+normal line of text
+second normal line
+ leading space
+.BI bold italic
+normal after macro
+.BI bold italic
+ leading space after a macro line
diff --git a/regress/char/space/leading-man.out_ascii b/regress/char/space/leading-man.out_ascii
new file mode 100644
index 00000000..fa75ea2f
--- /dev/null
+++ b/regress/char/space/leading-man.out_ascii
@@ -0,0 +1,15 @@
+SPACE-LEADING-MAN(1) General Commands Manual SPACE-LEADING-MAN(1)
+
+
+
+NNAAMMEE
+ space-leading-man - leading spaces on text lines in man documents
+
+DDEESSCCRRIIPPTTIIOONN
+ normal line of text second normal line
+ leading space bboolldd_i_t_a_l_i_c normal after macro bboolldd_i_t_a_l_i_c
+ leading space after a macro line
+
+
+
+OpenBSD January 15, 2011 SPACE-LEADING-MAN(1)
diff --git a/regress/char/space/leading-mdoc.in b/regress/char/space/leading-mdoc.in
new file mode 100644
index 00000000..912b9000
--- /dev/null
+++ b/regress/char/space/leading-mdoc.in
@@ -0,0 +1,24 @@
+.Dd January 15, 2011
+.Dt SPACE-LEADING_MDOC 1
+.Os OpenBSD
+.Sh NAME
+.Nm space-leading-mdoc
+.Nd leading spaces on text lines in mdoc documents
+.Sh DESCRIPTION
+normal line of text
+second normal line
+ line with a leading space
+.Ux
+normal line after a macro line
+.Ux
+ leading space after a macro line
+.Bd -literal
+normal line in a literal display
+ leading space in a literal display
+another normal line
+.Ed
+.Bd -filled
+normal line in a filled display
+ leading space in a filled display
+another normal line
+.Ed
diff --git a/regress/char/space/leading-mdoc.out_ascii b/regress/char/space/leading-mdoc.out_ascii
new file mode 100644
index 00000000..91ef3f36
--- /dev/null
+++ b/regress/char/space/leading-mdoc.out_ascii
@@ -0,0 +1,18 @@
+SPACE-LEADING_MDOC(1) General Commands Manual SPACE-LEADING_MDOC(1)
+
+NNAAMMEE
+ ssppaaccee--lleeaaddiinngg--mmddoocc - leading spaces on text lines in mdoc documents
+
+DDEESSCCRRIIPPTTIIOONN
+ normal line of text second normal line
+ line with a leading space UNIX normal line after a macro line UNIX
+ leading space after a macro line
+
+ normal line in a literal display
+ leading space in a literal display
+ another normal line
+
+ normal line in a filled display
+ leading space in a filled display another normal line
+
+OpenBSD January 15, 2011 OpenBSD
diff --git a/regress/char/space/multiple.in b/regress/char/space/multiple.in
new file mode 100644
index 00000000..47037269
--- /dev/null
+++ b/regress/char/space/multiple.in
@@ -0,0 +1,18 @@
+.Dd April 23, 2010
+.Dt SPACE-MULTIPLE 1
+.Os OpenBSD
+.Sh NAME
+.Nm space-multiple
+.Nd handling of multiple adjacent space characters
+.Sh DESCRIPTION
+one space here
+.Pp
+two spaces here
+.Pp
+three spaces here
+.Pp
+one non-collapsing space here
+.Pp
+two non-collapsing spaces\ \ here
+.Pp
+three non-collapsing spaces\ \ \ here
diff --git a/regress/char/space/multiple.out_ascii b/regress/char/space/multiple.out_ascii
new file mode 100644
index 00000000..945cd260
--- /dev/null
+++ b/regress/char/space/multiple.out_ascii
@@ -0,0 +1,19 @@
+SPACE-MULTIPLE(1) General Commands Manual SPACE-MULTIPLE(1)
+
+NNAAMMEE
+ ssppaaccee--mmuullttiippllee - handling of multiple adjacent space characters
+
+DDEESSCCRRIIPPTTIIOONN
+ one space here
+
+ two spaces here
+
+ three spaces here
+
+ one non-collapsing space here
+
+ two non-collapsing spaces here
+
+ three non-collapsing spaces here
+
+OpenBSD April 23, 2010 OpenBSD
diff --git a/regress/char/space/nobreak.in b/regress/char/space/nobreak.in
new file mode 100644
index 00000000..20bd19bd
--- /dev/null
+++ b/regress/char/space/nobreak.in
@@ -0,0 +1,30 @@
+.Dd July 29, 2012
+.Dt SPACE-NOBREAK 1
+.Os OpenBSD
+.Sh NAME
+.Nm space-nobreak
+.Nd non-breaking, non-collapsing space
+.Sh DESCRIPTION
+The following line has 78 characters and fits:
+.Pp
+78 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x x
+.Pp
+The following line has 79 characters and breaks:
+.Pp
+79 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x x
+.Pp
+With a non-breaking space, it breaks earlier:
+.Pp
+79 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x\~x
+.Pp
+The same with backslash-space:
+.Pp
+79 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x\ x
+.Pp
+Only non-breaking spaces:
+.Pp
+79\~xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\~x\~x
+.Pp
+The same with backslash-space:
+.Pp
+79\ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\ x\ x
diff --git a/regress/char/space/nobreak.out_ascii b/regress/char/space/nobreak.out_ascii
new file mode 100644
index 00000000..5544c77e
--- /dev/null
+++ b/regress/char/space/nobreak.out_ascii
@@ -0,0 +1,34 @@
+SPACE-NOBREAK(1) General Commands Manual SPACE-NOBREAK(1)
+
+NNAAMMEE
+ ssppaaccee--nnoobbrreeaakk - non-breaking, non-collapsing space
+
+DDEESSCCRRIIPPTTIIOONN
+ The following line has 78 characters and fits:
+
+ 78 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x x
+
+ The following line has 79 characters and breaks:
+
+ 79 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x
+ x
+
+ With a non-breaking space, it breaks earlier:
+
+ 79 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ x x
+
+ The same with backslash-space:
+
+ 79 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ x x
+
+ Only non-breaking spaces:
+
+ 79 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x x
+
+ The same with backslash-space:
+
+ 79 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x x
+
+OpenBSD July 29, 2012 OpenBSD
diff --git a/regress/char/space/tab-man.in b/regress/char/space/tab-man.in
new file mode 100644
index 00000000..a3645fd2
--- /dev/null
+++ b/regress/char/space/tab-man.in
@@ -0,0 +1,66 @@
+.TH SPACE-TAB-MAN 1 "May 24, 2010" OpenBSD
+.SH NAME
+SPACE-TAB-MAN \- handling of literal tab characters
+.SH DESCRIPTION
+In plain text:
+.br
+1 x
+.br
+22 x
+.br
+333 x
+.br
+4444 x
+.br
+55555 x
+.br
+666666 x
+.br
+7777777 x
+.br
+88888888 x
+.br
+999999999 x
+.br
+aaaaaaaaaa x
+.br
+bbbbbbbbbbb x
+.br
+cccccccccccc x
+.br
+ddddddddddddd x
+.br
+tab space
+.br
+tab tab
+.br
+space tab
+.br
+ tab
+.br
+ tab
+.br
+ This line starts with a tab and comes close to the right margin.
+ The next line starts with a tab as well.
+.br
+In a literal display:
+.nf
+1 x
+22 x
+333 x
+4444 x
+55555 x
+666666 x
+7777777 x
+88888888 x
+999999999 x
+aaaaaaaaaa x
+bbbbbbbbbbb x
+cccccccccccc x
+ddddddddddddd x
+tab space
+tab tab
+space tab
+ tab
+ tab
+.fi
diff --git a/regress/char/space/tab-man.out_ascii b/regress/char/space/tab-man.out_ascii
new file mode 100644
index 00000000..9e5309af
--- /dev/null
+++ b/regress/char/space/tab-man.out_ascii
@@ -0,0 +1,52 @@
+SPACE-TAB-MAN(1) General Commands Manual SPACE-TAB-MAN(1)
+
+
+
+NNAAMMEE
+ SPACE-TAB-MAN - handling of literal tab characters
+
+DDEESSCCRRIIPPTTIIOONN
+ In plain text:
+ 1 x
+ 22 x
+ 333 x
+ 4444 x
+ 55555 x
+ 666666 x
+ 7777777 x
+ 88888888 x
+ 999999999 x
+ aaaaaaaaaa x
+ bbbbbbbbbbb x
+ cccccccccccc x
+ ddddddddddddd x
+ tab space
+ tab tab
+ space tab
+ tab
+ tab
+ This line starts with a tab and comes close to the right margin.
+ The next line starts with a tab as well.
+ In a literal display:
+ 1 x
+ 22 x
+ 333 x
+ 4444 x
+ 55555 x
+ 666666 x
+ 7777777 x
+ 88888888 x
+ 999999999 x
+ aaaaaaaaaa x
+ bbbbbbbbbbb x
+ cccccccccccc x
+ ddddddddddddd x
+ tab space
+ tab tab
+ space tab
+ tab
+ tab
+
+
+
+OpenBSD May 24, 2010 SPACE-TAB-MAN(1)
diff --git a/regress/char/space/tab-man.out_lint b/regress/char/space/tab-man.out_lint
new file mode 100644
index 00000000..a5796e1b
--- /dev/null
+++ b/regress/char/space/tab-man.out_lint
@@ -0,0 +1,22 @@
+mandoc: tab-man.in:7:2: WARNING: tab in filled text
+mandoc: tab-man.in:9:3: WARNING: tab in filled text
+mandoc: tab-man.in:11:4: WARNING: tab in filled text
+mandoc: tab-man.in:13:5: WARNING: tab in filled text
+mandoc: tab-man.in:15:6: WARNING: tab in filled text
+mandoc: tab-man.in:17:7: WARNING: tab in filled text
+mandoc: tab-man.in:19:8: WARNING: tab in filled text
+mandoc: tab-man.in:21:9: WARNING: tab in filled text
+mandoc: tab-man.in:23:10: WARNING: tab in filled text
+mandoc: tab-man.in:25:11: WARNING: tab in filled text
+mandoc: tab-man.in:27:12: WARNING: tab in filled text
+mandoc: tab-man.in:29:13: WARNING: tab in filled text
+mandoc: tab-man.in:31:14: WARNING: tab in filled text
+mandoc: tab-man.in:33:4: WARNING: tab in filled text
+mandoc: tab-man.in:35:4: WARNING: tab in filled text
+mandoc: tab-man.in:35:5: WARNING: tab in filled text
+mandoc: tab-man.in:37:7: WARNING: tab in filled text
+mandoc: tab-man.in:39:1: WARNING: tab in filled text
+mandoc: tab-man.in:41:1: WARNING: tab in filled text
+mandoc: tab-man.in:41:2: WARNING: tab in filled text
+mandoc: tab-man.in:43:1: WARNING: tab in filled text
+mandoc: tab-man.in:44:1: WARNING: tab in filled text
diff --git a/regress/char/space/tab.in b/regress/char/space/tab.in
new file mode 100644
index 00000000..e801cbd9
--- /dev/null
+++ b/regress/char/space/tab.in
@@ -0,0 +1,128 @@
+.Dd April 23, 2010
+.Dt SPACE-TAB 1
+.Os OpenBSD
+.Sh NAME
+.Nm space-tab
+.Nd handling of literal space characters
+.Sh DESCRIPTION
+plain text
+.br
+1 x
+.br
+22 x
+.br
+333 x
+.br
+4444 x
+.br
+55555 x
+.br
+666666 x
+.br
+7777777 x
+.br
+88888888 x
+.br
+999999999 x
+.br
+aaaaaaaaaa x
+.br
+bbbbbbbbbbb x
+.br
+cccccccccccc x
+.br
+ddddddddddddd x
+.br
+tab space
+.br
+tab tab
+.br
+space tab
+.br
+ tab
+.br
+ tab
+.br
+ This line starts with a tab and comes close to the right margin.
+ The next line starts with a tab as well.
+.br
+ragged display
+.Bd -ragged -offset 2n
+1 x
+.br
+22 x
+.br
+333 x
+.br
+4444 x
+.br
+55555 x
+.br
+666666 x
+.br
+7777777 x
+.br
+88888888 x
+.br
+999999999 x
+.br
+aaaaaaaaaa x
+.br
+bbbbbbbbbbb x
+.br
+cccccccccccc x
+.br
+ddddddddddddd x
+.br
+tab space
+.br
+tab tab
+.br
+space tab
+.br
+ tab
+.br
+ tab
+.Ed
+unfilled display
+.Bd -unfilled -offset 2n
+1 x
+22 x
+333 x
+4444 x
+55555 x
+666666 x
+7777777 x
+88888888 x
+999999999 x
+aaaaaaaaaa x
+bbbbbbbbbbb x
+cccccccccccc x
+ddddddddddddd x
+tab space
+tab tab
+space tab
+ tab
+ tab
+.Ed
+literal display
+.Bd -literal -offset 2n
+1 x
+22 x
+333 x
+4444 x
+55555 x
+666666 x
+7777777 x
+88888888 x
+999999999 x
+aaaaaaaaaa x
+bbbbbbbbbbb x
+cccccccccccc x
+ddddddddddddd x
+tab space
+tab tab
+space tab
+ tab
+ tab
+.Ed
diff --git a/regress/char/space/tab.out_ascii b/regress/char/space/tab.out_ascii
new file mode 100644
index 00000000..64d32af1
--- /dev/null
+++ b/regress/char/space/tab.out_ascii
@@ -0,0 +1,89 @@
+SPACE-TAB(1) General Commands Manual SPACE-TAB(1)
+
+NNAAMMEE
+ ssppaaccee--ttaabb - handling of literal space characters
+
+DDEESSCCRRIIPPTTIIOONN
+ plain text
+ 1 x
+ 22 x
+ 333 x
+ 4444 x
+ 55555 x
+ 666666 x
+ 7777777 x
+ 88888888 x
+ 999999999 x
+ aaaaaaaaaa x
+ bbbbbbbbbbb x
+ cccccccccccc x
+ ddddddddddddd x
+ tab space
+ tab tab
+ space tab
+ tab
+ tab
+ This line starts with a tab and comes close to the right margin.
+ The next line starts with a tab as well.
+ ragged display
+
+ 1 x
+ 22 x
+ 333 x
+ 4444 x
+ 55555 x
+ 666666 x
+ 7777777 x
+ 88888888 x
+ 999999999 x
+ aaaaaaaaaa x
+ bbbbbbbbbbb x
+ cccccccccccc x
+ ddddddddddddd x
+ tab space
+ tab tab
+ space tab
+ tab
+ tab
+ unfilled display
+
+ 1 x
+ 22 x
+ 333 x
+ 4444 x
+ 55555 x
+ 666666 x
+ 7777777 x
+ 88888888 x
+ 999999999 x
+ aaaaaaaaaa x
+ bbbbbbbbbbb x
+ cccccccccccc x
+ ddddddddddddd x
+ tab space
+ tab tab
+ space tab
+ tab
+ tab
+ literal display
+
+ 1 x
+ 22 x
+ 333 x
+ 4444 x
+ 55555 x
+ 666666 x
+ 7777777 x
+ 88888888 x
+ 999999999 x
+ aaaaaaaaaa x
+ bbbbbbbbbbb x
+ cccccccccccc x
+ ddddddddddddd x
+ tab space
+ tab tab
+ space tab
+ tab
+ tab
+
+OpenBSD April 23, 2010 OpenBSD
diff --git a/regress/char/space/tab.out_lint b/regress/char/space/tab.out_lint
new file mode 100644
index 00000000..6495de7f
--- /dev/null
+++ b/regress/char/space/tab.out_lint
@@ -0,0 +1,42 @@
+mandoc: tab.in:10:2: WARNING: tab in filled text
+mandoc: tab.in:12:3: WARNING: tab in filled text
+mandoc: tab.in:14:4: WARNING: tab in filled text
+mandoc: tab.in:16:5: WARNING: tab in filled text
+mandoc: tab.in:18:6: WARNING: tab in filled text
+mandoc: tab.in:20:7: WARNING: tab in filled text
+mandoc: tab.in:22:8: WARNING: tab in filled text
+mandoc: tab.in:24:9: WARNING: tab in filled text
+mandoc: tab.in:26:10: WARNING: tab in filled text
+mandoc: tab.in:28:11: WARNING: tab in filled text
+mandoc: tab.in:30:12: WARNING: tab in filled text
+mandoc: tab.in:32:13: WARNING: tab in filled text
+mandoc: tab.in:34:14: WARNING: tab in filled text
+mandoc: tab.in:36:4: WARNING: tab in filled text
+mandoc: tab.in:38:4: WARNING: tab in filled text
+mandoc: tab.in:38:5: WARNING: tab in filled text
+mandoc: tab.in:40:7: WARNING: tab in filled text
+mandoc: tab.in:42:1: WARNING: tab in filled text
+mandoc: tab.in:44:1: WARNING: tab in filled text
+mandoc: tab.in:44:2: WARNING: tab in filled text
+mandoc: tab.in:46:1: WARNING: tab in filled text
+mandoc: tab.in:47:1: WARNING: tab in filled text
+mandoc: tab.in:51:2: WARNING: tab in filled text
+mandoc: tab.in:53:3: WARNING: tab in filled text
+mandoc: tab.in:55:4: WARNING: tab in filled text
+mandoc: tab.in:57:5: WARNING: tab in filled text
+mandoc: tab.in:59:6: WARNING: tab in filled text
+mandoc: tab.in:61:7: WARNING: tab in filled text
+mandoc: tab.in:63:8: WARNING: tab in filled text
+mandoc: tab.in:65:9: WARNING: tab in filled text
+mandoc: tab.in:67:10: WARNING: tab in filled text
+mandoc: tab.in:69:11: WARNING: tab in filled text
+mandoc: tab.in:71:12: WARNING: tab in filled text
+mandoc: tab.in:73:13: WARNING: tab in filled text
+mandoc: tab.in:75:14: WARNING: tab in filled text
+mandoc: tab.in:77:4: WARNING: tab in filled text
+mandoc: tab.in:79:4: WARNING: tab in filled text
+mandoc: tab.in:79:5: WARNING: tab in filled text
+mandoc: tab.in:81:7: WARNING: tab in filled text
+mandoc: tab.in:83:1: WARNING: tab in filled text
+mandoc: tab.in:85:1: WARNING: tab in filled text
+mandoc: tab.in:85:2: WARNING: tab in filled text
diff --git a/regress/char/space/trailing-mdoc.in b/regress/char/space/trailing-mdoc.in
new file mode 100644
index 00000000..3cc8dc08
--- /dev/null
+++ b/regress/char/space/trailing-mdoc.in
@@ -0,0 +1,11 @@
+.Dd December 8, 2016
+.Dt SPACE-TRAILING-MDOC 1
+.Os OpenBSD
+.Sh NAME
+.Nm space-trailing-mdoc
+.Nd trailing spaces on input lines
+.Sh DESCRIPTION
+on a text line,
+on a
+.Em macro
+line, after a comment \"
diff --git a/regress/char/space/trailing-mdoc.out_ascii b/regress/char/space/trailing-mdoc.out_ascii
new file mode 100644
index 00000000..28c32ed8
--- /dev/null
+++ b/regress/char/space/trailing-mdoc.out_ascii
@@ -0,0 +1,9 @@
+SPACE-TRAILING-MDOC(1) General Commands Manual SPACE-TRAILING-MDOC(1)
+
+NNAAMMEE
+ ssppaaccee--ttrraaiilliinngg--mmddoocc - trailing spaces on input lines
+
+DDEESSCCRRIIPPTTIIOONN
+ on a text line, on a _m_a_c_r_o line, after a comment
+
+OpenBSD December 8, 2016 OpenBSD
diff --git a/regress/char/space/trailing-mdoc.out_lint b/regress/char/space/trailing-mdoc.out_lint
new file mode 100644
index 00000000..a64141ea
--- /dev/null
+++ b/regress/char/space/trailing-mdoc.out_lint
@@ -0,0 +1,3 @@
+mandoc: trailing-mdoc.in:8:16: WARNING: whitespace at end of input line
+mandoc: trailing-mdoc.in:10:12: WARNING: whitespace at end of input line
+mandoc: trailing-mdoc.in:11:27: WARNING: whitespace at end of input line
diff --git a/regress/char/space/zerowidth.in b/regress/char/space/zerowidth.in
new file mode 100644
index 00000000..9d2f3ff2
--- /dev/null
+++ b/regress/char/space/zerowidth.in
@@ -0,0 +1,12 @@
+.TH SPACE-ZEROWIDTH 1 "October 27, 2014" OpenBSD
+.SH NAME
+space-zerowidth \- zero width and narrow space characters
+.SH DESCRIPTION
+.nf
+BEGINTEST
+zero width space \e& between A and B: A\&B
+hyphenation allowed \e% between A and B: A\%B
+half-narrow (1/12) space \e^ between A and B: A\^B
+narrow space (1/6) \e| between A and B: A\|B
+ENDTEST
+.fi
diff --git a/regress/char/space/zerowidth.out_ascii b/regress/char/space/zerowidth.out_ascii
new file mode 100644
index 00000000..e6509886
--- /dev/null
+++ b/regress/char/space/zerowidth.out_ascii
@@ -0,0 +1,18 @@
+SPACE-ZEROWIDTH(1) General Commands Manual SPACE-ZEROWIDTH(1)
+
+
+
+NNAAMMEE
+ space-zerowidth - zero width and narrow space characters
+
+DDEESSCCRRIIPPTTIIOONN
+ BEGINTEST
+ zero width space \& between A and B: AB
+ hyphenation allowed \% between A and B: AB
+ half-narrow (1/12) space \^ between A and B: AB
+ narrow space (1/6) \| between A and B: AB
+ ENDTEST
+
+
+
+OpenBSD October 27, 2014 SPACE-ZEROWIDTH(1)
diff --git a/regress/char/space/zerowidth.out_html b/regress/char/space/zerowidth.out_html
new file mode 100644
index 00000000..f317aafd
--- /dev/null
+++ b/regress/char/space/zerowidth.out_html
@@ -0,0 +1,6 @@
+BEGINTEST
+zero width space \&amp; between A and B: AB
+hyphenation allowed \% between A and B: AB
+half-narrow (1/12) space \^ between A and B: AB
+narrow space (1/6) \| between A and B: AB
+ENDTEST
diff --git a/regress/char/space/zerowidth.out_utf8 b/regress/char/space/zerowidth.out_utf8
new file mode 100644
index 00000000..e6509886
--- /dev/null
+++ b/regress/char/space/zerowidth.out_utf8
@@ -0,0 +1,18 @@
+SPACE-ZEROWIDTH(1) General Commands Manual SPACE-ZEROWIDTH(1)
+
+
+
+NNAAMMEE
+ space-zerowidth - zero width and narrow space characters
+
+DDEESSCCRRIIPPTTIIOONN
+ BEGINTEST
+ zero width space \& between A and B: AB
+ hyphenation allowed \% between A and B: AB
+ half-narrow (1/12) space \^ between A and B: AB
+ narrow space (1/6) \| between A and B: AB
+ ENDTEST
+
+
+
+OpenBSD October 27, 2014 SPACE-ZEROWIDTH(1)