diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2015-01-27 05:21:44 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2015-01-27 05:21:44 +0000 |
commit | c516e456aa90607875602699c239832b71f65359 (patch) | |
tree | 7e061471efcf32a09dbaf449f6912c38a6bdc6e3 /mandoc.h | |
parent | b0aec68c2e236344e79a7ee4949b2e5c450d13f8 (diff) | |
download | mandoc-c516e456aa90607875602699c239832b71f65359.tar.gz mandoc-c516e456aa90607875602699c239832b71f65359.tar.zst mandoc-c516e456aa90607875602699c239832b71f65359.zip |
Multiple parser and formatter fixes for line drawing in tbl(7).
* Allow mixing vertical line bars with the layout options
of the preceding layout cell.
* Correctly combine box options with layout lines.
* Correctly print vertical lines in data rows, with the right spacing.
* Correctly print cross markers and left and right ends of
horizontal lines even if vertical lines differ above and below.
* Avoid the bogus error message "no table data cells"
when a table data section starts with a horizontal line.
No increase in code size.
Diffstat (limited to 'mandoc.h')
-rw-r--r-- | mandoc.h | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -1,4 +1,4 @@ -/* $Id: mandoc.h,v 1.189 2015/01/26 18:42:30 schwarze Exp $ */ +/* $Id: mandoc.h,v 1.190 2015/01/27 05:21:44 schwarze Exp $ */ /* * Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org> @@ -206,6 +206,8 @@ struct tbl_opts { #define TBL_OPT_NOSPACE (1 << 6) #define TBL_OPT_NOWARN (1 << 7) int cols; /* number of columns */ + int lvert; /* width of left vertical line */ + int rvert; /* width of right vertical line */ }; /* @@ -215,7 +217,6 @@ struct tbl_opts { */ struct tbl_head { int ident; /* 0 <= unique id < cols */ - int vert; /* width of preceding vertical line */ struct tbl_head *next; struct tbl_head *prev; }; @@ -238,7 +239,7 @@ enum tbl_cellt { */ struct tbl_cell { struct tbl_cell *next; - int vert; /* width of preceding vertical line */ + int vert; /* width of subsequent vertical line */ enum tbl_cellt pos; size_t spacing; int flags; @@ -260,7 +261,7 @@ struct tbl_row { struct tbl_row *next; struct tbl_cell *first; struct tbl_cell *last; - int vert; /* trailing vertical line */ + int vert; /* width of left vertical line */ }; enum tbl_datt { @@ -299,12 +300,13 @@ struct tbl_span { struct tbl_row *layout; /* layout row */ struct tbl_dat *first; struct tbl_dat *last; + struct tbl_span *prev; + struct tbl_span *next; int line; /* parse line */ int flags; #define TBL_SPAN_FIRST (1 << 0) #define TBL_SPAN_LAST (1 << 1) enum tbl_spant pos; - struct tbl_span *next; }; enum eqn_boxt { |