Today’s entry is actually vaguely related to work I am supposed to be doing! It occurred to me while I was tidying up Book Reader in preparation for a new version.
Just playing with a simple idea, and wondering if it could be of use for improving readability of text on computer screens. A big problem in computer graphics is interference patterns between a source image and the screen on which it is displayed. The result of this inteference is generally known as aliasing [imagine people on TV wearing pin-stripe clothing that shimmers wildly when they move].
The thing is, it doesn’t just apply to source images; it can relate to text too, because like pixels, lines of text are arranged according to regular spacings and intervals. This means you can get unsightly artefacts when the point size is quite small [only a few pixels]. I wrote some stuff about anti-aliasing text a while back in this article.
What I didn’t consider in that article is the possibility of improving readability by rotating the text so that its major axes no longer line up with those of the pixels on the screen. Visible interference [and hence aliasing artefacts] should be reduced by doing so, so I knocked up some samples to test the theory.
This is exactly the same source text, each time rotated and downsampled in a single step. The different angles are 0, 15, 30 and 45 degrees. To my strange wooden eyes, 45 looks the clearest, followed by 30, then 0, then 15. I think 15 looks the worst for the same reason that italics often look bad: the near vertical strokes within the letterforms are slanted just enough to reveal classic jaggies. Oh, for a 300DPI display! Still, if you concentrate on the baseline of the text, I think you will agree that it generally tends to get sharper as the angle gets bigger.
So is this any use in the real world? To be honest, probably not. No one wants to have to lean over to read text on a screen, and implementing a slanty text renderer complicates the programming side of things no end. Still, it’s interesting to think about [for people like me].