[cairo] Subpixel Positioning w/FreeType

Behdad Esfahbod behdad at behdad.org
Sun Oct 11 01:05:44 PDT 2009

Hi Freddie,

Adding subpixel positioning support is indeed in my longterm plan for cairo. I 
have discussed it before on the list.  But I'm by no way close to making a 
firm commitment to a deadline right now.


On 10/06/2009 12:58 PM, Freddie Witherden wrote:
> Hi all,
> I am wondering about any current or future proposals for supporting
> subpixel positioning with FreeType. Subpixel positioning -- not to be
> confused with subpixel rendering/anti-aliasing -- allows for more
> accurate glyph positioning.
> Much like subpixel rendering, subpixel positioning takes advantage of
> the fact that LCD screens are made up of three subpixels in a specific
> order. This order is usually RGB. The predictable subpixel order
> allows for three times the horizontal resolution. The same technique
> can be applied to glyph positions. Instead of having to start on a
> pixel boundary glyphs are instead able to start on a subpixel
> boundary. This allows for spacing accurate to 1/3 of a pixel in most
> cases.
> It is my understanding (from looking over the source) that Cairo does
> not currently support subpixel positing under FreeType. Further, I
> also understand that the FreeType code has been recently re-written
> (there was a note on the 1.10 roadmap) to take advantage of the
> subpixel filtering API exported by FreeType.
> I believe that basic, 1/3 of a pixel, subpixel positing could be
> implemented in Cairo without a huge amount of work. It would of course
> only be applicable when subpixel rendering is enabled. Since Cairo and
> Pango both already use fractional co-ordinates this should not break
> backwards compatibility.
> Both Quartz (OS X) and ClearType (Windows) support this already.
> Polemically yours, Freddie.
> _______________________________________________
> cairo mailing list
> cairo at cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo

More information about the cairo mailing list