- if (cell.style->cell_style.valign != TABLE_VALIGN_TOP)
- fprintf (html->file, " ALIGN=\"%s\"",
- (cell.style->cell_style.valign == TABLE_VALIGN_BOTTOM
- ? "BOTTOM" : "MIDDLE"));
-
- colspan = table_cell_colspan (&cell);
- if (colspan > 1)
- fprintf (html->file, " COLSPAN=\"%d\"", colspan);
-
- rowspan = table_cell_rowspan (&cell);
- if (rowspan > 1)
- fprintf (html->file, " ROWSPAN=\"%d\"", rowspan);
-
- if (html->borders)
- {
- /* Cell borders. */
- int n_borders = 0;
-
- struct cell_color color;
- top = table_get_rule (t, TABLE_VERT, x, y, &color);
- put_border (html->file, &n_borders, top, "top");
-
- if (y + rowspan == table_nr (t))
- {
- bottom = table_get_rule (t, TABLE_VERT, x, y + rowspan,
- &color);
- put_border (html->file, &n_borders, bottom, "bottom");
- }
-
- left = table_get_rule (t, TABLE_HORZ, x, y, &color);
- put_border (html->file, &n_borders, left, "left");
-
- if (x + colspan == table_nc (t))
- {
- right = table_get_rule (t, TABLE_HORZ, x + colspan, y,
- &color);
- put_border (html->file, &n_borders, right, "right");
- }
-
- if (n_borders > 0)
- fputs ("\"", html->file);
- }
-
- putc ('>', html->file);
-
- /* Output cell contents. */
- const char *s = cell.text;
- if (cell.options & TAB_FIX)
- escape_tag (html->file, "TT", s, " ", "<BR>");
- else
- {
- s += strspn (s, CC_SPACES);
- escape_string (html->file, s, " ", "<BR>");