diff options
author | Owen Taylor <otaylor@redhat.com> | 2005-08-23 13:34:14 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@redhat.com> | 2005-08-23 13:34:14 +0000 |
commit | f229b1abfb01d3c42cba1dec36a271fe75c503a9 (patch) | |
tree | f17f901141811ba03dcc3a251be3364d54e22834 /src | |
parent | c11f0376d4c4aec3ff1c849f333aad2ce56f06bd (diff) |
when creating the temporary mask, do glyph ADD mask, not (glyph IN source) ADD mask. Set the mask as having component alpha when it's 4-channel.
test/text-antialias-subpixel.c test/Makefile.am: No longer XFAIL.
test/text-antialias-gray.c test/text-antialias-subpixel.c
Don't turn off metrics hinting, it doesn't make sense.
Update.
Diffstat (limited to 'src')
-rw-r--r-- | src/cairo-ft-font.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c index 8db223ed..45322e7e 100644 --- a/src/cairo-ft-font.c +++ b/src/cairo-ft-font.c @@ -2024,11 +2024,10 @@ _cairo_ft_scaled_font_show_glyphs (void *abstract_font, _cairo_pattern_init_for_surface (&glyph_pattern, &(entries[i]->image->base)); - status = _cairo_surface_composite (CAIRO_OPERATOR_ADD, pattern, - &glyph_pattern.base, + status = _cairo_surface_composite (CAIRO_OPERATOR_ADD, &glyph_pattern.base, + NULL, mask, - x + entries[i]->size.x, - y + entries[i]->size.y, + 0, 0, 0, 0, x + entries[i]->size.x - dest_x, y + entries[i]->size.y - dest_y, @@ -2041,6 +2040,9 @@ _cairo_ft_scaled_font_show_glyphs (void *abstract_font, goto CLEANUP_MASK; } + if (mask_format == CAIRO_FORMAT_ARGB32) + pixman_image_set_component_alpha (((cairo_image_surface_t *)mask)->pixman_image, TRUE); + _cairo_pattern_init_for_surface (&mask_pattern, mask); status = _cairo_surface_composite (operator, pattern, &mask_pattern.base, |