a companion discussion area for blog.codinghorror.com

Font Rendering: Respecting The Pixel Grid


Sure, a programmer does not care at all about font shapes. Like Brian just above. Visual artists and typography experts do care about font shapes.

here is another article on the Windows Vs Mac font rendering debate, its a pretty good read. (It’s a pro-Mac article).



Respecting the SHAPE of a font is not always respecting the designer, when metal forged typefaces were designed, there was a design for each typeface size, because type design is an optical science and a shape that looks good at 12pt does not necessarily looks good at 72pt (actually it doesn’t).
Typefaces are meant to work as a system and serve a purpose: be readable. ANYTHING that stands in the way of that purpose should be removed.


I agree with Brian. Mac needs to offer programmers better font rendering. I work for a larger programming house and we all have the same complaint about OS X - it’s simply too blurry when aliased.

In Windows ClearType is vastly superior to read code with - it’s clean and crisp and designed for reading, perfect for coding. On Mac I have to remove aliasing in the IDE it’s that blurry and gives me a headache.

Now at least with Windows you have the option - you can turn ClearType off and have blurry fonts if you want. On Mac you just have to take their argument that they do rendering best and that’s that. But for programmers they don’t do it best, not by a long chalk. Which is a shame because just about everything else about OS X is superior to Windows.


To be honest, Ubuntu (or Linux in general) slaughters both Microsoft and Apple in the font rendering field. In Ubuntu, users get to fine tune font rendering, from DPI to subpixel/greyscale/none AA options.


Vonnick, FreeType does a great job at larger sizes, but it falls flat on its face at small sizes, particularly because it doesn’t support TrueType hinting (patent issues). Instead, FreeType uses autohinting, which is generally quite good. Unfortunately, autohinting falls apart at about 9pt or below; you may note that the default GNOME font size is 10pt for this reason.

FreeType does quite well in World of Warcraft, though.

Honestly, Microsoft’s classic (GDI) font rendering is quite good at small sizes, but it sucks at large sizes. ClearType does a poor job of antialiasing vertical features (in fact, it doesn’t antialias them at all), compared with just about any competent rendering engine, Mac OS X included.

Microsoft’s new (WPF / Silverlight) font rendering is absolute crap. WPF fonts are somehow simultaneously aliased and blurry, which seems like it shouldn’t be possible. WPF makes it possible.

The BEST font rendering, in my opinion, is actually in Flash. Flash manages to do well at all sizes. Incidentally, Flash also apparently doesn’t use native TTF hints, but it does a much better job than FreeType at autohinting.


OK. It’s been about 6,5 months since my last post on Nov 06, 2008. Meanwhile I did switch to a Mac and have been using it for about 5 months now.

In all honesty, today I find that I like the OS X font smoothing better. Just as adamantly I had sided with Clear Type back then, today I could vote for Quartz over Clear Type in a heartbeat. Like in my previous Clear Type loving posts, today I could write as much about the benefits of Quartz. Inconsistent right?

Well, all I can say today in light of my experience is that it is mostly about habit. Today I’m not even sure there are absolutely better design choices regarding font smoothing. Unless some design group teams up with a group of optmetricians and neurologists; sample the population for determining the best working middle ground in font smoothing and only then apply that knowledge back to font rendering algorithms; I don’t think there will be a clear winner in this department. Our brains are creatures of habit. So what happens down the line when you use an OS? I guess your brain stars adjusting and compensating for what appears to be a bad design in the beginning. Once your optic processing does the switch, what you were used to to begin with starts looking worse…

If you are some obsessive geek like me who is considering a switch to a mac and have issues with Quartz font smoothing; fear not. You’ll get used to it. Like me, you may even start liking it more than Clear Type.


I found a way to make the fonts on CodingHorror render better (at least on Windows Firefox):

Install Stylish: https://addons.mozilla.org/en-US/firefox/addon/2108

A couple people have already come up w/ alternate CSS. This was my favorite: http://userstyles.org/styles/3195 (which you can install using Stylish).


