]> code.delx.au - gnu-emacs/commitdiff
* macfont.m (macfont_glyph_extents): Turn off syntetic bold
authorJan Djärv <jan.h.d@swipnet.se>
Fri, 31 Oct 2014 18:41:07 +0000 (19:41 +0100)
committerJan Djärv <jan.h.d@swipnet.se>
Fri, 31 Oct 2014 18:41:07 +0000 (19:41 +0100)
if force_integral_p (i.e. no antialias).
(macfont_draw): Check ns_antialias_text, also turn off syntetic
bold if no antialias.

Fixes: debbugs:18876
src/ChangeLog
src/macfont.m

index c516d348d843fd01166088f4507548d8f019d8d5..91bd0e1137cd5cf2f4e1577066d274e62e341983 100644 (file)
@@ -1,5 +1,10 @@
 2014-10-31  Jan Djärv  <jan.h.d@swipnet.se>
 
+       * 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 (Bug#18876).
+
        * emacs.c (main): Don't chdir to $HOME on Cocoa if --chdir
        was given (Bug#18846).
 
index 69bde9f66a7dca67e9a011598eafea8f72427e85..9e3c7e05f3fc020cf5ad51403478ab2a676e7877 100644 (file)
@@ -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);