output: Add support for Pango markup of fonts and styles.
[pspp] / src / output / odt.c
index 1d430eac5a355b234bef250e95cc7464ee6e1b44..f0143515e0aac73f6a18aff018901ecc2e416a9a 100644 (file)
@@ -530,7 +530,16 @@ write_table (struct odt_driver *odt, const struct table_item *item)
                   else
                     xmlTextWriterWriteAttribute (odt->content_wtr, _xml("text:style-name"), _xml("Table_20_Contents"));
 
-                  write_xml_with_line_breaks (odt, contents->text);
+                  if (contents->options & TAB_MARKUP)
+                    {
+                      /* XXX */
+                      char *s = output_get_text_from_markup (
+                        contents->text);
+                      write_xml_with_line_breaks (odt, s);
+                      free (s);
+                    }
+                  else
+                    write_xml_with_line_breaks (odt, contents->text);
 
                   for (j = 0; j < contents->n_footnotes; j++)
                     write_footnote (odt, contents->footnotes[j]);
@@ -578,17 +587,11 @@ odt_submit (struct output_driver *driver,
   if (is_table_item (output_item))
     write_table (odt, to_table_item (output_item));
   else if (is_text_item (output_item))
-    {
-      struct text_item *text_item = to_text_item (output_item);
-
-      if (text_item_get_type (text_item) != TEXT_ITEM_COMMAND_CLOSE)
-        odt_output_text (odt, text_item_get_text (text_item));
-    }
+    odt_output_text (odt, text_item_get_text (to_text_item (output_item)));
   else if (is_message_item (output_item))
     {
       const struct message_item *message_item = to_message_item (output_item);
-      const struct msg *msg = message_item_get_msg (message_item);
-      char *s = msg_to_string (msg, message_item->command_name);
+      char *s = msg_to_string (message_item_get_msg (message_item));
       odt_output_text (odt, s);
       free (s);
     }