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.
This commit is contained in:
Owen Taylor 2005-08-23 13:34:14 +00:00
parent c11f0376d4
commit f229b1abfb
9 changed files with 22 additions and 10 deletions

View file

@ -1,3 +1,18 @@
2005-08-23 Owen Taylor <otaylor@redhat.com>
* src/cairo-ft-font.c (_cairo_ft_scaled_font_show_glyphs):
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
* test/text-antialias-none.c (draw): Don't turn off metrics
hinting, it doesn't make sense.
* test/text-antialias-*-ref.png: Update.
2005-08-23 Carl Worth <cworth@cworth.org>
* CODING_STYLE: Revise the description of indentation and tabs to

View file

@ -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,

View file

@ -141,7 +141,6 @@ a8-mask \
filter-nearest-offset \
pixman-rotate \
self-intersecting \
text-antialias-subpixel \
text-rotate
check_PROGRAMS = $(TESTS)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 723 B

After

Width:  |  Height:  |  Size: 727 B

View file

@ -50,7 +50,6 @@ draw (cairo_t *cr, int width, int height)
font_options = cairo_font_options_create ();
cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE);
cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_OFF);
cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY);
cairo_set_font_options (cr, font_options);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

After

Width:  |  Height:  |  Size: 278 B

View file

@ -50,7 +50,6 @@ draw (cairo_t *cr, int width, int height)
font_options = cairo_font_options_create ();
cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE);
cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_OFF);
cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_NONE);
cairo_set_font_options (cr, font_options);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -57,7 +57,6 @@ draw (cairo_t *cr, int width, int height)
font_options = cairo_font_options_create ();
cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE);
cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_OFF);
cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_SUBPIXEL);
cairo_font_options_set_subpixel_order (font_options, CAIRO_SUBPIXEL_ORDER_RGB);
cairo_set_font_options (cr, font_options);
@ -80,6 +79,5 @@ draw (cairo_t *cr, int width, int height)
int
main (void)
{
return cairo_test_expect_failure (&test, draw,
"Subpixel-antialiased text is not working with the image backend.");
return cairo_test (&test, draw);
}