A good discussion about text rendering


#1

http://antigrain.com/research/font_rasterization/index.html


#2

Very good article.

I wish I’d been able to point to that a while ago, when a few people were asking me to add hinted font rendering to juce…


#3

I don’t even care about text rendering and I found that an interesting read :slight_smile:


#4

JUCE doesn’t do sub-pixel rendering though, right?


#5

Yes, it’s always done sub-pixel rendering!

For speed, it’s limited to half-pixel accuracy, which actually looks just fine for most purposes. Or you can render the text as a path for full precision.


#6

Huh? How do you turn it on? :shock:

edit: You do know that “sub-pixel” refers to the red green and blue elements of an LCD pixel, right? It’s not the same as anti-aliasing.


#7

oh no, by sub-pixel positioning I meant normal anti-aliasing, but not forcing the glyphs to snap to the nearest pixel.

Not sure about doing cleartype - it’s not hard to implement, but there might be patent issues, because MS owns that one.


#8

Adobe and Apple both seem to have a version, so maybe there’s loopholes.

I would think that you also need to know the pixel structure of the screen, so it’s mostly better for internal LCDs.

I remember someone has a 4-8 step procedure to see what looks good. That would require some sort of overall juce preferences that any juce app could access? Bit of a pain.

Bruce


#9

Check Acrobat Reader preference for a 1 step example.

I don’t thing ClearType is the way to go. As the AGG guys says, it might enhance the text on horizontal subpixel definition, but doesn’t improve the vertical subpixel resolution (because pixels are laid out horizontally as RGB RGB RGB)

Sure, it’s hardware based supersampling, but still requires “guessing” the screen pattern, and it looks awful on rare CRT screens.

However, the gamma and David’s kerning ideas might be interesting to study.


#10