diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-11-26 23:03:16 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-11-26 23:27:46 -0500 |
commit | 99d6b3fc3c5eb96b836a5ce934e6628c4217d623 (patch) | |
tree | 923533e9893e1de4c5d728bb58c4227a6bc159a6 /tests | |
parent | 2d02c2dd130c809bcc754aa9048f643ea0f80470 (diff) | |
download | pango-99d6b3fc3c5eb96b836a5ce934e6628c4217d623.tar.gz |
tests: Fix font setup for Emoji
We need to copy the scale hack for bitmaps.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/fonts/fonts.conf | 65 | ||||
-rw-r--r-- | tests/test-layout.c | 11 |
2 files changed, 70 insertions, 6 deletions
diff --git a/tests/fonts/fonts.conf b/tests/fonts/fonts.conf new file mode 100644 index 00000000..5ff7022b --- /dev/null +++ b/tests/fonts/fonts.conf @@ -0,0 +1,65 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"> +<fontconfig> + <cachedir>/tmp/cache</cachedir> + + <match target="font"> + <test name="outline" compare="eq"> + <bool>false</bool> + </test> + <edit name="pixelsizefixupfactor" mode="assign"> + <divide> + <name target="pattern">pixelsize</name> + <name target="font">pixelsize</name> + </divide> + </edit> + </match> + + <match target="font"> + <test name="outline" compare="eq"> + <bool>false</bool> + </test> + <test name="pixelsizefixupfactor" compare="not_eq"> + <double>1.0</double> + </test> + <edit name="matrix" mode="assign"> + <times> + <name>matrix</name> + <matrix> + <name>pixelsizefixupfactor</name> <double>0</double> + <double>0</double> <name>pixelsizefixupfactor</name> + </matrix> + </times> + </edit> + <edit name="size" mode="assign"> + <divide> + <name>size</name> + <name>pixelsizefixupfactor</name> + </divide> + </edit> + </match> + + <alias binding="same"> + <family>Noto Color Emoji</family> + <default><family>emoji</family></default> + </alias> + + <match> + <test name="lang"> + <string>und-zsye</string> + </test> + <test qual="all" name="family" compare="not_eq"> + <string>emoji</string> + </test> + <edit name="family" mode="append" binding="strong"> + <string>emoji</string> + </edit> + </match> + + <alias binding="same"> + <family>emoji</family> + <prefer> + <family>Noto Color Emoji</family> + </prefer> + </alias> +</fontconfig> diff --git a/tests/test-layout.c b/tests/test-layout.c index 62aba460..3ea3063d 100644 --- a/tests/test-layout.c +++ b/tests/test-layout.c @@ -109,22 +109,22 @@ install_fonts (const char *dir) { FcConfig *config; PangoFontMap *map; + char *path; + gsize len; char *conf; map = g_object_new (PANGO_TYPE_CAIRO_FC_FONT_MAP, NULL); config = FcConfigCreate (); - conf = g_strdup_printf ("<?xml version=\"1.0\"?>\n" - "<!DOCTYPE fontconfig SYSTEM \"urn:fontconfig:fonts.dtd\">\n" - "<fontconfig>\n" - " <cachedir>%s/cache</cachedir>\n" - "</fontconfig>", dir); + path = g_test_build_filename (G_TEST_DIST, "fonts/fonts.conf", NULL); + g_file_get_contents (path, &conf, &len, NULL); if (!FcConfigParseAndLoadFromMemory (config, (const FcChar8 *) conf, TRUE)) g_error ("Failed to parse fontconfig configuration"); g_free (conf); + g_free (path); FcConfigAppFontAddDir (config, (const FcChar8 *) dir); pango_fc_font_map_set_config (PANGO_FC_FONT_MAP (map), config); @@ -150,7 +150,6 @@ main (int argc, char *argv[]) }; setlocale (LC_ALL, ""); - option_context = g_option_context_new (""); g_option_context_add_main_entries (option_context, entries, NULL); g_option_context_set_ignore_unknown_options (option_context, TRUE); |