Linux Unicode, Console & Missing Glyphs
As someone who likes the linux virtual console and only delves into X when there are no more framebuffer programs available for doing what I want, ever since everything switched to unicode/utf8 something had been bugging me:
My font was lacking glyphs, such as «
, ↑
etc.
And my programs would only show �
in their place or nothing at all.
So I went through every single console font I had on my system, only to find out that other fonts were then missing such crucial glyphs like the `
and ’
which are pretty commonly used in the man
-pages.
Hit the jump to learn about a workaround.
Hunting for possible replacement fonts which would contain all the glyphs I needed (— there are none!), I stumbled upon a package which is known to Debian as fonty-rg
. This package contains a file named rg.fallback
which is basically a substitution list which substitutes «
for <
, ↑
for ^
and so on. What this means is, that whenever a program wants to print a «
to the screen, a <
gets displayed instead.
While this is still suboptimal, it is much better than nothing or the missing glyph character.
So how do you use this replacement table? The fonty-rg package conveniently includes the two scripts utf8
and iso
which act as replacements / wrappers to the old unicode_start
and unicode_stop
scripts. So if you had used unicode_start font-name
previously, you’d just call utf8 font-name
now which will take care of loading the rg.fallback
file using consolechars
’ -k
-flag.
But how do you get it to use the replacement table on system startup? Debian uses a file /etc/console-tools/config
to do the boot time font setup.
Open that file and look for SCREEN_FONT=
. Append \ -k\ rg.fallback
to that entry.
Example:
SCREEN_FONT=lat9w-12\ -k\ rg.fallback
I’ve found lat9w
to be the font that best suits my needs. latin9 is the European charset. If you’ve like me always wondered about the difference between the lat9[uvw] files, http://www.tldp.org/HOWTO/Francophones-HOWTO-6.html (french) has a fairly good explanation of some very strange things.
The summary is that the -w-font is probably the best one ;).
12 is just my prefered font size on 1024×768, — on 1280×1024 I am using a font size of 16.