Let Me Make One Thing Perfectly Clear[Type]

by Michael S. Kaplan, published on 2006/05/11 09:54 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2006/05/11/595346.aspx


A lot of people misunderstand the way ClearType works -- especially when it is expected to help, and how. The following, written by Vista beta tester Clayton Macleod, provides a really good explanation of the issues (reprinted with permission!).

He also hits on points that Dean and I have raised before about problems with applications that "know better" about when to turn ClearType on, which can be idiotic, at times.

Anyway, I hope you find the text useful; I know it has helped others understand why they could not get ClearType to look good on their CRT no matter how they tuned it....

It [ClearType using a CRT] makes it look *different*, no question, and you may like the results, but it is not ClearType functioning as it is designed to.

The only way ClearType functions as it was designed to is on an LCD display where you can directly address each and every pixel/sub-pixel on the screen individually. It is practically impossible to address individual pixels on a CRT, there is no direct connection between the pixels on the face of the tube and the electrons causing them to light up.  In order for ClearType to work you have to be able to address pixels and their sub-pixel component red/green/blue colours independantly/individually.  This is how ClearType works.

ClearType takes advantage of the fact that on an LCD a single pixel is made up of three sub-pixels, the red/green/blue parts that make up one whole pixel, which you can control directly.  If you want to have only the red portion of the pixel at 100,150 light up with the blue and green portions unlit, you can do that, perfectly, every single time.  There's no chance in hell that you will have any idea what is actually lit up on a CRT.  You can control the signal you're feeding it, but that doesn't actually correspond directly to what is being lit on the CRT's face.

ClearType takes advantage of the fact that a pixel is actually split up horizontally into three sub-pixels. This is how it makes text sharper.  It ignores the fact that the three sub-pixels are red, green, and blue, and it just treats them all as grayscale pixels.  This means that your 1280x1024 pixel LCD is actually used as a 3840x1024 pixel screen when dealing with text.  This is how they make text appera so much sharper, because they're literally multiplying the horizontal resolution of the text by a factor of three.  They ignore colour and treat it as though they just have more pixels to use.  Again, the only reason that it works is because they can directly control each individual sub-pixel. You can't do that on a CRT, you just don't have anywhere near the same amount of control over the device as you do with an LCD, where you have direct control.

There's also the problem of sub-pixel group shape. Regular/classic-style CRTs have their red/green/blue sub-pixels grouped in a triangle shape, and Trinitron-style CRTs have their sub-pixels arranged in a horizontal fashion similar to LCDs.  But that doesn't mean that ClearType works as intended there, because you still have the humongous obstacle of degree-of-control to overcome, which nobody has.  So while you may not mind how ClearType looks to you on your CRT, it most definitely is not behaving as intended.  And that's because it's pretty much impossible for it to behave as intended.

If you're fine with how it looks, that's good for you, but it doesn't help the rest of us.  On every CRT I've ever looked at ClearType on it just looks blurry, because the pixels aren't defined anywhere near the way they should be.  On a CRT display, driven by a computer, it is very safe to say that any given single pixel that the computer is defining is being drawn on the CRT's face by multiple pixel groups.  The actual pixel groups of phosphors on the CRT's face are almost always much smaller than the computer's pixels they are drawing.  And so there are almost always a small group of CRT pixels being used to draw one computer pixel.  You're insanely unlikely to ever see a CRT using exactly one of its red/green/blue pixel groups to draw exactly one of the computer's pixels.

This goes against the design philosophy of ClearType about as much as you possibly could.  ClearType needs direct access to individual pixels/sub-pixels, period.  Without that, all you're getting is strange blurriness, typically with strange colouring around the edges of your fonts because of how the CRT is drawing the pixels.  It doesn't look anything at all like ClearType does when it is being displayed as intended on an LCD.

And no matter how much ground the LCD market has gained, is gaining, and will gain, the CRT market isn't going away anytime soon.  And that fact alone should be more than enough to give us a setting to completely disable ClearType throughout the whole OS and any apps running on top of it.  It doesn't work on CRTs, so I should be able to turn it off.  In XP, you can. The same setting in the same place in Vista does not do the same thing.  For some reason there is now a seperate setting in IE's options.  And even with those two turned off, you *still* get ClearType rendering in different sections of the UI.  It's idiotic.

'Nuff said!

 

This post brought to you by "C" (U+0043, a.k.a. LATIN CAPITAL LETTER C)


# Alun Jones on 11 May 2006 11:28 AM:

Even on an LCD, your mileage may vary.
Despite tuning ClearText both by using knowledge about how it's supposed to operate, and by using the tool that's supposed to let me just "pick the nicest-looking", I still find it to make the text look more fuzzy, not more sharp.  It adds a coloured fringe on the left and right sides of text, and it makes the width of some text elements look different.
That's to my eyes, on my monitor.  You may love it, and that's great - I want you to have Cleartext if it pleases you.
But I also want to be able to say "I absolutely hate Cleartext, all the time, in every application, and I don't ever want to see it", just like I want to be able to say "show me all the menu options when I open a menu, in every application and the shell".
Sadly, I find myself frequently having to tell the shell, and a number of different applications, the same likes and dislikes over and over as they rear their ugly heads again.

# Malcolm on 11 May 2006 11:46 AM:

