Linux – How to configure setfont and loadkeys properly

consolefontskeyboard-layoutlinuxlocale

I'm installing LFS and I'm struggling with this section. My locale is sv_SE.UTF-8 and I have a Swedish keyboard. So I suppose I should enable unicode and that the keymap is sv-latin1:

cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console

UNICODE="1"
KEYMAP="sv-latin1"

# End /etc/sysconfig/console
EOF

Correct? What I'm struggling with is how to set the font. The book has this example for configuring the German keymap:

cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console

KEYMAP="de-latin1"
KEYMAP_CORRECTIONS="euro2"
FONT="lat0-16 -m 8859-15"

# End /etc/sysconfig/console
EOF

Since German and Swedish is somewhat similar I suppose I could possibly use the same font, but I don't really understand the difference between lat0-16, lat1-16 and lat2-16. Also how do I know if I'm supposed to use 8859-15 or 8859-1?

In UTF-8 mode, the kernel uses the application character map for conversion of composed 8-bit key codes in the keymap to UTF-8, and thus the argument of the "-m" parameter should be set to the encoding of the composed key codes in the keymap.

So I guess the -m parameter is dependent on the chosen keymap, but how do I know what application character map my keymap uses?

Finally I also have a question about the font naming: The latin (I suppose that's what lat stands for) fonts have names on the following form: latX-Y

Is it correct that X specifies what characters are supported and Y specifies the font size?

Best Answer

The latin1 stands for Western European languages - i.e. German. latin2 is for Central European - i.e. Poland, Czech Republic and others. The lat1-16 stands for Latin 1 (8859-1), font size 16 points. lat2-16 stands for Latin 2 (the same with iso 8859-2) with height 16 points (pixels).

Related Question