Nalin reported to me a problem where with .pcf fonts, Xft
was rendering characters always at the left side of the
character cell, instead of at their proper X position.
Looking into it some, the problem seems to be that the
ft_glyph_format_bitmap case in XftFontLoadGlyphs() doesn't take in
slot->bitmap_left into account.
Fixing up the antialiased case is trivial; the non-antialiased case
will need some bitmap shifting code.
(I no longer have a reference to what fonts in particular were triggering
the problem, unfortunately.)
I think this will be trivial to fix by adjusting the x/y value in the glyph
metrics, but I'll need a test case that currently fails before I can commit a fix.
OK, doing some research it turns out that as long as there is a
particular relationship between the glyph metrics and the returned
bitmap that holds for current freetype drivers, things work.
The observed bug earlier was the result of a bug in the PCF driver
where slot->metrics.horiBearingX was set to an incorrect value.
Looks like this is related to bugs that Juliusz Chroboczek found in FreeType2
and which have already been fixed there.