summaryrefslogtreecommitdiff
path: root/util/cairo-script/cairo-script-operators.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/cairo-script/cairo-script-operators.c')
-rw-r--r--util/cairo-script/cairo-script-operators.c12
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);