28

November
2012

Console font and keymappings

In order to support displaying of international characters on textmode console and provide correct keyboard mappings, I need the folloging information from you - the users:

1) What is your language
2) What is your preferred konsole font
3) What is your preferred keyboard mapping

The 1) is obvious.

For 2) I will need you to run Slax in textmode only and navigate to /usr/share/kbd/konsolefonts/ directory. You'll find there a bunch of console fonts, you can try them by "setfont" command, for example for Russian you will probably try "setfont -v UniCyrExt_8x16.psf.gz". Alternatively you may start "setconsolefont" and select from the menu.

For 3) I will need you to run Slax in textmode only and navigate to directory /usr/share/kbd/keymaps/. There are several subdirectories, you have to find your preferred keyboard mapping from the files inthere, you can try it by "loadkeys" command. For example for russian you'll probably want to try "loadkeys ru" or "loadkeys ru.map.gz". You can then switch between english and russian keyboard by pressing Pause/Break key.

So, if you want your language to be supported on textmode console, please provide the info which best suits you. For example, for russian, I will need to know something like:

Language: russian
Console font: UniCyrExt_8x16.psf.gz
Keyboard mapping: ru.map.gz

Actually these above mentioned values are just my guess, I need your corrections here. I will add support to Slax for all languages for which I receive the above mentioned info as a comment to this blog post, or by email. Thank you very much.

User comments
aitap 2012-11-28 09:17

Language: russian
Console font: cyr-sun16.psfu.gz
Keyboard mapping: ru.map.gz [1]

By the way, UniCyr seems to support most possible symbols from many languages, AFAIR.

[1] Is there any way to change the layout switching hotkey? Some time ago in Gentoo Linux "ru.map.gz" was able to switch between layouts using ctrl+shift, not pause/break key. Debian nowadays somehow compiles X keyboard layout definition files into linux console keymaps, allowing even strange setups like changing layout using CapsLock.

FeyFre 2012-11-28 10:37

utf8 or non-utf8? One of Slackware derivative made by my compatriot(Ukraine). One of its aims is to solve Cyrillic-related problems out-of-box. It distinguishes utf8 and non-utf8 modes of kernel(checks for vt.default_utf8=0 in /proc/cmdline)
So, for utf8 mode:
Language: Ukrinian, Russian
Console font: ter-u16n.psf.gz
Keyboard mapping: ua-utf1.map.gz
So, for non-unicode:

For non-utf8 mode:
Language: Ukrinian, Russian
Console font: ter-u16n.psf.gz (and uses additional "-m ter-koi8-u_to_uni.trans" param for setfont invocation)
Keyboard mapping: ua1.map.gz

This keymaps/font not included in Slackware originally. You can get them here ftp://download.deepstyle.org.ua/pub/deepstyle/deepstyle-4.13.37/slackware/dsa/

Tomas M 2012-11-28 10:52

Oh no, please only mention those already available in Slax (and Slackware). I believe there are so many fonts and mappings that you can choose a good one there. I'm not in the mood of downloading some external fonts or mappings, sorry about that.

Tomas M 2012-11-28 10:52

BTW: I'm not passing vt.default_utf8=0 bootparam for Slax. So you can assume UTF-8 is enabled by default.

Gary 2012-11-28 11:51

Dear Tomas,

To support CJK (Chinese Japanese Korea), I suggest you to include the font "Droid Sans Fallback", which is only 3MB, but I am not sure about the EULA.

Best regards,
Gary

Gianluca 2012-11-28 13:48

I live in Italy but I usually take us keyboard that is more confortable for my use.

Anyway I tried some combinations and for italian mapping / people I like:
1) Italian
2) lat9v-12.psfu.gz
3) it

Tested on my 13.3" laptop and seems to fill good in terms of usability and mapping.
Thanks

Liquid Snake 2012-11-28 15:12

Language: Brazillian portuguese
Console font: lat0-16.psfu.gz
Keyboard mapping: br-abnt2.map.gz

bormant 2012-11-28 18:15

Language: Russian
Locale: ru_RU.UTF-8
Console font: ter-v16n.psf.gz (terminus slim)
Console font: ter-v16v.psf.gz (terminus framebuffer-bold)
Keyboard mapping: ruwin_cplk-UTF-8.map.gz (caps_toggle)

To show font glyphs
$ less /usr/share/kbd/consoletrans/utflist

