summaryrefslogtreecommitdiff
path: root/src/ml_cairo_ft.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ml_cairo_ft.c')
-rw-r--r--src/ml_cairo_ft.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ml_cairo_ft.c b/src/ml_cairo_ft.c
index cbb955f..916817a 100644
--- a/src/ml_cairo_ft.c
+++ b/src/ml_cairo_ft.c
@@ -82,12 +82,16 @@ wMake_Val_final_pointer (FcPattern, FcPatternDestroy, 10)
#define UString_val(v) ((unsigned char *) (v))
CAMLprim value
-ml_FcNameParse (value s)
+ml_FcNameParse (value fo, value s)
{
FcPattern *p1, *p2;
FcResult res;
p1 = FcNameParse (UString_val(s));
FcConfigSubstitute (NULL, p1, FcMatchPattern);
+ if (Is_block (fo))
+ {
+ cairo_ft_font_options_substitute (cairo_font_options_t_val (Field (fo, 0)), p1);
+ }
FcDefaultSubstitute (p1);
p2 = FcFontMatch (NULL, p1, &res);
FcPatternDestroy (p1);