{
gchar *s;
- s = data_out_stretchy (&v, encoding, format, NULL);
+ s = data_out_stretchy (&v, encoding, format, settings_get_fmt_settings (),
+ NULL);
if (fmt_is_numeric (format->type))
g_strchug (s);
else
}
value_init (val, width);
- char *err = data_in (ss_cstr (text), UTF8, format->type, val, width, encoding);
+ char *err = data_in (ss_cstr (text), UTF8, format->type,
+ settings_get_fmt_settings (), val, width, encoding);
if (err)
{
const gint n_cols = gtk_tree_model_get_n_columns (GTK_TREE_MODEL (src));
GType *types = g_malloc (sizeof (*types) * n_cols);
- int row = 0;
GtkListStore *dest;
for (i = 0 ; i < n_cols; ++i)
g_value_unset (&val);
}
- row++;
}
g_free (types);
return syntax;
}
+
+
+/* Return the width of an upper case M (in pixels) when rendered onto
+ WIDGET with its current style. */
+gdouble
+width_of_m (GtkWidget *widget)
+{
+ PangoContext *context = gtk_widget_create_pango_context (widget);
+ PangoLayout *layout = pango_layout_new (context);
+ PangoRectangle rect;
+
+ pango_layout_set_text (layout, "M", 1);
+ pango_layout_get_extents (layout, NULL, &rect);
+
+ g_object_unref (G_OBJECT (layout));
+ g_object_unref (G_OBJECT (context));
+
+ return rect.width / (gdouble) PANGO_SCALE;
+}
+