Ugly VGA fonts with console-setup (Squeeze)
Things have changed in the area of text-mode console fonts between
Lenny and Squeeze. And I'm not happy about it.
Here is how I had things set up in Lenny.
The boot loader (grub, now called
grub-legacy in Squeeze) sets the video mode via the vga parameter.
For example, vga=3841 sets an 80x50 video mode. vga=3846 sets an
80x43 video mode, etc. Then either console-tools or kbd (via
/etc/console-tools/config or /etc/kbd/config, respectively) sets the
font (via SCREEN_FONT= or CONSOLE_FONT=, respectively). The size
of the font needed is determined by the video mode. With vga=3841
(80x50) an 8-point font is needed and I specify lat1u-08. With
vga=3846 (80x43) a 14-point font is needed and I specify lat1u-14.
Other than the fact that the video mode and font have to be manually
co-ordinated, this worked well.
But in Squeeze, it's a different story. The first problem is that
grub in Squeeze (which Lenny called grub2) is a completely new
boot loader. It may have the same name, but it is entirely new.
And the new grub doesn't support the vga option. To get vga to
work I had to install a different boot loader. To avoid confusion
between different grub releases I went back to lilo, which also
supports the vga option. OK, that problem is now "solved". But
setting the font is a problem too. There is a new package in Squeeze
called console-setup, which does not replace either console-tools
or kbd. If kbd is installed, it recognizes that console-setup is
installed and does not set the font. If console-tools is installed,
both console-tools and console-setup try to set the font. But since
console-setup runs after console-tools, console-setup wins. Either
way, it is console-setup that now controls the font.
By running "dpkg-reconfigure console-setup" I can get a VGA font of
the right point size (as long as what I need is 8, 14, or 16). But
the VGA fonts in console-setup are really *ugly* compared to the
very-nice-looking fonts that I'm used to from the kbd and
console-tools packages, chiefly lat1u-08, lat1u-14, and lat1u-16.
I have kbd installed under Squeeze now, and I can set the font
on the fly by using
for example, and then things look OK. But if I switch to
the X console with Alt+F7, then switch back to a text console with
Cntl+Alt+F1, I'm back to the ugly font from console-setup. Some of
the fonts are worse than others. The 8-point font isn't *too* bad,
but the 14-point font is horrible. The lower-case "s", for example,
doesn't even start on the same baseline as the other letters. Is
there some way to make console-setup use the nice-looking fonts
from /usr/share/consolefonts that were designed for kbd and/or
console-tools? There's a wide selection of them, and a lot of time
and effort has been spent over the years to make them look nice.
And now that all gets thrown out by the hastily-thrown-together,
limited selection, ugly fonts in console-setup. Yuck!
P.S. Don't tell me to use framebuffer. I want a real text-mode