From ac5acc45383f7ada422dec3e7c8a71bdb041fc8a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 17 Sep 2017 10:54:04 -0400 Subject: [PATCH] Load font variations from fontconfig too When extracting font options from a fontconfig pattern, also extract font variation information if present. --- src/cairo-ft-font.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c index 7f23eb787..40bc57bed 100644 --- a/src/cairo-ft-font.c +++ b/src/cairo-ft-font.c @@ -1714,6 +1714,7 @@ _get_pattern_ft_options (FcPattern *pattern, cairo_ft_options_t *ret) #ifdef FC_HINT_STYLE int hintstyle; #endif + char *variations; _cairo_font_options_init_default (&ft_options.base); ft_options.load_flags = FT_LOAD_DEFAULT; @@ -1855,6 +1856,13 @@ _get_pattern_ft_options (FcPattern *pattern, cairo_ft_options_t *ret) if (embolden) ft_options.synth_flags |= CAIRO_FT_SYNTHESIZE_BOLD; +#ifndef FC_FONT_VARIATIONS +#define FC_FONT_VARIATIONS "fontvariations" +#endif + if (FcPatternGetString (pattern, FC_FONT_VARIATIONS, 0, (FcChar8 **) &variations) == FcResultMatch) { + ft_options.base.variations = strdup (variations); + } + *ret = ft_options; } #endif