{
struct output_driver driver;
#ifdef HAVE_CAIRO
- struct xr_color fg;
- struct xr_color bg;
+ struct cell_color fg;
+ struct cell_color bg;
#endif
struct file_handle *handle;
char *chart_file_name;
fprintf (html->file, "</PRE>\n");
break;
- case TEXT_ITEM_PARAGRAPH:
- print_title_tag (html->file, "P", s);
- break;
-
case TEXT_ITEM_LOG:
print_title_tag (html->file, "PRE", s); /* should be <P><TT> */
break;
- case TEXT_ITEM_BLANK_LINE:
- fputs ("<BR>", html->file);
- break;
-
case TEXT_ITEM_EJECT_PAGE:
/* Nothing to do. */
break;
html_put_footnote_markers (html, text->footnotes, text->n_footnotes);
}
+static void
+html_put_table_item_layers (struct html_driver *html,
+ const struct table_item_layers *layers)
+{
+ for (size_t i = 0; i < layers->n_layers; i++)
+ {
+ if (i)
+ fputs ("<BR>\n", html->file);
+
+ const struct table_item_layer *layer = &layers->layers[i];
+ escape_string (html->file, layer->content, strlen (layer->content),
+ " ", "<BR>");
+ html_put_footnote_markers (html, layer->footnotes, layer->n_footnotes);
+ }
+}
+
static void
html_output_table (struct html_driver *html, const struct table_item *item)
{
size_t n_footnotes = table_collect_footnotes (item, &f);
for (size_t i = 0; i < n_footnotes; i++)
- if (f[i])
- {
- put_tfoot (html, t, &tfoot);
- fputs ("<SUP>", html->file);
- escape_string (html->file, f[i]->marker, strlen (f[i]->marker),
- " ", "<BR>");
- fputs ("</SUP> ", html->file);
- escape_string (html->file, f[i]->content, strlen (f[i]->content),
- " ", "<BR>");
- }
+ {
+ put_tfoot (html, t, &tfoot);
+ fputs ("<SUP>", html->file);
+ escape_string (html->file, f[i]->marker, strlen (f[i]->marker),
+ " ", "<BR>");
+ fputs ("</SUP> ", html->file);
+ escape_string (html->file, f[i]->content, strlen (f[i]->content),
+ " ", "<BR>");
+ }
free (f);
if (tfoot)
fputs ("</TD></TR></TFOOT>\n", html->file);
fputs ("<TBODY VALIGN=\"TOP\">\n", html->file);
const struct table_item_text *title = table_item_get_title (item);
- const struct table_item_text *layers = table_item_get_layers (item);
+ const struct table_item_layers *layers = table_item_get_layers (item);
if (title || layers)
{
fputs (" <CAPTION>", html->file);
if (title && layers)
fputs ("<BR>\n", html->file);
if (layers)
- html_put_table_item_text (html, layers);
+ html_put_table_item_layers (html, layers);
fputs ("</CAPTION>\n", html->file);
}
/* Output cell contents. */
const char *s = cell.text;
- if (cell.options & TAB_EMPH)
- fputs ("<EM>", html->file);
if (cell.options & TAB_FIX)
{
fputs ("<TT>", html->file);
s += strspn (s, CC_SPACES);
escape_string (html->file, s, strlen (s), " ", "<BR>");
}
- if (cell.options & TAB_EMPH)
- fputs ("</EM>", html->file);
html_put_footnote_markers (html, cell.footnotes, cell.n_footnotes);