]> git.eshelyaron.com Git - emacs.git/commitdiff
Enable thin font smoothing in macOS (bug#28222)
authorBen Bonfil <bonfil@gmail.com>
Sat, 26 Aug 2017 08:41:41 +0000 (09:41 +0100)
committerAlan Third <alan@idiocy.org>
Tue, 29 Aug 2017 16:19:04 +0000 (17:19 +0100)
* src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
* src/macfont.m (macfont_draw): Use font smoothing.

Copyright-paperwork-exempt: yes

src/macfont.m
src/nsterm.m

index 19145f92c0a5e3d17aaf66e9ae81eea362dbb083..59891353cd38829fffa22fb0b91af83e07359756 100644 (file)
@@ -2888,6 +2888,12 @@ macfont_draw (struct glyph_string *s, int from, int to, int x, int y,
       if (no_antialias_p)
         CGContextSetShouldAntialias (context, false);
 
+      if (!NILP (ns_use_thin_smoothing))
+        {
+          CGContextSetShouldSmoothFonts(context, YES);
+          CGContextSetFontSmoothingStyle(context, 16);
+        }
+
       CGContextSetTextMatrix (context, atfm);
       CGContextSetTextPosition (context, text_position.x, text_position.y);
 
index 22f8efd6b968af24fa9e9422618609af9d916134..ff3329d1cee3a6bff0eaae5ecfeefcd390df95b4 100644 (file)
@@ -9133,6 +9133,10 @@ allowing it to be used at a lower level for accented character entry.");
                "Non-nil (the default) means to render text antialiased.");
   ns_antialias_text = Qt;
 
+  DEFVAR_LISP ("ns-use-thin-smoothing", ns_use_thin_smoothing,
+               "Non-nil turns on a font smoothing method that produces thinner strokes.");
+  ns_use_thin_smoothing = Qnil;
+
   DEFVAR_LISP ("ns-confirm-quit", ns_confirm_quit,
                "Whether to confirm application quit using dialog.");
   ns_confirm_quit = Qnil;