diff options
Diffstat (limited to 'src/gui_mac.c')
-rw-r--r-- | src/gui_mac.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/gui_mac.c b/src/gui_mac.c index 885985763..f6aa22b57 100644 --- a/src/gui_mac.c +++ b/src/gui_mac.c @@ -173,6 +173,7 @@ ATSUStyle gFontStyle; ATSUStyle gWideFontStyle; # endif Boolean gIsFontFallbackSet; +UInt32 useAntialias_cached = 0x0; #endif /* Colors Macros */ @@ -4123,6 +4124,24 @@ draw_string_ATSUI(int row, int col, char_u *s, int len, int flags) ATSUSetAttributes(gFontStyle, 1, attribTags, attribSizes, attribValues); } + UInt32 useAntialias = p_antialias ? kATSStyleApplyAntiAliasing + : kATSStyleNoAntiAliasing; + if (useAntialias != useAntialias_cached) + { + ATSUAttributeTag attribTags[] = { kATSUStyleRenderingOptionsTag }; + ByteCount attribSizes[] = { sizeof(UInt32) }; + ATSUAttributeValuePtr attribValues[] = { &useAntialias }; + + if (gFontStyle) + ATSUSetAttributes(gFontStyle, 1, attribTags, + attribSizes, attribValues); + if (gWideFontStyle) + ATSUSetAttributes(gWideFontStyle, 1, attribTags, + attribSizes, attribValues); + + useAntialias_cached = useAntialias; + } + #ifdef FEAT_MBYTE if (has_mbyte) { |