diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-08-19 07:44:02 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-08-19 07:45:44 -0400 |
commit | 349370c3951f42be04a7171f2df365775dc6e9f9 (patch) | |
tree | 2f6e3e2e5bbd49d48733dc52677292ef5d46d30c | |
parent | ccb686a6fe7ba04c5b5cd675f3a10277e4f2fcb6 (diff) | |
download | pango-349370c3951f42be04a7171f2df365775dc6e9f9.tar.gz |
Use FcFontSetList instead of FcFontListsmall-fontconfig-fixes
We have filtered-by-format lists of fonts available
now, so we should use them to ensure we always operate
on the same set of fonts. Also, fix another case of
passing NULL for the config.
-rw-r--r-- | pango/pangofc-fontmap.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c index 2dc3ab56..2afba387 100644 --- a/pango/pangofc-fontmap.c +++ b/pango/pangofc-fontmap.c @@ -1435,8 +1435,11 @@ ensure_families (PangoFcFontMap *fcfontmap) NULL); FcPattern *pat = FcPatternCreate (); GHashTable *temp_family_hash; + FcFontSet **sets; + int nsets; - fontset = FcFontList (priv->config, pat, os); + sets = pango_fc_font_map_get_config_fonts (fcfontmap, &nsets); + fontset = FcFontSetList (priv->config, sets, nsets, pat, os); FcPatternDestroy (pat); FcObjectSetDestroy (os); @@ -1453,9 +1456,6 @@ ensure_families (PangoFcFontMap *fcfontmap) int variable; PangoFcFamily *temp_family; - if (!pango_fc_is_supported_font_format (fontset->fonts[i])) - continue; - res = FcPatternGetString (fontset->fonts[i], FC_FAMILY, 0, (FcChar8 **)(void*)&s); g_assert (res == FcResultMatch); @@ -2544,6 +2544,8 @@ pango_fc_face_list_sizes (PangoFontFace *face, FcPattern *pattern; FcFontSet *fontset; FcObjectSet *objectset; + FcFontSet **sets; + int nsets; *sizes = NULL; *n_sizes = 0; @@ -2557,7 +2559,8 @@ pango_fc_face_list_sizes (PangoFontFace *face, objectset = FcObjectSetCreate (); FcObjectSetAdd (objectset, FC_PIXEL_SIZE); - fontset = FcFontList (NULL, pattern, objectset); + sets = pango_fc_font_map_get_config_fonts (fcface->family->fontmap, &nsets); + fontset = FcFontSetList (fcface->family->fontmap->priv->config, sets, nsets, pattern, objectset); if (fontset) { |