>>>> "sjt" == Stephen J Turnbull
<stephen(a)xemacs.org> writes:
sjt> This is going to take a while; the lwlib/Xft/font-menu code
sjt> is just altogether too messed up, so I'm going to have to do
sjt> some general cleanup and refactoring in preparation.
OK, this is still basically true. I have fixed one simple bug,
there's a patch on XEmacs Patches, and it's been committed to CVS.
XEmacs will now properly parse your resources and use them.
*For technical reasons, I had to change the name of the resource.*
It is now fcFontName, class FcFontname for both tabs and menubar.
Leaving the xftFont resources in your ~/.Xresources is probably a good
idea; it should be a no-op, and eventually there will be an Xt
converter to use xftFont resources directly. Getting rid of xftFont
resources in favor of unifying all font resources is a longer-term
project.
However, there's a second, deeper problem, which is that there's code
in glyphs-x.c to make the tab controls sortakinda rather unreliably
pay attention to the 'buffers-tab face. That face is not updated from
the tab control resources, but does inherit from other faces (I
believe modeline is one).
The upshot is that with debug_tabs > 0 you can observe situations
where XEmacs uses the resource, but before you actually see it on the
display, the face code changes it, and what you see on the display is
a different font. Unfortunately, this doesn't always take, although I
haven't been able to find a recipe to reproduce the case where the
buffers-tab font is overridden by the Tabs.fcFontName resource font.
For now, you can either set *both* the Tabs.fcFontName resource and
the font in the buffers-tab face to your preferred font, or you can
set the resource and use the following kludge patch (which will not be
committed to CVS) to disable the buffers-tab face's font:
diff --git a/src/glyphs-x.c b/src/glyphs-x.c
index 5f48dc6..175e064 100644
--- a/src/glyphs-x.c
+++ b/src/glyphs-x.c
@@ -2374,7 +2374,8 @@ update_widget_face (widget_value* wv, Li
#ifdef USE_XFT
XftFont *rf = FONT_INSTANCE_X_XFTFONT (fi);
- if (rf)
+ /* #### JUST FOR TESTIONG! */
+ if (rf && !EQ (IMAGE_INSTANCE_WIDGET_TYPE (ii), Qtab_control))
{
/* #### What to do about Motif?
IIRC, Motif is shut out if we're using Xft, so it may be OK.
I can't really promise either will work, but at least now you've got a
fighting chance. :-)
I also don't know how this affects the menubar, but since no problems
have been reported with the menubar font and I haven't observed any in
my testing, I have hope that this doesn't introduce a bug there.
--
School of Systems and Information Engineering
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.