From dbf4cef0e03ba1342f451df07f26e97b6814298c Mon Sep 17 00:00:00 2001 From: prr Date: Wed, 4 Dec 2019 17:42:18 -0800 Subject: [PATCH] 8214481: freetype path does not disable TrueType hinting with AA+FM hints Reviewed-by: serb, psadhukhan --- .../share/native/libfontmanager/freetypeScaler.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/java.desktop/share/native/libfontmanager/freetypeScaler.c b/src/java.desktop/share/native/libfontmanager/freetypeScaler.c index ac60a06da6..f5f7d2f280 100644 --- a/src/java.desktop/share/native/libfontmanager/freetypeScaler.c +++ b/src/java.desktop/share/native/libfontmanager/freetypeScaler.c @@ -859,6 +859,17 @@ static jlong return ptr_to_jlong(getNullGlyphImage()); } + /* + * When using Fractional metrics (linearly scaling advances) and + * greyscale antialiasing, disable hinting so that the glyph shapes + * are constant as size increases. This is good for animation as well + * as being compatible with what happened in earlier JDK versions + * which did not use freetype. + */ + if (context->aaType == TEXT_AA_ON && context->fmType == TEXT_FM_ON) { + renderFlags |= FT_LOAD_NO_HINTING; + } + if (!context->useSbits) { renderFlags |= FT_LOAD_NO_BITMAP; } -- GitLab