diff options
Diffstat (limited to 'util/cairo-script/cairo-script-operators.c')
-rw-r--r-- | util/cairo-script/cairo-script-operators.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/util/cairo-script/cairo-script-operators.c b/util/cairo-script/cairo-script-operators.c index d4af3126e..0d6cafc37 100644 --- a/util/cairo-script/cairo-script-operators.c +++ b/util/cairo-script/cairo-script-operators.c @@ -1946,6 +1946,18 @@ _ft_create_for_pattern (csi_t *ctx, } pattern = FcNameParse (bytes); + if (!pattern) + { + /* Fontconfig's representation of charset changed mid 2014; + * We used to record charset before that. Remove everything + * after charset if that's present, and try again. */ + char *s = strstr ((char *) bytes, ":charset="); + if (s) + { + *s = '\0'; + pattern = FcNameParse (bytes); + } + } if (bytes != tmpl.bytes) _csi_free (ctx, bytes); |