version 1.71, 2018/08/18 16:44:55 |
version 1.72, 2018/08/18 20:18:14 |
Line 168 tblcalc(struct rofftbl *tbl, const struct tbl_span *sp |
|
Line 168 tblcalc(struct rofftbl *tbl, const struct tbl_span *sp |
|
} |
} |
|
|
/* |
/* |
|
* Align numbers with text. |
* Count columns to equalize and columns to maximize. |
* Count columns to equalize and columns to maximize. |
* Find maximum width of the columns to equalize. |
* Find maximum width of the columns to equalize. |
* Find total width of the columns *not* to maximize. |
* Find total width of the columns *not* to maximize. |
Line 177 tblcalc(struct rofftbl *tbl, const struct tbl_span *sp |
|
Line 178 tblcalc(struct rofftbl *tbl, const struct tbl_span *sp |
|
ewidth = xwidth = 0; |
ewidth = xwidth = 0; |
for (icol = 0; icol <= maxcol; icol++) { |
for (icol = 0; icol <= maxcol; icol++) { |
col = tbl->cols + icol; |
col = tbl->cols + icol; |
|
if (col->width > col->nwidth) |
|
col->decimal += (col->width - col->nwidth) / 2; |
|
else |
|
col->width = col->nwidth; |
if (col->spacing == SIZE_MAX || icol == maxcol) |
if (col->spacing == SIZE_MAX || icol == maxcol) |
col->spacing = 3; |
col->spacing = 3; |
if (col->flags & TBL_CELL_EQUAL) { |
if (col->flags & TBL_CELL_EQUAL) { |
Line 358 tblcalc_number(struct rofftbl *tbl, struct roffcol *co |
|
Line 363 tblcalc_number(struct rofftbl *tbl, struct roffcol *co |
|
sz += col->decimal - d; |
sz += col->decimal - d; |
d = col->decimal; |
d = col->decimal; |
} else |
} else |
col->width += d - col->decimal; |
col->nwidth += d - col->decimal; |
|
|
if (sz > col->width) |
if (sz > col->nwidth) |
col->width = sz; |
col->nwidth = sz; |
if (d > col->decimal) |
if (d > col->decimal) |
col->decimal = d; |
col->decimal = d; |
} |
} |