diff -Nur cairo-1.8.6.orig/src/cairo-ft-font.c cairo-1.8.6/src/cairo-ft-font.c --- cairo-1.8.6.orig/src/cairo-ft-font.c 2008-12-12 20:48:04.000000000 +0800 +++ cairo-1.8.6/src/cairo-ft-font.c 2009-02-20 14:56:57.000000000 +0800 @@ -1448,8 +1448,15 @@ if (options->base.hint_style == CAIRO_HINT_STYLE_DEFAULT) options->base.hint_style = other->base.hint_style; - if (other->base.hint_style == CAIRO_HINT_STYLE_NONE) - options->base.hint_style = CAIRO_HINT_STYLE_NONE; + //if (other->base.hint_style == CAIRO_HINT_STYLE_NONE) + //options->base.hint_style = CAIRO_HINT_STYLE_NONE; + + if (other->base.hint_style == CAIRO_HINT_STYLE_NONE || + other->base.hint_style == CAIRO_HINT_STYLE_SLIGHT || + other->base.hint_style == CAIRO_HINT_STYLE_MEDIUM || + other->base.hint_style == CAIRO_HINT_STYLE_FULL) { + options->base.hint_style = other->base.hint_style; + } if (options->base.antialias == CAIRO_ANTIALIAS_NONE) { if (options->base.hint_style == CAIRO_HINT_STYLE_NONE)