Red Hat Bugzilla – Bug 192627
xterm doesn't show all chars (fonts related)
Last modified: 2007-11-30 17:11:33 EST
Description of problem:
xterm doesn't show unicode chars properly. It shows blank chars instead. I also
tried to update from rawhide, but with no effect.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. ls -l and there are blank chars in names of months of file/dir creation time.
-rw-r--r-- 1 xslaby xslaby 7786586 Ãj 30 2000 v001.wav
-rw-r--r-- 1 xslaby xslaby 7786586 ÅÃj 30 2000 v001.wav
I tried -u8 with no effect. It seems it chooses bad font. When I try:
xterm -font -misc-fixed-medium-r-semicondensed-*-13-*-*-*-*-*-iso10646-*
it seems to be fine.
I have this problem on both desktop and notebook with FC5.
My .Xresources contains only this:
Does it work when you specify:
# xterm -en utf-8
Or if instead of running 'xterm' you run
Xterm by default, unless you've specified the default font resource or
command line argument, will load the font associated with the alias
'fixed' (at least it does on my system) which on my system is specified
in /usr/share/X11/fonts/misc/fonts.alias as:
ie. an iso8859-1 encoding.
Invoking xterm with the '-en utf-8' argument or as 'uxterm' should make it
use the utf-8 encoding by default.
A set of Xresources to specify UTF-8 encoded fonts as the default is shipped
in the file /usr/share/X11/app-defaults/UXTerm - you might consider sourcing
this file in your ~/.Xresources with '#include "UXterm"' or putting
'#include "UXTerm"' in your system default /usr/share/X11/app-defaults/XTerm
file if all your users expect the UTF-8 encoding to be the default.
xterm -en utf-8 does not solve the problem.
xterm -class UXTerm (it's called by uxterm that way) or including UXTerm do, but
it's only cloberring the bug or anything else.
fixed is aliased to iso-8859-1 font here too
! Here is a simple description. A technically precise one would be very long.
! When xterm starts up, it uses the
! resource, and if it is told to switch to wide-character (UTF-8) mode, it
! checks if the given font is "wide", and if not looks for the
! to obtain a wide font. A "wide" font has more than 256 glyphs. Typical
! wide fonts have 10,000 glyphs. If the original "*VT100.font" is not wide,
! and xterm can load the *VT100.utf8Fonts.font, it will use that.
iso8859-1 font (fixed, the default) contains only 256 glyphs, so it's not wide,
why doesn't xterm choose utf8font, which is set appropriate, when it's told to
be in wide char. mode?
This bug is now fixed in upstream version 213 - from the xterm ChangeLog:
" add utf8Latin1 resource to make optional the feature from patch #209 which
allowed ISO-8859-1 fonts to be used in cases where a wide font was given. This
would only work for the special case where the user normally used Latin-1 and
wanted some wide characters (report by Rostislav Krasny).
Whatever that was about, it also fixed your issue - a wide font is now used by
default in UTF-8 locales - fixed in xterm-213-1.FC5, being release to
xterm-213-1.FC5 has been pushed for fc5, which should resolve this issue. If these problems are still present in this version, then please make note of it in this bug report.
xterm-213-1.FC4 has been pushed for fc4, which should resolve this issue. If these problems are still present in this version, then please make note of it in this bug report.
Still no xterm-213-1 in FC5 update repo, but after updating xterm from devel
tree, it's OK. Thanks.