[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
linux-utf8 terminfo description
Bruno Haible's terminfo description source file, in
<ftp://ftp.ilog.fr/pub/Users/haible/utf8/linux-utf8.terminfo>,
has the following contents:
linux-utf8|linux in Unicode (UTF-8) mode,
use=linux,
in other words, no change from the regular "linux" terminal type except
for the name. This should be adapted to better describe the capabilities
that are actually there when the console is in UTF-8 mode. Maybe we can
come up with the necessary changes here, and "linux-utf8" can become
somewhat more "offical" (as far as that goes; I guess it would mean its
becomes part of the ncurses distribution and/or esr's distribution).
There are two points I am aware of:
1)
acs_chars acsc ac graphics charset
pairs, based on
vt100
Afaik these don't work in UTF-8 mode at all. So no acsc capability
should be in the "linux-utf8" description at all. (Ncurses will
use builtin ASCII fallbacks in that case).
2)
Which attributes are actually available?
This is not strictly related to UTF-8 mode. But I think most folks
who use UTF-8 on the text console use it in connection with a 512
character console font. The price to pay for having 512 glyphs is
loss of one attribute bit. In the kernel I am using, "bold" (high
intensity) is not possible with such a font. That is 2.0.3x (you don't,
need to tell me I should upgrade). I think this has changed in later
kernels, but don't know exactly how. I looked at newer driver source
a while ago, it seemed a different, less frequently used attribute is
now sacrificed.
A correct terminfo description for such a situation should not claim
any terminal support for "bold" (or whatever other attribute is
unavailable).
3) anything else?
There may be similar considerations for "xterm-utf8".
Finally, a general observation: deducing the UTF-8 state of the terminal
environment form the name of the $TERM is an ugly trick... All neccessary
information an apllication should need should be in the *contents* of the
temrinal description, not in its name. The same goes for attempts to
get this info from LC_ALL/LC_CTYPE/LANG environment variables (Bruno's
utf8locale.c). The info should be *in* the description, the name should
not matter at all. Any disagreements?
Klaus
-
Linux-UTF8: i18n of Linux on all levels
Archive: http://mail.nl.linux.org/lists/