nilshendriks.com

Mac OS X default font smoothing

Published on:

So. It is more than 5 years after I wrote about this, and we’re still here having the same issue. Worse, there’s a lot of misconception about this. There are plenty of blogs out there saying it is a browser issue and some even say it’s a webfonts issue.

Most of the time the solution they provide is to add a rule to your CSS:

-webkit-font-smoothing: antialiased;

Thing is this only works for webkit browsers. Firefox actually removed support for font smoothing.

On top of that this so-called solution is not solving the actual problem. The problem is an OS issue. A Mac OS X issue, and it has been for years.

Back in 2008 when I first wrote about this, the only article I found discussing this issue was by Jason Patterson. The forum discusses Mac OS X’s sub-pixel AA and Patterson takes the opportunity to claim there’s a bug in Mac OS X’s sub-pixel AA rendering for white/light text on black/dark backgrounds. He also did a thorough test which you can see on his site.

Mac OS X White/Light Text Sub-Pixel Antialiasing Bug by Jason Patterson.

As shown in the article this is a setting in Mac OS X, and it affects the whole OS GUI, not just browsers. You can test it with TextEdit for instance.

Before Mac OS X Lion there were multiple options for the font smoothing setting but since Lion the default setting is again to have ‘lcd Font smoothing when available’ checked. (System Preferences -> General) and now it is only a checkbox, on or off.

Note that you need to restart the application in which you want to see the difference so if you uncheck the box and want to test in TextEdit, you need to restart TextEdit.

Now what?

So the default setting in Mac OS X is wrong but where does that leave us – web developers? Well, you can change the default to something you prefer (off is the only other option since Lion unless you use Terminal) but that way you’re not seeing what most people on Macs will see.

So yes, I guess it is all right to use the CSS hack for font-smoothing, but we need to know what we are fixing here and that it is something we shouldn’t have to fix.

Here are three more articles on this by Dmitry Fadeyev:

And here is a quote from one of these articles that summarizes everything about this issue:

There is only one main reason to disable subpixel rendering, and that is to display light text on dark backgrounds on OS X. Mac font rendering tends to butcher light fonts on dark backgrounds, making them spill out to the point of being illegible.

screenshot