commit 335eb1308a2ecf5f8388f0c8cad177c38ff739da
parent 805138d9f5767113af79a81961bae0acb7970994
Author: ukai <ukai>
Date: Tue, 12 Mar 2002 16:59:50 +0000
[w3m-dev 03116] Re: aligned block in <td align="center">
* file.c (flushline): align if align="align"
* fm.h (RB_LEFT): change value
(RB_ALIGN): include RB_LEFT
(RB_INTABLE): added
* table.c (do_refill): obuf.flag |= RB_INTABLE
From: Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
Diffstat:
4 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,12 @@
+2002-03-13 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
+
+ * [w3m-dev 03116] Re: aligned block in <td align="center">
+ * file.c (flushline): align if align="align"
+ * fm.h (RB_LEFT): change value
+ (RB_ALIGN): include RB_LEFT
+ (RB_INTABLE): added
+ * table.c (do_refill): obuf.flag |= RB_INTABLE
+
2002-03-11 WATANABE Katsuyuki <katsuyuki_1.watanabe@toppan.co.jp>
* [w3m-dev 03110] Re: gopher broken
diff --git a/file.c b/file.c
@@ -2470,6 +2470,9 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent,
else if (RB_GET_ALIGN(obuf) == RB_RIGHT) {
align(lbuf, width, ALIGN_RIGHT);
}
+ else if (RB_GET_ALIGN(obuf) == RB_LEFT && obuf->flag & RB_INTABLE) {
+ align(lbuf, width, ALIGN_LEFT);
+ }
#ifdef FORMAT_NICE
else if (obuf->flag & RB_FILL) {
char *p;
diff --git a/fm.h b/fm.h
@@ -517,10 +517,10 @@ struct readbuffer {
#define RB_XMPMODE 0x02
#define RB_LSTMODE 0x04
#define RB_PLAIN 0x08
-#define RB_LEFT 0x00
+#define RB_LEFT 0x80000
#define RB_CENTER 0x10
#define RB_RIGHT 0x20
-#define RB_ALIGN (RB_CENTER | RB_RIGHT)
+#define RB_ALIGN (RB_LEFT| RB_CENTER | RB_RIGHT)
#define RB_NOBR 0x40
#define RB_P 0x80
#define RB_PRE_INT 0x100
@@ -537,6 +537,7 @@ struct readbuffer {
#define RB_TITLE 0x8000
#define RB_NFLUSHED 0x10000
#define RB_NOFRAMES 0x20000
+#define RB_INTABLE 0x40000
#ifdef FORMAT_NICE
#define RB_FILL 0x200000
diff --git a/table.c b/table.c
@@ -758,6 +758,7 @@ do_refill(struct table *tbl, int row, int col, int maxlimit)
init_henv(&h_env, &obuf, envs, MAX_ENV_LEVEL,
(TextLineList *)tbl->tabdata[row][col],
get_spec_cell_width(tbl, row, col), 0);
+ obuf.flag |= RB_INTABLE;
if (h_env.limit > maxlimit)
h_env.limit = maxlimit;
if (tbl->border_mode != BORDER_NONE && tbl->vcellpadding > 0)