In trying to fix a realease-critical bug for fvwm95, I ran into something I don't understand about how X deals with XFontSet structures.
As I understand it, XCreateFontSet(dpy,fontname,&ml,&mc,&ds) is supposed to allow one to have a generic font name (say "fixed") which then is used to find the correct font with that generic name for the given locale. However, it's not working that way. I have the following in /usr/X11R6/lib/X11/fonts/ETL/fonts.alias: (this is not there by default) fixed -etl-fixed-medium-r-normal--14-140-72-72-c-70-iso8859-2 However, in /usr/X11R6/lib/X11/fonts/misc/fonts.alias, I have an iso8859-1 font as "fixed". Watch what happens: (The source code for the test program is attached; most of it is ripped from xlsfonts) $ ./xfontset fixed Fontset 'fixed' in locale 'C' contains -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO8859-1 as its first font. $ LANG=cs_CZ ./xfontset fixed Couldn't get fontset 'fixed' $ xset +fp /usr/X11R6/lib/X11/fonts/ETL/ $ ./xfontset fixed Couldn't get fontset 'fixed' $ LANG=cs_CZ ./xfontset fixed Fontset 'fixed' in locale 'cs_CZ' contains -ETL-Fixed-Medium-R-Normal--14-140-72-72-C-70-ISO8859-2 as its first font. That is, apparently the first definition of "fixed" overrides all others, and the font doesn't get selected based on locale at all. Is there something I'm missing? Is this a bug in X?
xfontset.tar.gz
Description: xfontset.tar.gz