Xft subpixel rendering patch

Keith Packard keithp at keithp.com
Sun Aug 28 09:00:59 PDT 2005

On Sat, 2005-08-27 at 12:54 -0400, John Coiner wrote:
> Here's a patch for Xft's subpixel rendering. I think it looks better. 
> It's described here:
> http://people.brandeis.edu/~jcoiner/subpixel/Xft_subpixel_rendering_patch.html#patch
> This patch applies to the Xft that comes with Xorg 6.8.2 ... if there's 
> interest, I can re-base the patch off of a more current version of Xft.

Yeah, Times New Roman is a terribly hinted font -- it was one of the
first fully instructed fonts and the designers clearly tuned it using a
monochrome rasterizer. In the case of the '2' and 'Z', the stems
actually shrink to nearly zero width after the hinting has been applied.
With a monochrome rasterizer, drop-out controls in the rasterizer ensure
that the stem doesn't disappear, but in a gray-scale rasterizer, it's
not really possible to avoid this problem.

I do remain a bit shy about using an inter pixel filter in Xft as it
will break simplistic character cell applications like xterm, but we may
be able to use a different filter in cairo where fewer backwards
compatibility concerns exist.

However, the suggested filter appears to blur the edges of vertical
stems and produce color fringes there. An important piece of the current
filter is that it doesn't do this, taking advantage of the sharp edges
available at pixel boundaries to provide better glyph definition.

One possibility would be to expose the filter constants in the font
configuration mechanism and let people explore this space on their own,
this would encourage a bit of evolutionary filter design which we could
eventually codify in a range of sample filters.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20050828/1772067d/attachment.pgp>

More information about the xorg mailing list