Re: Default character set of the Linux console

Qrczak (qrczak@knm.org.pl)
Fri, 26 Dec 1997 20:32:32 +0100 (MET)


On Fri, 26 Dec 1997, Tuomas Heino wrote:

> There _is_ a way to force a "default" mapping from userspace - haven't yet
> tracked down how to do that though... ("default" as in only_one_in_use?)
> You could try fooling with svgatextmode/setfont/alike ;)

Switching to ISO-8859-1 after ^[c is hard coded in the kernel, so I think
no external utility can change that - am I wrong?

> Please DON'T default reset escape stuff to user editable maps...

I have to (at least using terminfo + /etc/profile), because I want some
other charset than ISO-8859-2 _only_ if either I switch it manually or
some program wants it and knows what it is doing. Programs which don't
care about charsets should always use _my_ default, ISO-8859-2. The
question is, how should it be done. Not, if it should be done at all.

Resetting the console doesn't change the physical font - the user loaded
font remains in use. So why couldn't it change the ACM switch to "user
defined" as well?

Some termcaps and terminfos use ^[c for clearing the screen! So if the
kernel behavior don't change, I have at least to change terminfos.

One solution (very bad IMHO) used here in Poland is to produce fonts with
wrong SFM table, which describe the font as ISO-8859-1, although it looks
like ISO-8859-2. But such fake fonts can't be proprely used in Unicode
mode or with programs which set ACM for themselves.

(I'm not sure if the names "ACM" and "SFM" are used only in Yann Dirson's
console-tools or more widely.)

> FYI the current 2.1.xx vga.c has something like this:
[...]
> Hmm how to call "set_get_font(char * arg, int set, int ch512)" from
> userspace with null arg? (setfont doesn't do that...)

I don't understand how it is related to my problem :-(

The only thing that should be done somewhere is to activate custom ACM
after login, after clearing the screen with ^[c etc., so ISO-8859-2 or
anything other could be the default.

> /* let's repeat the point: this's the wrong way(tm) */

OK - so what is the right way? Terminfo + /etc/profile? HOW?

--
                                 QRCZAK      #
    __("<              Marcin Kowalczyk     #*#
    \__/              qrczak@knm.org.pl    #\#&#
     ^^      http://qrczak.home.ml.org/      I