From 6a8f14d9633b330fb8051581828a0aaf4403d1a9 Mon Sep 17 00:00:00 2001 From: "reed@google.com" Date: Tue, 27 Sep 2011 12:54:24 +0000 Subject: [PATCH] doh -- fix conversion to BW from color/gray git-svn-id: http://skia.googlecode.com/svn/trunk@2335 2bbb7eff-a529-9590-31e7-b0007b416f81 --- src/ports/SkFontHost_win.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ports/SkFontHost_win.cpp b/src/ports/SkFontHost_win.cpp index 2c18e42..5f70c86 100755 --- a/src/ports/SkFontHost_win.cpp +++ b/src/ports/SkFontHost_win.cpp @@ -750,7 +750,7 @@ static void rgb_to_bw(const SkGdiRGB* SK_RESTRICT src, size_t srcRB, byte |= (src[5] ^ xorMask) & (1 << 2); byte |= (src[6] ^ xorMask) & (1 << 1); byte |= (src[7] ^ xorMask) & (1 << 0); - dst[i] = ~byte; + dst[i] = byte; src += 8; } } @@ -758,7 +758,7 @@ static void rgb_to_bw(const SkGdiRGB* SK_RESTRICT src, size_t srcRB, unsigned byte = 0; unsigned mask = 0x80; for (int i = 0; i < bitCount; i++) { - byte |= ~(src[i] ^ xorMask) & mask; + byte |= (src[i] ^ xorMask) & mask; mask >>= 1; } dst[byteCount] = byte; @@ -845,7 +845,7 @@ void SkScalerContext_Windows::generateImage(const SkGlyph& glyph) { const SkGdiRGB* src = (const SkGdiRGB*)bits; #if 0 // can't do this (yet) since caller may really want gray8 for maskfilters if (is_rgb_really_bw(src, width, glyph.fHeight, srcRB)) { - rgb_to_bw(src, srcRB, glyph); + rgb_to_bw(src, srcRB, glyph, rgbXOR); ((SkGlyph*)&glyph)->fMaskFormat = SkMask::kBW_Format; } else #endif -- 2.7.4