I find it frustrating that there are factions within Microsoft that seem to think differently: http://blogs.msdn.com/ie/archive/2006/03/03/543181.aspx

For the record, I like ClearType, even on CRTs - but I think the reasons given in the above for ignoring the global user settings are spurious and unhelpful in the long term.

# Dean Harding on 11 May 2006 7:46 PM:

Malcolm, wow, I stopped reading the IE blog a while ago (it started getting annoying) but that one would've set me off again!

I'm getting kind of sick of this debate, actually, since nobody seems to listen (though at least we've got a few people fighting the good fight, yay Michael & Clayton!!).

I was especially annoyed by this comment:

http://blogs.msdn.com/ie/archive/2006/03/03/543181.aspx#546487

Just because that may have been the original *intent* of the feature, doesn't mean it's the right thing to do.

# Brian on 12 May 2006 12:05 AM:

I used to be in the ClearType Sucks on CRTs camp.  I had tried it on my CRT and it just made things worse.

But this changed after I did two things.  First, I tweaked the focus and convergence controls on my very aging CRT.  Second, I downloaded the Microsoft Cleartype Tuning powertoy.  This has a slider that lets you adust the amount of effect that CT has.  By turning this slider down the blurryness went away and I was left with crisper text, despite my previous disdain for everything ClearType.  So, I urge everyone to download that app and give it a shot if previous encounters with CT have turned you off.

http://www.microsoft.com/typography/ClearTypePowerToy.mspx

However, an app blinding turning on ClearType despite the users setting is just wrong on so many levels, and needs to be fixed.

# Michael S. Kaplan on 12 May 2006 1:44 AM:

I am definitely *not* in the "ClearType sux" camp -- it can be quite awesome at times.

But I want the freedom to decide....

# Dean Harding on 12 May 2006 1:46 AM:

Brian: Actually, I DO have ClearType turned on for my CRT. I'm not saying that ClearType is a bad thing (though a lot of people on the ieblog obviously are...)

Anyway, my point is like you said in your last sentence. ClearType should NOT be a per-application setting (or even a "different parts of the SAME app" setting, which was implied in the comment I mentioned and is actually the case with Word's Reading Layout thing). If ClearType makes things easier to read, then turn it on EVERYWHERE. It doesn't make any sense to do any different.

# Ben Cooke on 12 May 2006 3:00 AM:

One thing that annoys me (though not that much -- I'm not *that* fussy) is when people take screenshots with ClearType enabled but tuned differently than what my monitor wants to see. Back when I was using a CRT, obviously I hated *any* ClearType screenshots.

It's a shame that you can't just re-render the entire screen without ClearType before taking a screenshot. But I know that's not feasible under Windows' rendering model, so no need to shoot me. :)

# Ian Griffiths on 12 May 2006 7:38 AM:

This:

"The actual pixel groups of phosphors on the CRT's face are almost always much smaller than the computer's pixels they are drawing"

is not strictly true. It depends on your chosen display resolution and your CRT. But on most of the CRTs I've used, the only way to make the phosphor groups smaller than a pixel was to run at a horribly low resolution. Anyone who favours large amounts of real estate is likely to push the abilities of their monitors to the point where digital pixels are actually a fair bit smaller than the phosphor groups.

And even if you run at a low enough resolution for this not to be an issue, the 'splat' shape drawn by the electron beam on the phosphors means that pixels run into each other. So unless your pixels are around twice the size of your phosphor groups (which would be very unusual), the norm is for any given phosphor to receive contributions from multiple pixels.

This means that the behaviour is not in fact optimally bad, despite what the article suggests. (Indeed, the article also ignores the fact that ClearType does colour balancing, spreading colour errors across adjacent pixels. On an ordinary CRT this will tend to neutralize the colour.)

Unless you have a fabulously good monitor, or are running at horribly low resolution, most of what he discusses doesn't apply. Most CRTs will tend to negate the colouration.

The big difference with ClearType on a CRT in practice is that it gives you anti-aliasing - ClearType filters as well as doing sub-pixel rendering.

And that's why people who like it like it, and why people who don't like it don't like it. What you're really seeing is that fact that some people prefer anti-aliased text while some people prefer the regular chunky text. Since a CRT with ClearType on is a fair approximation to regular antialiasing once you take CRT blur into account, and a CRT with ClearType off is just regular chunky text, that's really what you're comparing.

The colour is not relevant for most CRT setups. Only high-end ones.

# josh on 12 May 2006 11:16 AM:

Hitting individual phosphor dots isn't necessary to make ClearType useful anyway.  As long as the average pixel centers are offset horizontally for each primary it can help.  You'd just have to turn its affect way down, and then of course it wouldn't help as much...

Another place where ClearType isn't too useful: many high end LCD panels can be rotated 90 degrees.  Even if ClearType did rotate, it wouldn't help as much with text.

# Gabe on 12 May 2006 2:16 PM:

I can understand wanting to disable ClearType when using a CRT, but even then you could still have an LCD plugged in. I know many people who have a large color-calibrated CRT for doing design work with an LCD for things like email. It might be nice to be able to specify ClearType settings on a per-monitor basis.

# David M. Kean on 16 May 2006 10:24 PM:

Now if someone could just tell the Office team (which turn it on by default and have an option separate to the OS)...

referenced by

2006/09/11 You say it 'looks good on paper?' It must not be using ClearType....

go to newer or older post, or back to index or month or day