src/fcmatch.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) New commits: commit 6d1d44d5ec5100a3db850dddd7b4e4196e8a5cdb Author: Behdad Esfahbod <behdad@xxxxxxxxxx> Date: Tue Dec 19 15:51:16 2017 -0500 Let pattern FC_FONT_VARIATIONS override standard axis variations Ie. flip the merge order. diff --git a/src/fcmatch.c b/src/fcmatch.c index 4656417..22c3784 100644 --- a/src/fcmatch.c +++ b/src/fcmatch.c @@ -540,12 +540,7 @@ FcFontRenderPrepare (FcConfig *config, FcPatternObjectGetBool (font, FC_VARIABLE_OBJECT, 0, &variable); assert (variable != FcDontCare); if (variable) - { - FcChar8 *vars = NULL; FcStrBufInit (&variations, NULL, 0); - if (FcPatternObjectGetString (pat, FC_FONT_VARIATIONS_OBJECT, 0, &vars) == FcResultMatch) - FcStrBufString (&variations, vars); - } new = FcPatternCreate (); if (!new) @@ -739,11 +734,18 @@ FcFontRenderPrepare (FcConfig *config, } } - if (variable) + if (variable && variations.len) { - FcPatternObjectDel (new, FC_FONT_VARIATIONS_OBJECT); - FcPatternObjectAddString (new, FC_FONT_VARIATIONS_OBJECT, FcStrBufDoneStatic (&variations)); - FcStrBufDestroy (&variations); + FcChar8 *vars = NULL; + if (FcPatternObjectGetString (new, FC_FONT_VARIATIONS_OBJECT, 0, &vars) == FcResultMatch) + { + FcStrBufChar (&variations, ','); + FcStrBufString (&variations, vars); + FcPatternObjectDel (new, FC_FONT_VARIATIONS_OBJECT); + } + + FcPatternObjectAddString (new, FC_FONT_VARIATIONS_OBJECT, FcStrBufDoneStatic (&variations)); + FcStrBufDestroy (&variations); } FcConfigSubstituteWithPat (config, new, pat, FcMatchFont); _______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/fontconfig