From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 5923 invoked from network); 7 Sep 2021 14:56:40 -0000 Received: from bsd.lv (HELO mandoc.bsd.lv) (66.111.2.12) by inbox.vuxu.org with ESMTPUTF8; 7 Sep 2021 14:56:40 -0000 Received: from fantadrom.bsd.lv (localhost [127.0.0.1]) by mandoc.bsd.lv (OpenSMTPD) with ESMTP id 1e4e3b56 for ; Tue, 7 Sep 2021 09:56:38 -0500 (EST) Received: from localhost (mandoc.bsd.lv [local]) by mandoc.bsd.lv (OpenSMTPD) with ESMTPA id b5980644 for ; Tue, 7 Sep 2021 09:56:38 -0500 (EST) Date: Tue, 7 Sep 2021 09:56:38 -0500 (EST) X-Mailinglist: mandoc-source Reply-To: source@mandoc.bsd.lv MIME-Version: 1.0 From: schwarze@mandoc.bsd.lv To: source@mandoc.bsd.lv Subject: mandoc: Correctly calculate required column widths for tables containing X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Message-ID: Log Message: ----------- Correctly calculate required column widths for tables containing cells that horizontally span columns which contains "n" (number) formatted cells on other rows. This requires updating total column widths from "n" formatted cells before starting width distribution from the spanning cells to their constituent columns. Modified Files: -------------- mandoc: out.c mandoc/regress/tbl/layout: span.in span.out_ascii Revision Data ------------- Index: out.c =================================================================== RCS file: /home/cvs/mandoc/mandoc/out.c,v retrieving revision 1.80 retrieving revision 1.81 diff -Lout.c -Lout.c -u -p -r1.80 -r1.81 --- out.c +++ out.c @@ -1,7 +1,8 @@ /* $Id$ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons - * Copyright (c) 2011,2014,2015,2017,2018 Ingo Schwarze + * Copyright (c) 2011, 2014, 2015, 2017, 2018, 2019, 2021 + * Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -354,8 +355,6 @@ tblcalc(struct rofftbl *tbl, const struc col = tbl->cols + icol; if (col->width > col->nwidth) col->decimal += (col->width - col->nwidth) / 2; - else - col->width = col->nwidth; if (col->flags & TBL_CELL_EQUAL) { necol++; if (ewidth < col->width) @@ -563,5 +562,7 @@ tblcalc_number(struct rofftbl *tbl, stru if (totsz > col->nwidth) col->nwidth = totsz; + if (col->nwidth > col->width) + col->width = col->nwidth; return totsz; } Index: span.in =================================================================== RCS file: /home/cvs/mandoc/mandoc/regress/tbl/layout/span.in,v retrieving revision 1.5 retrieving revision 1.6 diff -Lregress/tbl/layout/span.in -Lregress/tbl/layout/span.in -u -p -r1.5 -r1.6 --- regress/tbl/layout/span.in +++ regress/tbl/layout/span.in @@ -1,5 +1,5 @@ -.\" $OpenBSD: span.in,v 1.5 2017/07/04 14:53:27 schwarze Exp $ -.TH TBL-LAYOUT-SPAN 1 "June 17, 2017" +.\" $OpenBSD: span.in,v 1.6 2021/09/07 14:50:56 schwarze Exp $ +.TH TBL-LAYOUT-SPAN 1 "September 7, 2021" .SH NAME tbl-layout-span \- alignment of spanned cells .SH DESCRIPTION @@ -48,6 +48,15 @@ R R R R R. a:b:c:d:e s1:s2 a:b:c:d:e +.TE +.sp +.TS +allbox tab(:); +L S +L N. +x***nnnnn +a:0.01 +b:10.0 .TE .sp leaked tab settings: Index: span.out_ascii =================================================================== RCS file: /home/cvs/mandoc/mandoc/regress/tbl/layout/span.out_ascii,v retrieving revision 1.6 retrieving revision 1.7 diff -Lregress/tbl/layout/span.out_ascii -Lregress/tbl/layout/span.out_ascii -u -p -r1.6 -r1.7 --- regress/tbl/layout/span.out_ascii +++ regress/tbl/layout/span.out_ascii @@ -34,7 +34,15 @@ DDEESSCCRRIIPPTTIIOONN +--+---+---+---+---+ |a | b | c | d | e | +--+---+---+---+---+ + + +----------+ + |x***nnnnn | + +--+-------+ + |a | 0.01 | + +--+-------+ + |b | 10.0 | + +--+-------+ leaked tab settings: a b c d e f -OpenBSD June 17, 2017 TBL-LAYOUT-SPAN(1) +OpenBSD September 7, 2021 TBL-LAYOUT-SPAN(1) -- To unsubscribe send an email to source+unsubscribe@mandoc.bsd.lv