An Experiment in Sub-Pixel Font Rendering
It's been said that experience is the best teacher. While working on this sub-pixel font rendering project this was certainly the case for me. The theory of how this should be done was instantly clear especially since we'd seen it all before (see The True Origins of these Ideas). But the color fringing problem (see Turning Theory into Practice) which turns out to have been understood and solved by many others a long time (many years) ago was new to me and presented some unexpected fun! You will find that Free&Clear is extremely easy to use and follows the common "wizard" model with "Back" and "Next" buttons to guide you at your own pace. Its effective use requires absolutely no understanding of the theory of sub-pixel font rendering. However, if you're interested in playing with the advanced "tuning" controls to alter the relative percentages of sub-pixel energy distribution (okay, yes, we do have rocket science here) you'll probably want to study the Implementation Details page first in order to get the most out of that aspect of Free&Clear. I also incorporated extensive pop-up help into the program's scant 35k bytes, so clicking over any control with the mouse's right button will immediately present you with an explanation of that control's purpose and operation.
there are some things I can say along the lines of "getting the most out of it" . . . The Text Panel
The Text panel is selected when the "Text" button is depressed in the upper right corner of the window. Many of the controls here are reminiscent of any word processor since that's essentially what I created. The large upper window is used for text entry and editing in conjunction with the font name and size selectors and the bold and italics buttons. The lower window is "read-only" and simply reflects with the enhancement of sub-pixel rendering whatever is entered and edited in the upper window. The group of three "Render Mode" buttons have confused some people who haven't been able to detect any difference in the sub-pixel rendering under any of the three settings. But if you look carefully with an LCD panel you can indeed clearly see the difference between the three rendering options. Something else to try is to use the magnification control located on the "Tune" panel (see below) to zoom in on the sub-pixel text and then change the render mode buttons. This lets you really see what's going on!
And finally, the "Tune" button replaces the upper text entry and editing window with a set of advanced controls ...
The centerpiece of the "Tune" panel is the Sub-Pixel Energy Distribution control bar chart. It functions as both a display and a mouse-driven input control. By dragging the various bars up and down with the mouse, the ratios of energy being shared among the main pixel's neighbors can be changed while the result is being shown in the sub-pixel rendering display below. As is explained on the Implementation Details page, the secret to "getting the red out" of sub-pixel rendered text is to employ age-old anti-aliasing techniques ... but updated with color in order to take advantage of the sub-pixel color positional nature of LCD panels. The enlargement of the word "Evolution" shown above demonstrates the result of this colorized anti-aliasing. (And, by the way, try experimenting with the "Render Mode" buttons while zoomed in like this!) The Implementation Details page also contains this diagram to illustrate how each individual sub-pixel's energy is deliberately spread out into its neighboring sub-pixels. The height of the chart's five bars reflects the percentage of energy received by those bottom five sub-pixels in this chart. The default setting is to give the bottom five pixels 11%, 22%, 34%, 22%, 11% respectively. These percentages can be seen in the three color-coded readouts on the right of the upper panel. As you explore different sub-pixel energy distributions it might be useful to quickly jump between two settings. This A<>B button instantly jumps between the current setting and the previous one. The Default button resets the three power level settings to their original, theoretically optimal, positions. An easy way to compare new settings with the theoretical optimal is to set the bars where you wish, then press this Default button. The A<>B button will then alternate between you settings and the default.
While the sub-pixel text is zoomed-in and magnified, the region being shown can be dragged around by left-clicking and holding the mouse within the sub-pixel rendering window. This allows you to examine whatever areas of the text you choose.
I hope you'll enjoy using Free&Clear to learn about and experiment with the technology of sub-pixel graphics and font rendering. Since this will definitely not be the end of my own exploration into this technology (hint hint! ) please allow me to urge you to subscribe to GRC Corporate News Blog that you'll know where I go from here! In the meantime, here are some other places to explore . . . |
Gibson Research Corporation is owned and operated by Steve Gibson. The contents of this page are Copyright (c) 2024 Gibson Research Corporation. SpinRite, ShieldsUP, NanoProbe, and any other indicated trademarks are registered trademarks of Gibson Research Corporation, Laguna Hills, CA, USA. GRC's web and customer privacy policy. |
Last Edit: May 28, 2010 at 13:38 (5,224.53 days ago) | Viewed 7 times per day |