CG smoothing implies gamma blit.

There are three distinct attributes controlled by font smoothing,
subpixel converage, fake bolding, and gamma 2 blitting. In macOS 14 the
subpixel coverage was removed but the other two apparently remain. Prior
to this change the code had assumed that the gamma 2 blitting had also
been removed, but this appears not to be the case.

Bug: chromium:901611
Change-Id: Ie0623267fa20c86d953e8b6c1fb3ead7be51b930
Reviewed-on: https://skia-review.googlesource.com/c/177880
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This commit is contained in:
Ben Wagner 2018-12-14 15:43:07 -05:00 committed by Skia Commit-Bot
parent 8e4a331c8a
commit 16d00eeef7

View File

@ -1334,7 +1334,7 @@ void SkScalerContext_Mac::generateImage(const SkGlyph& glyph) {
if ((glyph.fMaskFormat == SkMask::kLCD16_Format) || if ((glyph.fMaskFormat == SkMask::kLCD16_Format) ||
(glyph.fMaskFormat == SkMask::kA8_Format (glyph.fMaskFormat == SkMask::kA8_Format
&& requestSmooth && requestSmooth
&& smooth_behavior() == SmoothBehavior::subpixel)) && smooth_behavior() != SmoothBehavior::none))
{ {
const uint8_t* linear = gLinearCoverageFromCGLCDValue.data(); const uint8_t* linear = gLinearCoverageFromCGLCDValue.data();