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
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
’ which are pretty commonly used in the
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
^ 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
iso which act as replacements / wrappers to the old
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
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
\ -k\ rg.fallback to that entry.
SCREEN_FONT=lat9w-12\ -k\ rg.fallback
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.