17

I have been using a MacBook Pro for about a year or so, and I can definitely say that I am really satisfied from it. But there is one little thing that annoys me about it: the fonts in many text editors I use (including Komodo Edit 8, Brackets, MacVim, Vim, Github's Atom, etc) are very blurry. I use my laptop mainly for programming, and I spend many hours in front of the screen, so this blurring becomes very annoying for my eyes. Recently I downloaded Virtual Box, through which I run Ubuntu 10.04. Below there is a comparison of the Ubuntu's terminal and my macbook's terminal:

Comparison

I hope you can also see the difference... Could someone help me fix the fonts?

  • Note: You should find that this complaint only applies to light-on-dark text, not dark-on-light (black on white). Terminal and Safari/WebKit…and some other programs…automatically reduce the amount of font-smoothing for light-on-dark to match the weight of dark-on-light. Safari has been doing this for some time. Terminal began doing this in OS X El Capitan 10.11, and tuned the behavior in macOS Sierra 10.12—in particular, in 10.12 it no longer applies on Retina displays at all (you should find that on high-resolution displays the apparent weight of text doesn't change due to the color scheme). – Chris Page Dec 18 '16 at 8:48
18

You can lighten the antialiasing system-wide in System Preferences. Go to General and at the bottom is a checkbox labeled "Use LCD font smoothing when available". This is pretty cool in theory, but Apple's implementation is... not so great. LCD font smoothing (also called subpixel rendering) treats the R, G, and B channels of each pixel as separate pixels, so you get something that looks even smoother. However, on a Mac it just doesn't work very well and you end up with the super-thick font.

Here's an animation of the two different antialiasing styles.

Animation of the different sizes

So all you need to do is uncheck the LCD font smoothing box and restart Terminal. (If you log out and back in or reboot, it should make the font better for the full UI.)

To off subpixel rendering for a specific application, use

defaults write com.apple.Terminal AppleFontSmoothing -int 0

changing com.apple.Terminal to the bundle ID. Change the 0 to a 1 to turn it on again.

To turn off subpixel rendering only for MacVim use:

defaults write org.vim.MacVim AppleFontSmoothing -int 0
  • Apple's implementation of subpixel antialiasing/rendering may not be flawless, but it's arguably the best out there. Antialiasing / font smoothing preferences are a personal taste and it's quite common for switchers to not like Mac OS X's default, but it has nothing to do with the implementation. – Agos Apr 13 '14 at 8:24
  • @Agos Arguably. It just makes the font look thicker to most people. The implementation has everything to do with it. It sure looks nice but becomes difficult to read. Ubuntu's antialiasing (in the screenshot) seems better than either of Apple's rendering styles -- it's between ClearType and Mac antialiasing. However, it does keep the font integrity nice so at high DPI it looks very good. But once you get your resolution @ 2x, it doesn't really matter. – 0942v8653 Apr 13 '14 at 11:25
  • @0942v8653 sorry to annoy you again, but is there a way to turn off/on the LCD font smoothing in specific applications? – Rontogiannis Aristofanis Apr 13 '14 at 12:18
  • @RontogiannisAristofanis Added to the answer. – 0942v8653 Apr 13 '14 at 13:12
  • 1
    Note that in OS X El Capitan 10.11, Terminal automatically reduces the font smoothing for light-on-dark text and ignores the AppleFontSmoothing preference in that case. As of macOS Sierra 10.12 it now reduces the font smoothing relative to the AppleFontSmoothing value, so the preference once again controls the smoothing of light-on-dark text, but it also automatically reduces the smoothing some. On Retina displays it does not automatically reduce the smoothing at all, and just uses the AppleFontSmoothing value as-is. – Chris Page Dec 18 '16 at 8:39
9

You can also run

defaults write -g AppleFontSmoothing -int 1

and quit and reopen applications to make OS X use a lighter text rendering style but keep LCD font smoothing enabled.

Or run

defaults write com.apple.Terminal AppleFontSmoothing -int 1

and quit and reopen Terminal to change the setting only in Terminal.

1 corresponds to the "Light" setting that was included in System Preferences in 10.5 and earlier. 2 corresponds to enabling LCD font smoothing and 0 corresponds to disabling LCD font smoothing.

Terminal and iTerm 2 also have options to disable antialiasing completely. I currently use 17 point Menlo without antialiasing in iTerm 2:

  • Note that in OS X El Capitan 10.11, Terminal automatically reduces the font smoothing for light-on-dark text and ignores the AppleFontSmoothing preference in that case. As of macOS Sierra 10.12 it now reduces the font smoothing relative to the AppleFontSmoothing value, so the preference once again controls the smoothing of light-on-dark text, but it also automatically reduces the smoothing some. On Retina displays it does not automatically reduce the smoothing at all, and just uses the AppleFontSmoothing value as-is. – Chris Page Dec 18 '16 at 8:51
3

This is font anti-aliasing. In Terminal.app go to Preferences..., Settings and select a profile or create your own that fits your needs. There you can disable anti-aliasing (except for the Basic profile). Select it and click Default on the bottom of the list.

  • Note that on Retina displays this preference is ignored and all text is anti-aliased. – Chris Page Dec 18 '16 at 8:42
0

When using iterm2, there is an option to use thin strokes for anti-aliased text.

Go to your Profile settings (Profiles -> Open Profiles.. -> Edit Profiles ..) and select the Text tab. In the text rendering section, change the option Use thing strokes for anti-aliased text to Always, et voila!

enter image description here

Works best with highest anti-aliasing setting, without blurry or boldy font.

defaults write -g AppleFontSmoothing -int 2

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .