[cairo] Non-rectangular sub-pixels
Bill Spitzak
spitzak at d2.com
Thu Aug 11 11:16:07 PDT 2005
> On 8/11/05, James Cloos <cloos at jhcloos.com> wrote:
>>It seems like cairo (and Xft) will need to add support at least for
>>panels that have the pixels rotated from the conventional layout with
>>either constant or alternating rotations, and perhaps also for panels
>>with chevron-shaped pixels.
>>
>>Obviously, simply scaling width by three and multiplying with the
>>colour matrix as done in Xft is not enough for these panels. And I
>>can't quite picture what the transform matrix does need to be, but
>>am I correct that the math remains straitforward? That it is still
>>an affine transform? At least the sub-pixels are still trapezoids
>>or pairs of trapezoids....
Since the pixel centers are still in a rectangular grid, the transform
is not different. What would change is the filtering of the transformed
image used to produce each pixel. Roughly speaking, the pixel should be
as bright as the amount of the letter that intersects that
chevron-shaped region, which would be different than the amount that
intersects a rectangular region. However the algorithim being used is
only a rough approximation of this intersection anyway, plus real
sampling theory makes the intersected area a much more blurry and round
sinc pattern, so I find it hard to believe the difference between these
is going to be visible, the difference is probably an order of magnitude
smaller than the errors already in the system.
It would also seem that if the pixel shape was a problem, the screen
would make vertical lines look bad, or at least different than
horizontal lines. If this is not true, then I don't believe changing the
filtering will improve anything. I suspect either the X setup is wrong,
or the screen is doing very bad conversion of signal to brightness
levels (for instance throwing away some of the bits of one channel).
Try taking a screen shot from one of the working displays and putting it
on this one.
More information about the cairo
mailing list