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.
Reviewed-by: Herb Derby <email@example.com>
Commit-Queue: Herb Derby <firstname.lastname@example.org>
diff --git a/src/ports/SkFontHost_mac.cpp b/src/ports/SkFontHost_mac.cpp
index d31916d..aa79033 100644
@@ -1334,7 +1334,7 @@
if ((glyph.fMaskFormat == SkMask::kLCD16_Format) ||
(glyph.fMaskFormat == SkMask::kA8_Format
- && smooth_behavior() == SmoothBehavior::subpixel))
+ && smooth_behavior() != SmoothBehavior::none))
const uint8_t* linear = gLinearCoverageFromCGLCDValue.data();