diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | table.c | 14 |
2 files changed, 18 insertions, 4 deletions
@@ -1,3 +1,9 @@ +2003-05-15 Akinori Ito <aito@fw.ipsj.or.jp> + + * [w3m-dev 03902] Re: table rendering + * table.c (check_relative_width): check n_leftcell + check w <= r + 2003-05-14 ABE Yuji <cbo46560@pop12.odn.ne.jp> * [w3m-dev 03901] body with status-code 401 @@ -7838,4 +7844,4 @@ a * [w3m-dev 03276] compile error on EWS4800 * release-0-2-1 * import w3m-0.2.1 -$Id: ChangeLog,v 1.839 2003/05/13 17:38:47 ukai Exp $ +$Id: ChangeLog,v 1.840 2003/05/14 16:01:32 ukai Exp $ @@ -1,4 +1,4 @@ -/* $Id: table.c,v 1.43 2003/05/13 17:20:33 ukai Exp $ */ +/* $Id: table.c,v 1.44 2003/05/14 16:01:32 ukai Exp $ */ /* * HTML table */ @@ -3525,10 +3525,18 @@ check_relative_width(struct table *t, int maxwidth) else n_leftcell++; } - if (w < r || (w == r && n_leftcell > 0)) { - cell->fixed_width[i] = -100 * r; + if (n_leftcell == 0) { + /* w must be identical to r */ + if (w != r) + cell->fixed_width[i] = -100*r; } else { + if (w <= r) { + /* make room for the left(width-unspecified) cell */ + /* the next formula is an estimation of required width */ + w = r*cell->colspan[i]/(cell->colspan[i]-n_leftcell); + cell->fixed_width[i] = -100*w; + } for (j = 0; j < cell->colspan[i]; j++) { if (rcolwidth[j + k] == 0) rcolwidth[j + k] = (w - r) / n_leftcell; |