cairo-chart: Use "Sans" instead of "sans serif" as font.
[pspp] / src / output / cairo-chart.c
index 01c5d5c044c45dfb8b1961f813acb392006b9519..fbb1d77c1de75abb23f46a86e66b51a2c4a2c6d9 100644 (file)
@@ -179,7 +179,7 @@ xrchart_label_rotate (cairo_t *cr, int horz_justify, int vert_justify,
   PangoLayout *layout;
   double x, y;
 
-  desc = pango_font_description_from_string ("sans serif");
+  desc = pango_font_description_from_string ("Sans");
   if (desc == NULL)
     {
       cairo_new_path (cr);
@@ -569,3 +569,27 @@ xrchart_line(cairo_t *cr, const struct xrchart_geometry *geom,
   cairo_line_to (cr, x2, y2);
   cairo_stroke (cr);
 }
+
+void
+xrchart_text_extents (cairo_t *cr, const struct xrchart_geometry *geom,
+                     const char *utf8,
+                     double *width, double *height)
+{
+  PangoFontDescription *desc;
+  PangoLayout *layout;
+  int width_pango;
+  int height_pango;
+
+  desc = pango_font_description_from_string ("Sans");
+  if (desc == NULL)
+      return;
+  pango_font_description_set_absolute_size (desc, geom->font_size * PANGO_SCALE);
+  layout = pango_cairo_create_layout (cr);
+  pango_layout_set_font_description (layout, desc);
+  pango_layout_set_text (layout, utf8, -1);
+  pango_layout_get_size (layout, &width_pango, &height_pango);
+  *width = (double) width_pango / PANGO_SCALE;
+  *height = (double) height_pango / PANGO_SCALE;
+  g_object_unref (layout);
+  pango_font_description_free (desc);
+}