Subpixel rendered text
Subpixel rendering is a technique used to smoothen the shape of an
object, it's mostly used on monochrome text. Today many projects,
particularly web browsers, will enforce this rendering technique
for text, and it has even been mostly mandatory on Windows, where
it is called ClearType, despite Microsoft actually acknowledging
that it is a bad idea to make it mandatory.
Subpixel rendering entails rendering the shape not on the pixel
level, that is chosing how bright the pixel shall be by how much
the of the pixel the shape covers, but instead doing this on
the subpixel level (on the colour channels), then you blur it
a bit, or redistribute the energy, to remove colour fringing,
This bluring is very faint, and not at all like Gaussian blurring,
so the text isn't usually perceived as blurry (unless you combine
it with GNOME's new feature the text is intentionally blurry
because think that is the correct why to render text: without
hinting).
Subpixel rendering does however have some major drawbacks, that
are more pronounces to less pixel density you have. First of,
by the very nature of this technique, it requires that the monitor
uses pixels and colours the way a LCD monitor. It is not compatible
at all with displays that does not have colours, and it produces
bad results on CRT monitors which actually naturally smoothens
the text.
The second issue is that the text most be rendered specifically
for the subpixel layout that your monitor uses - and adjust
according to the monitors orientation. The rendering engine
must not assume the standard horizontal red–green–blue layout
even if that is what the monitor is reporting, but must also
detect if the monitor is rotated and adjust accordingly. If the
subpixel rendering is done for the wrong layout, the result
will look terrible.
The third issue that follows is that it cannot be used on every
monitor that wods as an LCD monitor. For example, if the monitor's
subpixel layout is a 2-by-2 grid, where the upper row is red–green
and the lower row is green–blue (if there are to not directly
connected subpixels with the same colour) the rendering engine
must have direct control of each subpixel even being able to
set different brightness on subpixels with the same colour
belonging to the same pixel, and this is most likely something
it simply cannot do.
A fourth issue that also follows from the second is that the
rendering must be done specifically for the display the text
is being display on, so if you have two monitors with different
layout (for example two identical montors, but with is rotated
and the other is not), the rendering must account for this.
Yet another issue that follows is that screenshots of the text
may look bad if viewed on another display.
Also, zooming in on the text will look terrible.
Those are the 7 technical issues, some can be overcome,
others cannot. Then there are viewer-dependent issues. The
rendering must be tuned for the viewer for the result to look
as good as possible and not being a distracted. This is because
people are different sensitivity to colour discrepancies and
shape discrepancies. Subpixel rendering assumes that the reader
much more sensitive to shape discrepancies than colour
discrepancies, and this is absolutely not always the case.
There are two major issues with subpixel rendering that plaque
people that are sensitive to colour discrepancies. The first
and most common issue is that the black or white text appears
to be littered with colourful dots: it looks like someone has
put glitter on it — this can actually cause the user headache
or fatigue. The other issue, is that an entire letter or more
commonly an entire word has the entirely wrong colour. Commonly
it may look dark purple instead of black.