gdi32: Return valid anti-alias format bitmaps if the glyph is a monochrome bitmap.

This commit is contained in:
Huw Davies 2011-11-16 11:20:51 +00:00 committed by Alexandre Julliard
parent f3fab96393
commit 6c9c9107d4
1 changed files with 2 additions and 4 deletions

View File

@ -5289,9 +5289,7 @@ static DWORD get_glyph_outline(GdiFont *incoming_font, UINT glyph, UINT format,
} }
if(ft_face->glyph->format != ft_glyph_format_outline && if(ft_face->glyph->format != ft_glyph_format_outline &&
(format == GGO_NATIVE || format == GGO_BEZIER || (format == GGO_NATIVE || format == GGO_BEZIER))
format == GGO_GRAY2_BITMAP || format == GGO_GRAY4_BITMAP ||
format == GGO_GRAY8_BITMAP))
{ {
TRACE("loaded a bitmap\n"); TRACE("loaded a bitmap\n");
return GDI_ERROR; return GDI_ERROR;
@ -5369,7 +5367,7 @@ static DWORD get_glyph_outline(GdiFont *incoming_font, UINT glyph, UINT format,
memset( buf, 0, needed ); memset( buf, 0, needed );
while(h--) { while(h--) {
for(x = 0; x < pitch && x < ft_face->glyph->bitmap.width; x++) for(x = 0; x < pitch && x < ft_face->glyph->bitmap.width; x++)
if (src[x / 8] & (1 << ( (7 - (x % 8))))) dst[x] = 0xff; if (src[x / 8] & (1 << ( (7 - (x % 8))))) dst[x] = max_level;
src += ft_face->glyph->bitmap.pitch; src += ft_face->glyph->bitmap.pitch;
dst += pitch; dst += pitch;
} }