-/* Attempts to load FONT, initializing its other members based on
- its 'string' member and the information in DRIVER. Returns true
- if successful, otherwise false. */
-static bool
-load_font (struct xr_driver *xr, struct xr_font *font)
-{
- PangoContext *context;
- PangoLanguage *language;
-
- font->desc = pango_font_description_from_string (font->string);
- if (font->desc == NULL)
- {
- error (0, 0, _("\"%s\": bad font specification"), font->string);
- return false;
- }
- pango_font_description_set_absolute_size (font->desc, xr->font_height);
-
- font->layout = pango_cairo_create_layout (xr->cairo);
- pango_layout_set_font_description (font->layout, font->desc);
-
- language = pango_language_get_default ();
- context = pango_layout_get_context (font->layout);
- font->metrics = pango_context_get_metrics (context, font->desc, language);
-
- return true;
-}
-
-/* Frees FONT. */
-static void
-free_font (struct xr_font *font)
-{
- free (font->string);
- if (font->desc != NULL)
- pango_font_description_free (font->desc);
- pango_font_metrics_unref (font->metrics);
- if (font->layout != NULL)
- g_object_unref (font->layout);
-}
-