[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: