summaryrefslogtreecommitdiff
path: root/src/nsfont.m
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2012-10-21 20:48:11 +0200
committerJan Djärv <jan.h.d@swipnet.se>2012-10-21 20:48:11 +0200
commitef44695952ad2baac8a111fb3012ec16c74fdd62 (patch)
treed3bdb37d6c63c828e435e48b49f17d2cd8ca5871 /src/nsfont.m
parent5ec86886a75267e8fafe26102d32055d1376808b (diff)
downloademacs-ef44695952ad2baac8a111fb3012ec16c74fdd62.tar.gz
* nsfont.m (nsfont_open, ns_glyph_metrics): Force integer advancement
for screen font. (nsfont_draw): Turn off LCD-smoothing. Fixes: debbugs:11484
Diffstat (limited to 'src/nsfont.m')
-rw-r--r--src/nsfont.m14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/nsfont.m b/src/nsfont.m
index 7c9f05aa0bb..4f29d1d54a9 100644
--- a/src/nsfont.m
+++ b/src/nsfont.m
@@ -797,7 +797,13 @@ nsfont_open (FRAME_PTR f, Lisp_Object font_entity, int pixel_size)
block_input ();
/* for metrics */
+#ifdef NS_IMPL_COCOA
+ sfont = [nsfont screenFontWithRenderingMode:
+ NSFontAntialiasedIntegerAdvancementsRenderingMode];
+#else
sfont = [nsfont screenFont];
+#endif
+
if (sfont == nil)
sfont = nsfont;
@@ -1229,6 +1235,7 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y,
else
CGContextSetShouldAntialias (gcontext, 1);
+ CGContextSetShouldSmoothFonts (gcontext, NO);
CGContextSetTextMatrix (gcontext, fliptf);
if (bgCol != nil)
@@ -1372,7 +1379,12 @@ ns_glyph_metrics (struct nsfont_info *font_info, unsigned char block)
#endif
block_input ();
- sfont = [font_info->nsfont screenFont];
+#ifdef NS_IMPL_COCOA
+ sfont = [font_info->nsfont screenFontWithRenderingMode:
+ NSFontAntialiasedIntegerAdvancementsRenderingMode];
+#else
+ sfont = [font_info->nsfont screenFont];
+#endif
font_info->metrics[block] = xzalloc (0x100 * sizeof (struct font_metrics));
if (!(font_info->metrics[block]))