ter-v16? in compare to UniCyrExt_8x16 has Greek and Latin diacritics.

bormant 2012-11-28 18:20

* Greek was Greece, sorry

em 2012-11-28 19:42


Language: french (fr_FR / fr_FR.utf8)

Console font: lat9w-16.psfu.gz (in /usr/share/kbd/consolefonts)

Keyboard mapping: fr-latin9.map.gz (in /usr/share/kbd/keymaps/i386/azerty)

DrTor 2012-11-28 19:43

Language: Russian
Locale: ru_RU.UTF-8
Console font: LatArCyrHeb-16.psfu.gz
Keyboard mapping: ruwin_alt-UTF-8.map.gz

bormant 2012-11-28 22:48

Hm,

ter-v16n covers 623 unicode symbols;
LatArCyrHeb -- 558;
drdos8x16 -- 483;
cyr-sun16 -- 296.

$ zcat /usr/share/kbd/consolefonts/ter-v16n.psf.gz | psfgettable -
shows list of unicode symbols covered by font.

bormant 2012-11-28 22:52

UniCyrExt_8x16 covers 403 unicode symbols.

Tomas M 2012-11-28 23:47

Guys, you're not making it any easy for me. For Russian I received 5 or more different suggestions. How should I know now which one to choose? Really, that's a problem. Isn't there any universal font and mapping which suits most users?

red 2012-11-29 00:48

Language: Russian
Locale: ru_RU.UTF-8
Console font: ter-v16n.psf.gz (terminus slim)
Console font: ter-v16v.psf.gz (terminus framebuffer-bold)
Keyboard mapping: ruwin_cplk-UTF-8.map.gz (caps_toggle)

bormant 2012-11-29 01:06

@Tomas:

2) terminus in utf8 (ter-v*) can show most of unicode chars in plain console, so it is a good choice for default. Until other fonts still present at /usr/share/kbd/consolefonts, anyone can type

# setfont another_font

Users still can remap unicode font for another 1-byte encoding of ru_RU (koi8-r, koi8-u, cp1251, iso8859-5) with -m ... (from /usr/share/kbd/consoletrans) if they want.

3) As for me CapsLock is the best choice to switch layouts: one key, big key, the key still present on notebook and especially netbook keyboards (when right Alt, right Ctrl, right Win are often away). Most of russian keyboards marked with russian alphabet as ruwin layout.

So ruwin_cplk-UTF-8 seems to be the best choice for default. Until other keymaps still present in /usr/share/kbd/keymaps anyone can

# loadkeys another_keymap

bormant 2012-11-29 01:26

@Tomas:

ps. X in 13.37/14.0 uses the same as ruwin layout as default ru varuant. X can use caps_toggle for layout switching, the same key can be used in X and console.

I use

Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:caps_toggle,compose:lwin,terminate:ctrl_alt_bksp"

in /etc/X11/xorg.conf.d/90-keyboard-layout.conf (compose with lwin because there is no rwin on a lot of my keyboards).

Jacek 2012-11-29 07:08

Language: polish (pl_PL.utf8)
Consolefont: lat2a-16.psfu.gz
Keymap: pl2.map

FeyFre 2012-11-29 10:13

@Tomas
Language: Ukrainian (uk_UA.UTF-8)
Consolefont: UniCyrEx_8x16.psf.gz
Keymap: ua-utf.map.gz (Keymap also have Russian support. Switchers: Ukrainian on/off - Right Ctrl, Russian on/off - Right Alt)

But I still prefer Terminus font.

voltron 2012-11-29 22:36

Language: Russian/Ukrainian
Consolefont: UniCyrEx_8x16.psf.gz
Keymap: ua-utf.map.gz

Also +1 from me for Terminus font, in case you decide to include it.

aitap 2012-11-30 06:08

> For Russian I received 5 or more different suggestions. How should I know now which one to choose?
Font is usually just a matter of taste. Linux is perfectly usable with any of cyrillic fonts currently available. Select one which receives most votes or one containing the biggest number of glyphs (and let's hope those will be same fonts :)

Manfred 2012-11-30 08:05

1) German
2) lat9w-16.psfu.gz
3) de-latin1(-nodeadkeys)

Jacek 2013-01-04 06:33

@Tomas,
I made a mistake in a comment above. For polish language correct consolefont is:
lat2-16.psfu.gz
Could you update in next release, please?