Skip to content

Instantly share code, notes, and snippets.

@scotchi
Last active August 29, 2015 14:08
Show Gist options
  • Save scotchi/66edaf426d7375c0f061 to your computer and use it in GitHub Desktop.
Save scotchi/66edaf426d7375c0f061 to your computer and use it in GitHub Desktop.
Check to see if the user has explicitly disabled anti-aliasing
commit 604a4d21ead40691afe3efe13f0ba1000b2cd61a
Author: Jan D. <jan.h.d@swipnet.se>
Date: Fri Oct 31 19:41:07 2014 +0100
* macfont.m (macfont_glyph_extents): Turn off syntetic bold
if force_integral_p (i.e. no antialias).
(macfont_draw): Check ns_antialias_text, also turn off syntetic
bold if no antialias.
diff --git a/src/macfont.m b/src/macfont.m
index 69bde9f..9e3c7e0 100644
--- a/src/macfont.m
+++ b/src/macfont.m
@@ -1101,7 +1101,7 @@ macfont_glyph_extents (struct font *font, CGGlyph glyph,
bounds.size =
CGSizeApplyAffineTransform (bounds.size, synthetic_italic_atfm);
}
- if (macfont_info->synthetic_bold_p)
+ if (macfont_info->synthetic_bold_p && ! force_integral_p)
{
CGFloat d =
- synthetic_bold_factor * mac_font_get_size (macfont) / 2;
@@ -2768,7 +2768,8 @@ macfont_draw (struct glyph_string *s, int from, int to, int x, int y,
CGFloat advance_delta = 0;
int y_draw = -s->ybase;
int no_antialias_p =
- (macfont_info->antialias == MACFONT_ANTIALIAS_OFF
+ (NILP (ns_antialias_text)
+ || macfont_info->antialias == MACFONT_ANTIALIAS_OFF
|| (macfont_info->antialias == MACFONT_ANTIALIAS_DEFAULT
&& font_size <= macfont_antialias_threshold));
@@ -2792,7 +2793,7 @@ macfont_draw (struct glyph_string *s, int from, int to, int x, int y,
atfm = synthetic_italic_atfm;
else
atfm = CGAffineTransformIdentity;
- if (macfont_info->synthetic_bold_p)
+ if (macfont_info->synthetic_bold_p && ! no_antialias_p)
{
CGContextSetTextDrawingMode (context, kCGTextFillStroke);
CGContextSetLineWidth (context, synthetic_bold_factor * font_size);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment