X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=src%2Foutput%2Fhtml.c;h=f28476eae6661d05d27ce3fdfe0bcfb4af47b465;hb=086c00aa4c7e11ef10cdb20a3afc2ba9caa464ec;hp=959519e46e1b4e2a961dfbe9236b98a618b0c4fa;hpb=6fd821e557390a8f86f37c192fd1a4c4e057c9c3;p=pspp diff --git a/src/output/html.c b/src/output/html.c index 959519e46e..f28476eae6 100644 --- a/src/output/html.c +++ b/src/output/html.c @@ -50,8 +50,8 @@ struct html_driver { 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; @@ -279,18 +279,10 @@ html_submit (struct output_driver *driver, fprintf (html->file, "\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
*/
break;
- case TEXT_ITEM_BLANK_LINE:
- fputs ("
", html->file);
- break;
-
case TEXT_ITEM_EJECT_PAGE:
/* Nothing to do. */
break;
@@ -427,6 +419,22 @@ html_put_table_item_text (struct html_driver *html,
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 ("
\n", html->file);
+
+ const struct table_item_layer *layer = &layers->layers[i];
+ escape_string (html->file, layer->content, strlen (layer->content),
+ " ", "
");
+ html_put_footnote_markers (html, layer->footnotes, layer->n_footnotes);
+ }
+}
+
static void
html_output_table (struct html_driver *html, const struct table_item *item)
{
@@ -446,16 +454,15 @@ 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 ("", html->file);
- escape_string (html->file, f[i]->marker, strlen (f[i]->marker),
- " ", "
");
- fputs (" ", html->file);
- escape_string (html->file, f[i]->content, strlen (f[i]->content),
- " ", "
");
- }
+ {
+ put_tfoot (html, t, &tfoot);
+ fputs ("", html->file);
+ escape_string (html->file, f[i]->marker, strlen (f[i]->marker),
+ " ", "
");
+ fputs (" ", html->file);
+ escape_string (html->file, f[i]->content, strlen (f[i]->content),
+ " ", "
");
+ }
free (f);
if (tfoot)
fputs ("\n", html->file);
@@ -463,7 +470,7 @@ html_output_table (struct html_driver *html, const struct table_item *item)
fputs ("\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 ("
\n", html->file);
if (layers)
- html_put_table_item_text (html, layers);
+ html_put_table_item_layers (html, layers);
fputs ("
");
}
- if (cell.options & TAB_EMPH)
- fputs ("", html->file);
html_put_footnote_markers (html, cell.footnotes, cell.n_footnotes);
@@ -576,7 +587,6 @@ html_output_table (struct html_driver *html, const struct table_item *item)
next_1:
x = cell.d[TABLE_HORZ][1];
- table_cell_free (&cell);
}
fputs (" \n", html->file);
}