Revert "gdi32: Pre-multiply RGB values by alpha for subpixel font rendering."
This reverts commit aff0eac21b7d66a0ba4869cade6368a988ab34ee. The RGB
values are already alpha values, they don't need to be pre-multiplied.
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 53732c4..ddb3d24 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -5025,22 +5025,19 @@
{
for ( x = 0; x < src_width / hmul; x++ )
{
- unsigned int alpha = (src[hmul * x + rgb_interval * 0] +
- src[hmul * x + rgb_interval * 1] +
- src[hmul * x + rgb_interval * 2]) / 3;
if ( rgb )
{
- dst[x] = ((src[hmul * x + rgb_interval * 0] * alpha / 255) << 16) |
- ((src[hmul * x + rgb_interval * 1] * alpha / 255) << 8) |
- ((src[hmul * x + rgb_interval * 2] * alpha / 255) << 0) |
- (alpha << 24);
+ dst[x] = ((unsigned int)src[hmul * x + rgb_interval * 0] << 16) |
+ ((unsigned int)src[hmul * x + rgb_interval * 1] << 8) |
+ ((unsigned int)src[hmul * x + rgb_interval * 2] << 0) |
+ ((unsigned int)src[hmul * x + rgb_interval * 1] << 24) ;
}
else
{
- dst[x] = ((src[hmul * x + rgb_interval * 2] * alpha / 255) << 16) |
- ((src[hmul * x + rgb_interval * 1] * alpha / 255) << 8) |
- ((src[hmul * x + rgb_interval * 0] * alpha / 255) << 0) |
- (alpha << 24);
+ dst[x] = ((unsigned int)src[hmul * x + rgb_interval * 2] << 16) |
+ ((unsigned int)src[hmul * x + rgb_interval * 1] << 8) |
+ ((unsigned int)src[hmul * x + rgb_interval * 0] << 0) |
+ ((unsigned int)src[hmul * x + rgb_interval * 1] << 24) ;
}
}
src += src_pitch * vmul;