From c516e456aa90607875602699c239832b71f65359 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Tue, 27 Jan 2015 05:21:44 +0000 Subject: 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. --- mandoc.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'mandoc.h') diff --git a/mandoc.h b/mandoc.h index 02c404fc..82d6fd7a 100644 --- a/mandoc.h +++ b/mandoc.h @@ -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 * Copyright (c) 2010-2015 Ingo Schwarze @@ -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 { -- cgit v1.2.3