freetype, which is the font renderer used in all Linux distros, offers different hinting and rasterization methods, which should cover all variants currently available:

anti-aliasing can be either disabled or used in subpixel and greyscale mode, for any hinting style.

“no hinting”: preserves the font face, but makes readability hard (OSX style, but with a different gamma contrast).

“slight hinting”: hints only vertically, so the font keeps it face, but looks less muddled. This is also the default setting in Ubuntu 9.04. (Vista style, not exactly though, a bit thicker)

“TrueType hinting”: works pretty much like legacy GDI, hinting the font after TrueType specification. (Windows 95 style, not perfect)

“autohinting”: an algorithm tries to work out the best way to hint the font. this one sucks because all fonts tend to look the same at low point sizes, but it’s the most pragmatic == for font haters. Didn’t see any distro using this lately.

At least on Linux, any taste in font rasterization can be fulfilled. End of sales pitch :smiley:

For crazy people: I found a japanese site where someone offered an injector that replaced the GDI font renderer in windows with freetype - you can launch any app with it and it looks Linux’ish. It’s splendid :smiley:


I’m a Windows user with Safari as the main browser to READ texts. The difference to me is not whether keeping the font shape or the pixel grid, but the burden on you eyes when reading text (such as Wikipedia articles) in ordinary sizes (such as Arial size 11) for more than 4 hours.

Don’t worry if you disagree with me, just try Safari 3 and Firefox 3 (or IE 6) on Windows XP with a matte LCD, and actually read Wikipedia for 30 minutes, you’ll find the difference.


Subpixel rendering was not invented by Microsoft and I’m not even sure they claimed that, but they did see the advantages of applying the technology to font rendering. Also, Apple did not “abandon” the idea but it is used in their current font rendering tech as well. The unique invention with ClearType is how it adjusts the pixels to improve screen readability while losing some of the WYSIWYG quality when it is printed. As someone nicely phrased it above “Take yer pick folks.”


What I want to know is why we can’t have Mac rendering for word processors and publishing apps that make documents meant for print (e.g., Word, Adobe InDesign, etc) and then ClearType rendering for everything else meant for the web (websites/webapps, powerpoint presentations, etc).

Won’t the world be a better place if monitors render for functionality rather than for preference or style?


Maybe its cause I have a laptop, but I really like the Safari Font Rendering. That said, its not really a huge deal. I am surprised so many people have noticed such a big difference. Again, maybe its because I have a laptop.


Anyone tried out the new Safari 3.02? the release notes says that changes were made to the text rendering. does the issue get any better?


Been playing around with safar for the last day.

Prefer the font rendering to windows, my resolution is running at 1680x1050 and its far easier to read text within safari.

I’d usually move firefox over to my secondary monitor, running a lower resolution in order to comfortably read a site.

This font rendering for me alone is enough reason to ditch firefox for safari.


(Apologies if this has already been mentioned.)

When Microsoft released ClearType, I recall Steve Wozniak (Apple’s co-founder) writing that he used an identical method 20-odd years ago on the Apple ][

ClearType was not the result of superior Microsoft R&D, as some have suggested here. It’s old technology which Apple abandoned (http://www.grc.com/ctwho.htm ) and which Microsoft later independently reinvented.

IIRC, Apple chose to avoid ad-hoc solutions like ClearType and instead develop a device-independent rendering system (DIR) system, that could render text or graphics on any display hardware - from projection screens to phone displays to 2400 dpi printers.

Quartz largely solves the resolution-independence part of a DIR system: clearly some people like what Quartz produces for their screens, while others prefer the device-dependent results offered by Microsoft. That’s fine, but note that ClearType will not scale so what you see on your screen won’t be what you get - even on a printer.


we are currently at 300PPI screens in many devices and at these Mac rendering does look… readable at least
also chrome suffers from the same issue: on your typical 96PPI screen text in chrome is everything but readable… or text at all, maybe pushing it to 300PPI like in mobiles makes it look sharp, but on desktops it looks extremely blurry