Bug#318923: xterm: localization hell again (even with UTF8 locales)
On Tue, Jul 19, 2005 at 06:09:36PM -0400, Thomas Dickey wrote:
> Looking for a different way of seeing things, I find that xfd can display
> TrueType fonts (in a limited way - no size changes). If I run
>
> xfd -fa Terminus
Oh yes. Running xfd in en_US.UTF-8 locale, I indeed get only
one glyph page. And running in in uk_UA.UTF-8, I get multiple
pages, with most of required Cyrillic in code points starting
from 0x400.
> It shows me a single page (0 to 255). Doing
>
> xfd -fa FreeMono
>
> shows several pages, populated with glyphs. Looking for the files that
> represent xfonts-terminus, I see only some bitmap fonts.
Yes, Terminus is bitmapped. But on my system it is managed
through FontConfig and displayed in fc-list as well.
As to FreeMono, in en_US.UTF-8 xfd catches 'Bitstream Vera Sans
Mono' that does not have Cyrillic page; and in uk_UA.UTF-8 -
'Andale Mono' (Microsoft TTF) that does have it.
> However, as you report, I can tell gvim to load "Terminus" font and display
> the date in uk_UA.UTF-8 locale.
Yes, gvim and Mozilla were rock-solid as to i18n, since long.
> Here is another clue: I can see by the access times which font is actually
> being loaded. For whatever reason, both xterm and xfd are causing Xft
> to load the 8859-1 version of the font rather than the unicode version.
Yes, indeed something may happen due to Xft/FontConfig. But why
should it limit code points in such way ? To bring more hell to
mixed-language users ? :>
Anyway, gvim and Mozilla managed to overcome that in some way...
> Here's a cut-paste from my directory editor showing the access times:
>
> crayon:/ 4 of 191 [atime]
> 96 Tue 18:00:06 etc/fonts/conf.d/
> 54 Tue 18:00:06 etc/fonts/conf.d/50-enable-terminus.conf
> 02 Tue 18:00:06 usr/X11R6/lib/X11/fonts/misc/ter-u12n_iso-8859-1.pcf.gz
> 25 Tue 17:58:35 usr/X11R6/lib/X11/fonts/misc/ter-u14b_iso-8859-1.pcf.gz
> 32 Tue 17:58:35 usr/X11R6/lib/X11/fonts/misc/ter-u14n_iso-8859-1.pcf.gz
> 70 Tue 17:58:09 usr/X11R6/lib/X11/fonts/misc/ter-u16b_unicode.pcf.gz
> 97 Tue 17:58:08 usr/X11R6/lib/X11/fonts/misc/ter-u16n_unicode.pcf.gz
> 25 Tue 17:52:50 usr/share/doc/xfonts-terminus/README.Debian
> 51 Tue 17:52:20 etc/X11/fonts/misc/xfonts-terminus.alias
>
> The "u12n" is loaded by xfd (running in uk_UA.UTF-8 locale).
> The "u14b" files were loaded by "uxterm -fa Terminus"
> The "u16n" files were loaded by gvim (running in uk_UA.UTF-8 locale).
>
> The 8859-1 fonts of course are 8-bit, and the codes that you are attempting
> to display are not.
I checked this too. I use strace rather that ls/find/etc
options. Lots of useful can be dug out of strace logs.
> So it does not appear to be a problem with the font-files themselves,
> but perhaps the font server (perhaps requiring some new or modified
> information). I see that /usr/bin/X11/xfs is dated June 1.
I don't use xfs. I use client-side FontConfig and server-side
FontPath for 'classic' applications.
Btw, I used XLFDs in app-defaults/XTerm and they worked for me
until some upgrade (don't remember exactly, either xterm from
4.3.0 to 6.8.2, or between some 6.8.2s), when 'the hell'
returned again :>
XTerm:
*VT100.utf8Fonts.font2: -*-terminus-medium-*-*--14-*-*-*-*-*-iso10646-*
*VT100.utf8Fonts.font: -*-terminus-medium-*-*--16-*-*-*-*-*-iso10646-*
*VT100.utf8Fonts.font3: -*-terminus-medium-*-*--17-*-*-*-*-*-iso10646-*
*VT100.utf8Fonts.font4: -*-terminus-medium-*-*--20-*-*-*-*-*-iso10646-*
*VT100.utf8Fonts.font5: -*-terminus-medium-*-*--24-*-*-*-*-*-iso10646-*
*VT100.utf8Fonts.font6: -*-terminus-medium-*-*--28-*-*-*-*-*-iso10646-*
*VT100*font2: -*-terminus-medium-*-*--14-*-*-*-*-*-iso10646-*
*VT100*font: -*-terminus-medium-*-*--16-*-*-*-*-*-iso10646-*
*VT100*font3: -*-terminus-medium-*-*--17-*-*-*-*-*-iso10646-*
*VT100*font4: -*-terminus-medium-*-*--20-*-*-*-*-*-iso10646-*
*VT100*font5: -*-terminus-medium-*-*--24-*-*-*-*-*-iso10646-*
*VT100*font6: -*-terminus-medium-*-*--28-*-*-*-*-*-iso10646-*
UXTerm:
*VT100*font2: -*-terminus-medium-*-*--14-*-*-*-*-*-iso10646-*
*VT100*font: -*-terminus-medium-*-*--16-*-*-*-*-*-iso10646-*
*VT100*font3: -*-terminus-medium-*-*--17-*-*-*-*-*-iso10646-*
*VT100*font4: -*-terminus-medium-*-*--20-*-*-*-*-*-iso10646-*
*VT100*font5: -*-terminus-medium-*-*--24-*-*-*-*-*-iso10646-*
*VT100*font6: -*-terminus-medium-*-*--28-*-*-*-*-*-iso10646-*
After one upgrade, I have found that my xterm started to display
'fixed' font. It started to skip these 'terminus' XLFDs in some way.
Then I did some juggling (copied XLFDs from XTerm to UXTerm ot vice
versa, don't remember exactly), and Terminus returned back. But
then it had bad boldification (artificial one, through
overstrike). Then I thrown '*faceName: Terminus' in, which
brought the proper boldification, but with bundled localization
hell as well :>
Reply to: