Font Rendering - Mac vs Ubuntu
arunoda.me
arunoda.me
This results in a font that is sharper on screen, but is more jagged and doesn't resemble the print counterpart quite as well.
MacOS on the other hand renders the font as it would for print - ignoring pixel boundaries - then antialiases that. On low DPI screens this results in a heavier feeling font, and some times artefacts where parts of the font get blurred out, but there's less difference between screen and print.
This was more useful when Macs were used heavily in pre-press, you'd want your display to match the print so you can avoid making proofs.
A few fonts include pixel alignment hints which Windows (but not freetype unless you compile yourself - Apple has patents on this) and MacOS can use to make a nicer alignment on screen, but since the libraries got better at auto-fitting these have dropped away. Take a newish font and put in on Windows XP with ClearType off to see how bad XP's was. Vista was better and 7 is pretty similar to MacOS when there are no hints.
It's not so relevant these days, but I don't imagine Apple changing. I'd expect Apple to move to high DPI screens over the next few years where this isn't an issue.
It's also useful if you just prefer it that way. Strong hinting discards most of the original character of the font, but a lot of people find it easier to read. I think strong hinting looks like garbage, but this is a matter of opinion.
On the Gmail screenshot, the capitals look vertically squashed and 'i' and 'l' are almost impossible to discern. The letter shapes improves at title size, but the letter-spacing is either too wide or too tight.
I think it's largely a matter of preference: I prefer anti-aliased letters of the right shape, and find the distorted grid-fitted letterforms of Windows almost unbearably ugly, yet others complain about the "fuzzy" fonts on OS X.
Luckily, I use a system that lets me choose!
You're right, though. The patents expired in May 2010.
[Edit] Source: http://www.freetype.org/patents.html
Mac renders fonts optimized for "correctness", which can appear fuzzy at low resolution. Their new hi-res (~200dpi) screens solve the problem, you get correctness and legibility.
Windows and Linux tend to optimize for screen legibility at low resolution, resulting in increased sharpness. At hi-res, they'll likely not look as correct as the Mac rendering.
The higher res you go, the less differences there'll be between the two rendering methods. Fitting to the pixel-grid doesn't alter very much if the pixel grid is small enough.
Consider: Rendering a small font size at high-res is equivalent to rendering a larger font size at lower-res. If you look at the larger fonts on TFA's screenshot, e.g. "Node JS Design Patterns 101", there's proportionally much less difference (between Ubuntu and OSX) than at small sizes.
[There are even intermediate settings...]
[I don't agree with all their choices of what to call an "advanced" setting, but I think it's appropriate classification in this case.]
Seriously, you have to pick one: you either deform letter shapes so that they fit the grid better, with the disadvantage that your line breaks change and/or your letter and/or word spacing look awful, or you ignore the grid until the last moment, compute what percentage of each pixel is covered by each 'infinite resolution' graphene, and color them gray accordingly, with the disadvantage that text looks a bit more blurry.
(technically, there is a third way: layout each character of each font at some set of fixed point sizes by hand, so that it fits the grid perfectly. The original Mac used that method; it became infeasible when the LaserWriter shipped)
Edit: sorry, forgot the link, it's here: http://www.codinghorror.com/blog/2007/06/font-rendering-resp...
It's unlikely to be 'fixed' as it's a different philosophy between the OSs.
Ironically, the website is quite hard to read, thanks to a kind of simulated macular degeneration effect of drop-shadow glow around each letter. It amused me.
I can't find many examples of the effect of the infinality patches, though. Is it just a single-axis hinter?
defaults -currentHost write -globalDomain AppleFontSmoothing -int [value]
I personally use a value of 1. There's an entire article on this at http://osxdaily.com/2010/02/18/change-font-smoothing-setting...defaults -currentHost write -globalDomain AppleFontSmoothing -int 1
2012-10-10 21:29:32.922 defaults[24228:707]
Domain AppleFontSmoothing does not exist defaults -currentHost write -globalDomain AppleFontSmoothing -int 1
NSGlobalDomain (aliased to "-g" and "-globalDomain" per the man page) rather than AppleFontSmoothing, writes to nonexistent defaults shouldn't fail: jtm@socrates ~ $ defaults -currentHost find Corbomite
2012-10-10 16:04:05.566 defaults[2569:707] No domain, key, nor value containing 'Corbomite'
jtm@socrates ~ $ defaults -currentHost write -globalDomain CorbomiteDeviceTimeout -int 1
jtm@socrates ~ $ defaults -currentHost find Corbomite
Found 1 keys in domain 'Apple Global Domain': {
CorbomiteDeviceTimeout = 1;
}I steal it from there.