5/12/2010

05-12-10 - Cleartype

Since I ranted about Cleartype I thought I'd go into a bit more detail. this article on Cleartype in Win7 is interesting, though also willfully dense.

Another research question we�ve asked ourselves is why do some people prefer bi-level rendering over ClearType? Is it due to hardware issues or is there some other attribute that we don�t understand about visual systems that is playing a role. This is an issue that has piqued our curiosity for some time. Our first attempt at looking further into this involved doing an informal and small-scale preference study in a community center near Microsoft.

Wait, this is a research question ? Gee, why would I prefer perfect black and white raster fonts to smudged and color-fringed cleartype. I just can't imagine it! Better do some community user testing...

1. 35 participants. 2. Comments for bi-level rendering: Washed out; jiggly; sketchy; if this were a printer, I�d say it needed a new cartridge; fading out � esp. the numbers, I have to squint to read this, is it my glasses or it is me?; I can�t focus on this; broken up; have to strain to read; jointed. 3. Comments for ClearType: More defined, Looks bold (several times), looks darker, clearer (4 times), looks like it�s a better computer screen (user suggested he�d pay $500 more for the better screen on a $2000 laptop), sort of more blue, solid, much easier to read (3 times), clean, crisp, I like it, shows up better, and my favorite: from an elderly woman who was rather put out that the question wasn�t harder: this seems so obvious (said with a sneer.)

Oh my god, LOL, holy crap. They are obviously comparing Cleartyped anti-aliased fonts to black-and-white rendered TrueType fonts, NOT to raster fonts. They're probably doing big fonts on a high DPI screen too. Try it again on a 24" LCD with an 8 point font please, and compare something that has an unhinted TrueType and an actual hand-crafted raster font. Jesus. Oh, but I must be wrong because the community survey says 94% prefer cleartype!

Anyway, as usual the annoying thing is that in pushing their fuck-tard agenda, they refuse to acknowledge the actual pros and cons of each method and give you the controls you really want. What I would like is a setting to make Windows always prefer bitmap fonts when they exist, but use ClearType if it is actually drawing anti-aliased fonts. Even then I still might not use it because I fucking hate those color fringes, but it would be way more reasonable. Beyond that obviously you could want even more control like switching preferrence for cleartype vs. bitmap per font, or turning on and off hinting per font or per app, etc. but just some more reasonable global default would get you 90% of the way there. I would want something like "always prefer raster font for sizes <= 14 point" or something like that.

Text editors are a simple case because you just to let the user set the font and get what they want, and it doesn't matter what size the text is because it's not layed out. PDF's and such I guess you go ahead and use TT all the time. The web is a weird hybrid which is semi-formatted. The problem with the web is that it doesn't tell you when formatting is important or not important. I'd like to override the basic firefox font to be my own choice nice bitmap font *when formatting is not important* (eg. in blocks of text like I make). But if you do that globally it hoses the layout of some pages. And then other pages will manually request fonts which are blurry bollocks.

CodeProject has a nice font survey with Cleartype/no-Cleartype screen caps.

GDI++ is an interesting hack to GDI32.dll to replace the font rendering.

Entropy overload has some decent hinted TTF fonts for programmers you can use in VS 2010.

Electronic Dissonance has the real awesome solution : sneak raster fonts into asian fonts so that VS 2010 / WPF will use them. This is money if you use VS 2010.

3 comments:

won3d said...

I happen to like Inconsolata + ClearType (really, whatever subpixel junk Ubuntu is doing, which is actually worse), but I also use 14-pt fonts on a 30" monitor.

Do you do white text/black background, because that definitely messes us ClearType's gamma approximation, or whatever. Supposedly black text on white background is just better.

Anonymous said...

Not to deny your personal preference, nor deny that your preference is common, nor that that article is lame...

but you've already got color fringing of your black-on-white text even WITHOUT using ClearType if you're on an LCD monitor. That's kind of the point. If you draw a bunch of one-pixel lines vertically, they consist of the three colors adjacent to each other. If you shift all the lines a subpixel to the right, it should be no more or less objectionable. There's no inherent "better white" to the normal alignment.

Now, although ClearType may not introduce color fringing, it's obviously a different flavor of color fringing; it's got multiple different colors of fringing at different points and I'm sure that's far more objectionable.

Maybe the regular color fringing may even disappears 100% due to visual adaptation or something, I don't know. I doubt it disappears 100%, but I can imagine it's a lot less noticeable.

Actually this Courier font I'm typing in this form has pretty obvious coloration now that I look for it, way more obviously than the text of the posted comment that's in... whatever sans-serif font that is. Actually, the Courier coloration reminds me of the artifacting in hires on the Apple ][ and Atari 8-bit. Nostalgia value!

(Hmm, if that was just due to NTSC's encoding of phase, does that mean the TV images themselves had a less-than-280-horizontal-pixel effective resolution?)

cbloom said...

"but you've already got color fringing of your black-on-white text even WITHOUT using ClearType if you're on an LCD monitor. [...]"

Hmmm that's an interesting point. But for some reason I don't see the color fringing with cleartype off. I'm just randomly guessing but I presume it's because with cleartype off, the color fringe is always the same everywhere - slightly blueish on one side, slightly reddish on the other (or whatever), whereas with cleartype on, the color fridge changes for different characters. Presumably the color fringes that are all the same get ignored more easily. Even if I put my face right on the monitor it's hard to see a color fringe with cleartype off.

But really the color fringing is not the worst problem, it's the blurriness due to the use of non-raster fonts and trying to anti-alias curves at low res. Now there do exist TTF fonts that are so heavily hinted that they behave just like raster fonts, but that's just a workaround really.

old rants