For no particular reason I downloaded Safari for Windows and OMG MY EYES! THE GOGGLES, THEY DO NOTHING!

So it turns out I don’t much like the blurry eyestrain-inducing font rendering. I’m pretty late to the party here but I’ll pile on anyway.

It seems that Safari ignores Windows’ native font rendering—ClearType, on my machine—and use Apple’s own, Quartz. I would have expected them to be more or less the same, as they both mostly rely on subpixel rendering. But it turns out Quartz ignores TrueType hinting, relying only on the subpixel anti-aliasing, which is to say, blurrification. It’s especially noticeable in the vertical direction, where subpixels help not at all.

Apparently—and I don’t know how authoritative this is—Apple in its wisdom chose to ignore hinting in order to Preserve Design Intent. TrueType hints force features of glyphs to the pixel grid, meaning that some strokes get thinner and some thicker, that relative weights of bold and regular styles are distorted, that curves flatten out, and spacing can be a bit wonky. Relying solely on antialiasing does mitigate those problems, at the cost of blurring (and chromatic fringing, with subpixel renderers).

Windows’ ClearType does respect hinting, at least to some extent. Much as it pains me to say it, I’m with Microsoft on this one. [Caveat: ClearType’s effectiveness depends enormously on the monitor. It looks great on the relatively high-res laptop I’m using now. I’ve tried it on other monitors (yes, LCD ones) where it was unbearable. I imagine it depends heavily on the user as well.]

Now preserving design intent does make an enormous amount of sense in some contexts. If you’re actually trying to lay out a page for printing, font distortion is bad, and a bit of blurring is no biggie. Were I a graphic designer I’m sure I’d demand the better approximation of font weights and glyph shapes and positions and not care about the blurring.

But I’m not a graphic designer, I’m just some guy trying to read stuff on the web. I care much more about not getting a headache than about the aesthetic qualities of lower-case g’s descender. I can read slightly malformed but clear fonts much more easily than blurry ones.

Even from a philosophical point of view “design intent” is a tricky concept. TrueType hints are design intent. A lot of effort went into hinting Georgia and Verdana and the other core web fonts. So does the real intent reside entirely in the glyph outlines, or in the hinting as well? Well, really it sort of depends. Print and screen are different contexts (they will converge as screen resolutions get higher, but they haven’t yet), and good designers design for both. Apple, it seems to me, does not respect the latter. For a desktop publishing program that would make sense. But we’re talking about a web browser here.

[Yes, there are lots of crappily hinted fonts out there, including some that are beautiful in print. With those Quartz can look much nicer than ClearType, even to me. But a well-desgined website really should not use those fonts.]

It may be that were I a Mac person I would be used to Apple’s rendering and find Windows’ godawful and primitive. But I’m not. Does Apple want to show us benighted Windows drudges The Light? If so, it’s not working. I want Windows apps to act like Windows apps—consistency is important. Safari want to act like a Mac app, both in rendering and in a few other ways, things like the way it displays its scrollbars (yes, that’s pretty trivial). The weird part is that Apple understands better than anyone else the importance of strict user interface guidelines. Do they care about them only when the guidelines are their own?


Tags: , , , , , ,

2 Responses to “Safari”

  1. Unicode, Browsers, Python, and Kvetching « Michael Lauer’s Weblog Says:

    […] (on Windows) doesn’t display them even if you specify a font. This does not further endear Safari to […]

  2. Movie Trailers; The Brothers Bloom; Brick « Michael Lauer’s Weblog Says:

    […] than its worth. Does it work better on a Mac? I’ve tried it on multiple browsers, including (ecch) […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: