--- cairo-1.2.0/src/cairo-ft-font.c +++ cairo-1.2.0/src/cairo-ft-font.c @@ -2154,16 +2154,12 @@ if (options->antialias != CAIRO_ANTIALIAS_DEFAULT) { - if (FcPatternGet (pattern, FC_ANTIALIAS, 0, &v) == FcResultNoMatch) - { + FcPatternDel (pattern, FC_ANTIALIAS); FcPatternAddBool (pattern, FC_ANTIALIAS, options->antialias != CAIRO_ANTIALIAS_NONE); - } } if (options->antialias != CAIRO_ANTIALIAS_DEFAULT) { - if (FcPatternGet (pattern, FC_RGBA, 0, &v) == FcResultNoMatch) - { int rgba; if (options->antialias == CAIRO_ANTIALIAS_SUBPIXEL) { @@ -2187,19 +2183,17 @@ rgba = FC_RGBA_NONE; } + FcPatternDel (pattern, FC_RGBA); FcPatternAddInteger (pattern, FC_RGBA, rgba); - } } if (options->hint_style != CAIRO_HINT_STYLE_DEFAULT) { - if (FcPatternGet (pattern, FC_HINTING, 0, &v) == FcResultNoMatch) - { + + FcPatternDel (pattern, FC_HINTING); FcPatternAddBool (pattern, FC_HINTING, options->hint_style != CAIRO_HINT_STYLE_NONE); - } #ifdef FC_HINT_STYLE - if (FcPatternGet (pattern, FC_HINT_STYLE, 0, &v) == FcResultNoMatch) { int hint_style; @@ -2216,6 +2210,7 @@ break; } + FcPatternDel (pattern, FC_HINT_STYLE); FcPatternAddInteger (pattern, FC_HINT_STYLE, hint_style); } #endif