From 4be56840ddead48d8b4f6d63775eb3fafc764f9d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 24 Nov 2021 21:39:24 -0500 Subject: test-layout: Use an fc fontmap Our new, more precise font checks rely on data from fontconfig to identify fonts uniquely. So make sure that we use a custom fc fontmap, if we have one. --- tests/test-layout.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/test-layout.c b/tests/test-layout.c index 93a6118f..5a260f99 100644 --- a/tests/test-layout.c +++ b/tests/test-layout.c @@ -29,6 +29,7 @@ #include "config.h" #include +#include #include #include "test-common.h" @@ -46,6 +47,12 @@ test_layout (gconstpointer d) PangoContext *context; PangoLayout *layout; + if (!PANGO_IS_FC_FONT_MAP (pango_cairo_font_map_get_default ())) + { + g_test_skip ("Not an fc fontmap. Skipping..."); + return; + } + char *old_locale = g_strdup (setlocale (LC_ALL, NULL)); setlocale (LC_ALL, "en_US.UTF-8"); if (strstr (setlocale (LC_ALL, NULL), "en_US") == NULL) @@ -104,6 +111,8 @@ install_fonts (const char *dir) PangoFontMap *map; char *conf; + map = g_object_new (PANGO_TYPE_CAIRO_FC_FONT_MAP, NULL); + config = FcConfigCreate (); conf = g_strdup_printf ("\n" @@ -118,9 +127,12 @@ install_fonts (const char *dir) g_free (conf); FcConfigAppFontAddDir (config, (const FcChar8 *) dir); - map = pango_cairo_font_map_get_default (); pango_fc_font_map_set_config (PANGO_FC_FONT_MAP (map), config); FcConfigDestroy (config); + + pango_cairo_font_map_set_default (PANGO_CAIRO_FONT_MAP (map)); + + g_object_unref (map); } int -- cgit v1.2.1