Index: src/ports/SkFontHost_win.cpp |
diff --git a/src/ports/SkFontHost_win.cpp b/src/ports/SkFontHost_win.cpp |
index 89bac5daf4a7c75ce86b253c5dd527f80e3bf7e0..a394f1fd6483f87aff426fd6a7dcabe27c2973fc 100755 |
--- a/src/ports/SkFontHost_win.cpp |
+++ b/src/ports/SkFontHost_win.cpp |
@@ -58,8 +58,7 @@ typedef uint32_t SkGdiRGB; |
//#define SK_ENFORCE_ROTATED_TEXT_AA_ON_WINDOWS |
static bool isLCD(const SkScalerContext::Rec& rec) { |
- return SkMask::kLCD16_Format == rec.fMaskFormat || |
- SkMask::kLCD32_Format == rec.fMaskFormat; |
+ return SkMask::kLCD16_Format == rec.fMaskFormat; |
} |
static bool bothZero(SkScalar a, SkScalar b) { |
@@ -590,7 +589,6 @@ static BYTE compute_quality(const SkScalerContext::Rec& rec) { |
case SkMask::kBW_Format: |
return NONANTIALIASED_QUALITY; |
case SkMask::kLCD16_Format: |
- case SkMask::kLCD32_Format: |
return CLEARTYPE_QUALITY; |
default: |
if (rec.fFlags & SkScalerContext::kGenA8FromLCD_Flag) { |
@@ -1133,19 +1131,6 @@ static inline uint16_t rgb_to_lcd16(SkGdiRGB rgb, const uint8_t* tableR, |
return SkPack888ToRGB16(r, g, b); |
} |
-template<bool APPLY_PREBLEND> |
-static inline SkPMColor rgb_to_lcd32(SkGdiRGB rgb, const uint8_t* tableR, |
- const uint8_t* tableG, |
- const uint8_t* tableB) { |
- U8CPU r = sk_apply_lut_if<APPLY_PREBLEND>((rgb >> 16) & 0xFF, tableR); |
- U8CPU g = sk_apply_lut_if<APPLY_PREBLEND>((rgb >> 8) & 0xFF, tableG); |
- U8CPU b = sk_apply_lut_if<APPLY_PREBLEND>((rgb >> 0) & 0xFF, tableB); |
-#if SK_SHOW_TEXT_BLIT_COVERAGE |
- r = SkMax32(r, 10); g = SkMax32(g, 10); b = SkMax32(b, 10); |
-#endif |
- return SkPackARGB32(0xFF, r, g, b); |
-} |
- |
// Is this GDI color neither black nor white? If so, we have to keep this |
// image as is, rather than smashing it down to a BW mask. |
// |
@@ -1258,22 +1243,6 @@ static void rgb_to_lcd16(const SkGdiRGB* SK_RESTRICT src, size_t srcRB, const Sk |
} |
} |
-template<bool APPLY_PREBLEND> |
-static void rgb_to_lcd32(const SkGdiRGB* SK_RESTRICT src, size_t srcRB, const SkGlyph& glyph, |
- const uint8_t* tableR, const uint8_t* tableG, const uint8_t* tableB) { |
- const size_t dstRB = glyph.rowBytes(); |
- const int width = glyph.fWidth; |
- uint32_t* SK_RESTRICT dst = (uint32_t*)((char*)glyph.fImage + (glyph.fHeight - 1) * dstRB); |
- |
- for (int y = 0; y < glyph.fHeight; y++) { |
- for (int i = 0; i < width; i++) { |
- dst[i] = rgb_to_lcd32<APPLY_PREBLEND>(src[i], tableR, tableG, tableB); |
- } |
- src = SkTAddOffset<const SkGdiRGB>(src, srcRB); |
- dst = (uint32_t*)((char*)dst - dstRB); |
- } |
-} |
- |
static inline unsigned clamp255(unsigned x) { |
SkASSERT(x <= 256); |
return x - (x >> 8); |
@@ -1356,23 +1325,13 @@ void SkScalerContext_GDI::generateImage(const SkGlyph& glyph) { |
rgb_to_bw(src, srcRB, glyph); |
((SkGlyph*)&glyph)->fMaskFormat = SkMask::kBW_Format; |
} else { |
- if (SkMask::kLCD16_Format == glyph.fMaskFormat) { |
- if (fPreBlend.isApplicable()) { |
- rgb_to_lcd16<true>(src, srcRB, glyph, |
- fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); |
- } else { |
- rgb_to_lcd16<false>(src, srcRB, glyph, |
- fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); |
- } |
+ SkASSERT(SkMask::kLCD16_Format == glyph.fMaskFormat); |
+ if (fPreBlend.isApplicable()) { |
+ rgb_to_lcd16<true>(src, srcRB, glyph, |
+ fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); |
} else { |
- SkASSERT(SkMask::kLCD32_Format == glyph.fMaskFormat); |
- if (fPreBlend.isApplicable()) { |
- rgb_to_lcd32<true>(src, srcRB, glyph, |
- fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); |
- } else { |
- rgb_to_lcd32<false>(src, srcRB, glyph, |
- fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); |
- } |
+ rgb_to_lcd16<false>(src, srcRB, glyph, |
+ fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); |
} |
} |
} |