UTF-8 locales

Yaakov (Cygwin/X) yselkowitz at users.sourceforge.net
Thu Dec 17 01:25:35 PST 2009


Cygwin is moving to UTF-8 locales by default, which is posing a number 
of issues:

1) The default locale, if LANG/LC_CTYPE/LC_ALL are unset, will be 
C.UTF-8.  (Debian is apparently moving this direction as well[1].) 
Right now, though, Xlib does not support such a locale:

Warning: locale not supported by Xlib, locale set to C

For now, we have added a locale.dir entry:

en_US.UTF-8/XLC_LOCALE          C.UTF-8

But I'm not entirely sure this is correct; after all, C != en_US.  Does 
anyone know how Debian is handling this, or insight into how we should?

2) Even if the user explicitly chooses en_US.UTF-8 or another currently 
supported UTF-8 locale, but does not have the CJK fonts installed 
(daewoo-misc, isas-misc, and jis-misc), then some applications 
experience a delay in startup (~3 seconds on my fast machine with a 
local X server) followed by the following warning:

Warning: Missing charsets in String to FontSet conversion

The delay appears to be coming from roundtrips in Xlib[2], and is 
triggered by the listing the CJK charsets in the *.UTF-8/XLC_LOCALE. 
This most notably affects xterm, but some other Xaw apps are affected as 
well.  Just because a user is using a UTF-8 locale does not mean that 
they will ever need the CJK fonts, so I'd rather not force a dependency 
thereon.  Is there another way to deal with this to avoid the delay and 
the dependency?


Yaakov
Cygwin/X

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=522776
[2] 
http://cgit.freedesktop.org/xorg/lib/libX11/tree/modules/om/generic/omGeneric.c#n845


More information about the xorg-devel mailing list