diff options
author | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-01-28 14:42:30 +0000 |
---|---|---|
committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-01-28 14:42:30 +0000 |
commit | 4c805fe5095c72a76b528b6195b4688dd26d1153 (patch) | |
tree | a56842d62b77aa9354d24644e7ad8dee14f63665 /table.c | |
parent | [w3m-dev 02918] fixed scripts/w3mmail.cgi.in (diff) | |
download | w3m-4c805fe5095c72a76b528b6195b4688dd26d1153.tar.gz w3m-4c805fe5095c72a76b528b6195b4688dd26d1153.zip |
[w3m-dev 02919] wrong table width calculation
* table.c (set_table_matrix0): refine width calculation
From: Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
Diffstat (limited to '')
-rw-r--r-- | table.c | 24 |
1 files changed, 6 insertions, 18 deletions
@@ -1,4 +1,4 @@ -/* $Id: table.c,v 1.17 2002/01/25 17:25:44 ukai Exp $ */ +/* $Id: table.c,v 1.18 2002/01/28 14:42:30 ukai Exp $ */ /* * HTML table */ @@ -3216,7 +3216,7 @@ set_table_matrix0(struct table *t, int maxwidth) int size = t->maxcol + 1; int i, j, k, bcol, ecol; int width; - double w0, w1, w, e, s, b; + double w0, w1, w, s, b; #ifdef __GNUC__ double we[size]; char expand[size]; @@ -3249,22 +3249,14 @@ set_table_matrix0(struct table *t, int maxwidth) j = cell->eindex[k]; bcol = cell->col[j]; ecol = bcol + cell->colspan[j]; - for (i = bcol; i < ecol; i++) { - expand[i]++; - } - } - - for (k = 0; k < cell->necell; k++) { - j = cell->eindex[k]; - bcol = cell->col[j]; - ecol = bcol + cell->colspan[j]; width = cell->width[j] - (cell->colspan[j] - 1) * t->cellspacing; - e = 0.; + w1 = 0.; for (i = bcol; i < ecol; i++) { - e += expand[i]; + w1 += t->tabwidth[i] + 0.1; + expand[i]++; } for (i = bcol; i < ecol; i++) { - w = weight(width * expand[i] / e); + w = weight(width * (t->tabwidth[i] + 0.1) / w1); if (w > we[i]) we[i] = w; } @@ -3286,11 +3278,7 @@ set_table_matrix0(struct table *t, int maxwidth) width = cell->width[j] - (cell->colspan[j] - 1) * t->cellspacing; w = weight(width); s = w / (w1 + w); -#if 0 - b = sigma_td_nw((int)(s * maxwidth * cell->colspan[j])); -#else b = sigma_td_nw((int)(s * maxwidth)); -#endif correct_table_matrix4(t, bcol, cell->colspan[j], expand, s, b); } |