[pango/serialization-improvements] test-layout: Use an fc fontmap




commit 4be56840ddead48d8b4f6d63775eb3fafc764f9d
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Nov 24 21:39:24 2021 -0500

    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 <pango/pangocairo.h>
+#include <pango/pangocairo-fc.h>
 #include <pango/pangofc-fontmap.h>
 #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 ("<?xml version=\"1.0\"?>\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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]