cr = gdk_cairo_create (GTK_WIDGET (pod->viewer)->window);
if (pod->xr == NULL)
- pod->xr = xr_create_driver (cr);
+ {
+ const GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (viewer));
+ struct string_map options = STRING_MAP_INITIALIZER (options);
+ PangoFontDescription *font_desc;
+ char *font_name;
+
+ /* Use GTK+ default font as proportional font. */
+ font_name = pango_font_description_to_string (style->font_desc);
+ string_map_insert (&options, "prop-font", font_name);
+ g_free (font_name);
+
+ /* Derived emphasized font from proportional font. */
+ font_desc = pango_font_description_copy (style->font_desc);
+ pango_font_description_set_style (font_desc, PANGO_STYLE_ITALIC);
+ font_name = pango_font_description_to_string (font_desc);
+ string_map_insert (&options, "emph-font", font_name);
+ g_free (font_name);
+ pango_font_description_free (font_desc);
+
+ pod->xr = xr_driver_create (cr, &options);
+
+ string_map_destroy (&options);
+ }
r = xr_rendering_create (pod->xr, item, cr);
if (r == NULL)
string_map_insert (&options, "output-file", filename);
if (filter == pdf_filter)
{
- string_map_insert (&options, "output-type", "pdf");
- export_output (window, &options, "cairo");
+ export_output (window, &options, "pdf");
}
else if (filter == html_filter)
export_output (window, &options, "html");
else if (filter == odt_filter)
- export_output (window, &options, "odf");
+ export_output (window, &options, "odt");
else if (filter == txt_filter)
{
string_map_insert (&options, "headers", "false");
string_map_insert (&options, "paginate", "false");
string_map_insert (&options, "squeeze", "true");
string_map_insert (&options, "emphasis", "none");
- string_map_insert (&options, "chart-type", "none");
+ string_map_insert (&options, "charts", "none");
string_map_insert (&options, "top-margin", "0");
string_map_insert (&options, "bottom-margin", "0");
- export_output (window, &options, "ascii");
+ export_output (window, &options, "txt");
}
else if (filter == ps_filter)
- {
- string_map_insert (&options, "output-type", "ps");
- export_output (window, &options, "cairo");
- }
+ export_output (window, &options, "ps");
else if (filter == csv_filter)
export_output (window, &options, "csv");
else