diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-07-09 10:11:12 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-07-09 10:11:12 -0400 |
commit | 17a5ef13fd5052ab2c640b192f0e8e5bf30b617a (patch) | |
tree | 87e16a315ab1a721abc78a5d0a2a8741bbf3ffbe /pango/pangofc-fontmap.c | |
parent | 1f104f1411c0cf0a5945d759936ba9dad7f33aef (diff) | |
download | pango-17a5ef13fd5052ab2c640b192f0e8e5bf30b617a.tar.gz |
fontconfig: Ignore woff fontswoff-off
harfbuzz creates a face, but doesn't seem to find
any glyphs in woff fonts, so filter them out.
Sadly, fontfonfig does not have useful format information
about this, so we need to crudely filter by filename.
Diffstat (limited to 'pango/pangofc-fontmap.c')
-rw-r--r-- | pango/pangofc-fontmap.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c index 7ea5dc52..aada1909 100644 --- a/pango/pangofc-fontmap.c +++ b/pango/pangofc-fontmap.c @@ -962,12 +962,20 @@ pango_fc_is_supported_font_format (FcPattern* pattern) { FcResult res; const char *fontformat; + const char *file; + + /* Harfbuzz loads woff fonts, but we don't get any glyphs */ + res = FcPatternGetString (pattern, FC_FILE, 0, (FcChar8 **)(void*)&file); + if (res == FcResultMatch && + (g_str_has_suffix (file, ".woff") || + g_str_has_suffix (file, ".woff2"))) + return FALSE; res = FcPatternGetString (pattern, FC_FONTFORMAT, 0, (FcChar8 **)(void*)&fontformat); if (res != FcResultMatch) return FALSE; - /* harfbuzz supports only SFNT fonts. */ + /* Harfbuzz supports only SFNT fonts. */ /* FIXME: "CFF" is used for both CFF in OpenType and bare CFF files, but * HarfBuzz does not support the later and FontConfig does not seem * to have a way to tell them apart. |