[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ next ]
The traditionally used font collection for the Linux console is a demonstration for the big mess. There are many different fonts and nobody in the world knew the exact purpose of all of them. During the years new fonts were added, but old were almost newer removed.
Some of the fonts shared common typeface, i.e. they were differently encoded but the common glyphs were equal. In total, however, there were too many different typefaces that generally differ one from another only a little.
In order to resolve this mess the old console fonts were converted to BDF format.
In order to reduce the total number of fonts, they were converted to BDF
format. During the conversion of the fonts, only one BDF font was generated
for a group of fonts that share common typeface. Console fonts that didn't
have embedded Unicode table were simply ignored. The fonts
LatArCyrHeb*
were also ignored - partialy due to technical reasons
and partialy because the other BDF fonts are better source for making Unicode
console fonts.
The resulting BDF fonts are named after the scheme
legacyNNp.bdf
, where NN is 8, 10, 12, 14, 16
or 19 (the number of scan lines of the font, i.e. the font matrix is
8xNN) and p is a, b, c, d, e,... and serves to ensure the
uniqueness of the file names. Some of the resulting BDF fonts were produced by
only one source PSF font (for example only iso06.f08.psf
was used
to produce legacy8d.bdf
) while for others it was possible to
incorporate the glyphs from more than one PSF font (for example six different
PSF fonts were used to produce legacy16e.bdf
).
The following table documents the correspondence between the file names of the resulting BDF fonts and the names of the original PSF fonts:
legacy8a.bdf: cp857-8x8.psf iso01.f08.psf iso05.f08.psf iso07.f08.psf iso09.f08.psf legacy8b.bdf: Cyr_a8x8.psf koi8u_8x8.psf ruscii_8x8.psf legacy8c.bdf: iso02.f08.psf iso03.f08.psf iso04.f08.psf iso10.f08.psf legacy8d.bdf: iso06.f08.psf legacy8e.bdf: iso08.f08.psf legacy8f.bdf: lat0-08.psf lat9u-08.psf legacy8g.bdf: lat1-08.psf lat1u-08.psf lat9v-08.psf lat9w-08.psf legacy8h.bdf: lat2u-08.psf legacy8i.bdf: lat4-08.psf lat4a-08.psf lat4u-08.psf legacy10a.bdf: lat4-10.psf lat4a-10.psf lat4u-10.psf legacy10b.bdf: lat0-10.psf lat9u-10.psf legacy10c.bdf: lat1-10.psf lat1u-10.psf lat9v-10.psf lat9w-10.psf legacy10d.bdf: lat2u-10.psf legacy12a.bdf: lat0-12.psf lat9u-12.psf legacy12b.bdf: lat1-12.psf lat1u-12.psf lat9v-12.psf lat9w-12.psf legacy12c.bdf: lat2u-12.psf legacy12d.bdf: lat4-12.psf lat4a-12.psf lat4u-12.psf legacy14a.bdf: cp857-8x14.psf iso01.f14.psf iso05.f14.psf iso09.f14.psf legacy14b.bdf: Cyr_a8x14.psf legacy14c.bdf: koi8u_8x14.psf legacy14d.bdf: ruscii_8x14.psf legacy14e.bdf: iso02.f14.psf iso03.f14.psf iso04.f14.psf iso10.f14.psf legacy14f.bdf: iso06.f14.psf legacy14g.bdf: iso07.f14.psf legacy14h.bdf: iso08.f14.psf legacy14i.bdf: lat0-14.psf lat9u-14.psf legacy14j.bdf: lat1-14.psf lat1u-14.psf lat9v-14.psf lat9w-14.psf legacy14k.bdf: lat2u-14.psf legacy14l.bdf: lat4-14.psf lat4a-14.psf lat4u-14.psf legacy16a.bdf: cp857-8x16.psf iso01.f16.psf iso05.f16.psf iso07.f16.psf iso09.f16.psf legacy16b.bdf: Cyr_a8x16.psf koi8u_8x16.psf ruscii_8x16.psf legacy16c.bdf: default8x16.psf lat0-sun16.psf lat2-sun16.psf legacy16d.bdf: viscii10-8x16.psf legacy16e.bdf: iso02.f16.psf iso02g.psf iso03.f16.psf iso03g.psf iso04.f16.psf iso10.f16.psf lat2u-16.psf legacy16f.bdf: iso06.f16.psf legacy16g.bdf: iso08.f16.psf legacy16h.bdf: iso14.f16.psf legacy16i.bdf: lat0-16.psf lat9u-16.psf legacy16j.bdf: lat1-16.psf lat1u-16.psf legacy16k.bdf: lat4-16.psf lat4a-16.psf lat4u-16.psf legacy16l.bdf: lat9v-16.psf lat9w-16.psf legacy16m.bdf: lat4-16+.psf lat4a-16+.psf lat4u-16+.psf legacy19a.bdf: lat4-19.psf lat4a-19.psf lat4u-19.psf Goha12.bdf: Goha-12.psf Goha14.bdf: Goha-14.psf Goha16.bdf: Goha-16.psf GohaClasic12.bdf: GohaClasic-12.psf GohaClasic14.bdf: GohaClasic-14.psf GohaClasic16.bdf: GohaClasic-16.psf
Only one PSF font per combination of charset-size is generated from the legacy
fonts. This font is named after the scheme
CHARSET-vgaSIZE.psf. For example
Greek-vga14.psf
is the legacy font for Greek character set and
size 14. The list of BDF fonts that is used to produce Greek-vga14.psf was
determined as folows.
First, see which one of the legacy BDF fonts can provide as many glyphs for
Greek-vga14.psf
as possible. This was legacy14g.bdf
(produced from iso07.f14.psf
). Then see which one of the other
legacy BDF fonts provides as much glyphs for Greek-vga14.psf
that
legacy14g
does not provide. And so on. The resulting lists are
represented as Charset-legacySIZE-BDFS
targets in the Makefile
. It is perfectly OK to handtune them.
For example if one decides that the look of legacy16i.bdf
is
superior it is OK to list legacy16i.bdf
as primary font for
Lat15-vga16.psf
even though legacy16c.bdf
provides
more glyphs.
There is one exception to the previous paragraph: the wonderful font
UNI_VGA
of Dmitry Bolkhovityanov was always used as a primary font
for the vga16
fontface.
The targets VGASIZE-CHARSET in the
Makefile
specify which charsets are suitable for a particular font
size. We see that for some of the sizes only the Lat15 and Lat2 charsets are
supported by the traditional fonts. The following charsets are completely
unsupported by the traditional console fonts: Armenian, CyrAsia, Georgian, Lao,
Thai and Vietnamese.
The Ethiopian fonts Goha??.bdf
and GohaClasic??.bdf
are not used as legacy fonts. In all currently available non-console BDF fonts
the Ethiopian letters are double-width and can not be used on the console.
Thats why these fonts are treated equaly to the other non-legacy BDF fonts.
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ next ]
The Hackers Guide for console-setup
Anton Zinovievanton@lml.bas.bg