Issue650

classification
Title Warning: Missing charsets in String to FontSet conversion
Type defect Module core code 21.4, core code 21.5
Severity inconvenience Platform N/A
Keywords Nosy List FKtPp, tbrowder
explanation
process
These controls should only be changed by committers and tracker administrators.
Status new   Reason
Superseder  
Priority normal   Assigned To

Created on 2009-12-24.12:23:55 by tbrowder, last changed 2010-01-04.17:53:46 by james.

Messages
msg2050 [hidden] ([hidden]) Date: 2010-01-04.17:53:46
  Message-ID: <870180fe1001040916j2ff84eean3cc4652b7285251@mail.gmail.com>
[Saw this issue on last week's tracker list.  I thought it we be
better to bring this out on the mailing list than continue the
discussion on the tracker only.]

This is neither XEmacs' fault nor under XEmacs' control.

First, it would be VERY helpful if the list of missing charsets were
printed along with the error message.  However, all of that is hidden
inside of the X libraries.  The warning message is printed by libXt
(see src/Converters.c in the libXt distribution).  It was the choice
of the libXt implementers to not list the missing charsets in that
message, even though they have that list available at the point where
the warning is printed.

Second, this can't be fixed by editing XEmacs code.  The following
description may be specific to Fedora, but the situation should be
similar on other Linux distributions.

When a font string is provided, libXt calls XtCvtStringToFontSet to
check whether the resulting FontSet covers every CharSet associated
with the calling process's locale.  To see the CharSets associated
with a locale, look in the appropriate locale file under
/usr/share/X11/locale.

I use the en_US.UTF-8 locale, for example, so I look in
/usr/share/X11/locale/en_US.UTF-8/XLC_LOCALE, where I see that X is
going to look for the following CharSets:  ISO8859-1, ISO8859-2,
ISO8859-3, ISO8859-4, ISO8859-5, KOI8-R, ISO8859-7, ISO8859-9,
ISO8859-13, ISO8859-14, ISO8859-15, JISX0208.1983, KSC5601.1987,
GB2312.1980, JISX0201.1976, and ISO10646.  If I specify a FontSet
string that doesn't match fonts for every single one of those
CharSets, I'm going to see the warning.

On my Fedora installation, there is no ISO8859-13 font in any of the
xorg-x11-fonts-* packages, so I get this warning no matter what font
string I supply.  This is not specific to XEmacs.  Try running some
other application that uses the legacy X font system, such as
xfontsel.  You will see the same warning.

The warning is generally harmless.  It just means that you can't view
some CharSets, but they're probably CharSets you don't want to view
anyway.  Ultimately, it is up to the user to install fonts that cover
the appropriate CharSets, and to supply FontSet strings that match
those fonts.  I got rid of this warning by installing an ISO8859-13
font, which I never use (the terminus-fonts package, for the curious).

So what can you do?  Complain to your distribution that (a) libXt
doesn't print the list of missing charsets, and (b) libX11 + libXt
require a charset for your locale that is not provided by any font in
an xorg-x11-fonts-* package (and, in my case, is highly unlikely to be
needed by any user in the locale).

This issue should probably be closed NOTABUG, but I'll leave it open
for a short time to see if there are any responses.
-- 
Jerry James
http://www.jamezone.org/

_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta@calypso.tux.org
http://calypso.tux.org/mailman/listinfo/xemacs-beta
msg2049 [hidden] ([hidden]) Date: 2010-01-02.12:23:07
  Message-ID: <1262434987.61.0.769813867421.issue650@xemacs.org>
It's very easy to reproduce this issue in fedora 11 with xim support
compiled in.
msg2042 [hidden] ([hidden]) Date: 2009-12-24.12:23:55
Ubuntu 9.10, XEmacs warning message:

Warning: Missing charsets in String to FontSet conversion

Lots of web discussion from as far back as 2002 but no single solution.
 If possible, adding missing font name or more detail to message would
be a great help.
History
Date User Action Args
2010-01-04 17:53:46jamessetmessages: + msg2050
2010-01-02 12:23:07FKtPpsetnosy: + FKtPp
messages: + msg2049
module: + core code 21.5
2009-12-24 12:23:55tbrowdercreate