summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-06-15 00:27:52 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-06-15 00:27:52 +0000
commit7a6175f17cfb7cc37dea1c98c65b6fccaf92f619 (patch)
treee73b909eedbdc81ac6a7a93a3e5af2269fee4c90
parentff7404ec88115f451afc869f7330722a3bb3e41e (diff)
downloadmandoc-7a6175f17cfb7cc37dea1c98c65b6fccaf92f619.tar.gz
round default width of tbl(7) text blocks in the same way as groff
-rw-r--r--out.c3
-rw-r--r--regress/tbl/data/Makefile2
-rw-r--r--regress/tbl/data/block_width.in102
-rw-r--r--regress/tbl/data/block_width.out_ascii63
4 files changed, 168 insertions, 2 deletions
diff --git a/out.c b/out.c
index 2dc09900..267e13ab 100644
--- a/out.c
+++ b/out.c
@@ -157,7 +157,8 @@ tblcalc(struct rofftbl *tbl, const struct tbl_span *sp,
tblcalc_data(tbl, col, opts, dp,
dp->block == 0 ? 0 :
dp->layout->width ? dp->layout->width :
- rmargin ? rmargin / (sp->opts->cols + 1) : 0);
+ rmargin ? (rmargin + sp->opts->cols / 2)
+ / (sp->opts->cols + 1) : 0);
}
}
diff --git a/regress/tbl/data/Makefile b/regress/tbl/data/Makefile
index d84a6f04..0fc59557 100644
--- a/regress/tbl/data/Makefile
+++ b/regress/tbl/data/Makefile
@@ -1,6 +1,6 @@
# $OpenBSD: Makefile,v 1.1.1.1 2015/01/29 23:24:24 schwarze Exp $
-REGRESS_TARGETS = blankline block_unclosed block_wrap empty
+REGRESS_TARGETS = blankline block_unclosed block_width block_wrap empty
LINT_TARGETS = block_unclosed empty
# groff-1.22.3 defect:
diff --git a/regress/tbl/data/block_width.in b/regress/tbl/data/block_width.in
new file mode 100644
index 00000000..8c24a6f4
--- /dev/null
+++ b/regress/tbl/data/block_width.in
@@ -0,0 +1,102 @@
+.Dd June 15, 2017
+.Dt TBL-DATA-BLOCK_WIDTH 1
+.Os OpenBSD
+.Sh NAME
+.Nm tbl-data-block_width
+.Nd default width of text blocks
+.Sh DESCRIPTION
+one column:
+.TS
+allbox tab(:);
+l.
+T{
+1234567890123456789012345678901234567 9
+T}
+T{
+1234567890123456789012345678901234567 90
+T}
+.TE
+.sp
+two columns:
+.TS
+allbox tab(:);
+l l.
+a:T{
+123456789012345678901234 6
+T}
+a:T{
+123456789012345678901234 67
+T}
+.TE
+.sp
+three columns:
+.TS
+allbox tab(:);
+l l l.
+a:b:T{
+12345678901234567 9
+T}
+a:b:T{
+12345678901234567 90
+T}
+.TE
+.sp
+four columns:
+.TS
+allbox tab(:);
+l l l l.
+a:b:c:T{
+12345678901234 6
+T}
+a:b:c:T{
+12345678901234 67
+T}
+.TE
+.sp
+five columns:
+.TS
+allbox tab(:);
+l l l l l.
+a:b:c:d:T{
+12345678901 3
+T}
+a:b:c:d:T{
+12345678901 34
+T}
+.TE
+.sp
+six columns:
+.TS
+allbox tab(:);
+l l l l l l.
+a:b:c:d:e:T{
+123456789 1
+T}
+a:b:c:d:e:T{
+123456789 12
+T}
+.TE
+.sp
+seven columns:
+.TS
+allbox tab(:);
+l l l l l l l.
+a:b:c:d:e:f:T{
+12345678 0
+T}
+a:b:c:d:e:f:T{
+12345678 01
+T}
+.TE
+.sp
+eight columns:
+.TS
+allbox tab(:);
+l l l l l l l l.
+a:b:c:d:e:f:g:T{
+1234567 9
+T}
+a:b:c:d:e:f:g:T{
+1234567 90
+T}
+.TE
diff --git a/regress/tbl/data/block_width.out_ascii b/regress/tbl/data/block_width.out_ascii
new file mode 100644
index 00000000..b454c5d3
--- /dev/null
+++ b/regress/tbl/data/block_width.out_ascii
@@ -0,0 +1,63 @@
+TBL-DATA-BLOCK_WIDTH(1) General Commands Manual TBL-DATA-BLOCK_WIDTH(1)
+
+NNAAMMEE
+ ttbbll--ddaattaa--bblloocckk__wwiiddtthh - default width of text blocks
+
+DDEESSCCRRIIPPTTIIOONN
+ one column:
+ +----------------------------------------+
+ |1234567890123456789012345678901234567 9 |
+ +----------------------------------------+
+ |1234567890123456789012345678901234567 |
+ |90 |
+ +----------------------------------------+
+ two columns:
+ +--+----------------------------+
+ |a | 123456789012345678901234 6 |
+ +--+----------------------------+
+ |a | 123456789012345678901234 |
+ | | 67 |
+ +--+----------------------------+
+ three columns:
+ +--+---+---------------------+
+ |a | b | 12345678901234567 9 |
+ +--+---+---------------------+
+ |a | b | 12345678901234567 |
+ | | | 90 |
+ +--+---+---------------------+
+ four columns:
+ +--+---+---+------------------+
+ |a | b | c | 12345678901234 6 |
+ +--+---+---+------------------+
+ |a | b | c | 12345678901234 |
+ | | | | 67 |
+ +--+---+---+------------------+
+ five columns:
+ +--+---+---+---+---------------+
+ |a | b | c | d | 12345678901 3 |
+ +--+---+---+---+---------------+
+ |a | b | c | d | 12345678901 |
+ | | | | | 34 |
+ +--+---+---+---+---------------+
+ six columns:
+ +--+---+---+---+---+-------------+
+ |a | b | c | d | e | 123456789 1 |
+ +--+---+---+---+---+-------------+
+ |a | b | c | d | e | 123456789 |
+ | | | | | | 12 |
+ +--+---+---+---+---+-------------+
+ seven columns:
+ +--+---+---+---+---+---+------------+
+ |a | b | c | d | e | f | 12345678 0 |
+ +--+---+---+---+---+---+------------+
+ |a | b | c | d | e | f | 12345678 |
+ | | | | | | | 01 |
+ +--+---+---+---+---+---+------------+
+ eight columns:
+ +--+---+---+---+---+---+---+-----------+
+ |a | b | c | d | e | f | g | 1234567 9 |
+ +--+---+---+---+---+---+---+-----------+
+ |a | b | c | d | e | f | g | 1234567 |
+ | | | | | | | | 90 |
+ +--+---+---+---+---+---+---+-----------+
+OpenBSD June 15, 2017 OpenBSD