I just redid the antialiased text/xrender patch against the latest on
the 21.2 branch; everything mostly works.
It's available at
http://www.intrepid.com/~vladimir/xemacs_beta_aa.patch.gz .
The fonts are specified now in normal XLFD fashion, and the code will
attempt to find a truetype font that can be rendered antialiased first,
and if it fails, will fall back to core fonts.
However, I'm having some expose/redraw issues. When an expose event is
received, most of the time the relevant portions of the frame don't
get redrawn. Is there some sort of pixmap caching going on, so that
x_output_string doesn't always get called? Strangely enough, if I
slowly drag a window over the xemacs window, the letters do mostly
get redrawn as they appear, but if I speed up the dragging, then
nothing gets redrawn. Note that this only happens if the window is
obscured by another window, and then uncovered -- everything updates
correctly from events inside the window (text editing, moving, selecting,
etc.). Hitting C-l always causes the window to render correctly.
There's also an issue with the tabs -- I put in patch to xlwtabs.c to
avoid crashing if the font that was passed in was NULL (which shouldn't
happen, but crashes shouldn't happen either :-) and then code
in glyphs-x.c, which when setting the font for the tabs will check if
an Xft font is in use, and if it is, it will attempt to get an
equivalent core font from the library and use that. This works (the
tabs get displayed fine), but XEmacs then every once in a while
spews XConfigWindow errors and locks up (easily repeatable). I haven't
had a chance to track this one down, but hiding the tabs gets rid of
this problem.
Any help into either issue would be appreciated... also if anyone
wants to give this code a shot but needs help setting things up, feel
free to email me..
-- Vladimir
-- vladimir(a)helixcode.com