David Funk wrote:
 
 I am using Xemacs 21.0.67 under NT, and had a problem using my favourite fonts
 (e.g. the 6x13 font that comes with Reflection X).
 
 I traced this to 2 problems in objects-msw.c: 
[snip]
     The intention of line 985 seems to be to select the default
charset (the
     first in charset_map) for the font.  I think line 985 should be:
 
         985       strcat (fontname, charset_map[0].name);
 
     i.e. it should add the default charset to the end of the font name, as per
     line 981. 
Yep. Thanks. I'll incorporate your fix into a patch that I'm putting
together.
 2.  The default charset - i.e. the first in charset_map - is
"Western", which
     maps to a logfont.lfCharSet of ANSI_CHARSET.
 
     Thus, if I use a font like 6x13 that doesn't have a matching lfCharSet in
     charset_map, it gets a default charset of "Western".  Later, when
     mswindows_initialize_font_instance() looks up the "Western" in
charset_map,
     it sets lfCharSet of ANSI_CHARSET.  The result is that NT looks for the
     6x13 font in the ANSI charset, and can't find it.
 
     If, however, you use lfCharSet = DEFAULT_CHARSET, NT looks in all charsets,
     and finds it. 
[snip]
The intention of the code is to unambiguously identify the available
fonts, so I'm not very keen on your solution. I've not come across a
font before that didn't have one of the charsets out of charset_map.
Would you mail me the font so that I can try to come up with an
alternative solution? Does this font ship as a Windows font with
Reflection X or did you convert it to a Windows font?
Jonathan.
-- 
Jonathan Harris  |  jhar(a)tardis.ed.ac.uk
London, England  |  Jonathan.Harris(a)symbian.com