JBR-1929 Improve rendering of San Francisco font of macOS Catalina
Added gamma correction to match grayscale rendering with subpixel one
diff --git a/src/java.desktop/macosx/native/libawt_lwawt/font/CGGlyphImages.m b/src/java.desktop/macosx/native/libawt_lwawt/font/CGGlyphImages.m
index 67c6573..b7c11df 100644
--- a/src/java.desktop/macosx/native/libawt_lwawt/font/CGGlyphImages.m
+++ b/src/java.desktop/macosx/native/libawt_lwawt/font/CGGlyphImages.m
@@ -282,7 +282,13 @@
static inline UInt8
CGGI_ConvertBWPixelToByteGray(UInt32 p)
{
- return 0xFF - (((p >> 24 & 0xFF) + (p >> 16 & 0xFF) + (p >> 8 & 0xFF)) / 3);
+ UInt8* lut = getReverseGammaLut();
+
+ UInt8 r = lut[0xFF - (p >> 24 & 0xFF)];
+ UInt8 g = lut[0xFF - (p >> 16 & 0xFF)];
+ UInt8 b = lut[0xFF - (p >> 8 & 0xFF)];
+
+ return ((r + g + b) / 3);
}
static void