SETFONT(8)

NAME
setfont - load EGA/VGA console screen font

SYNOPSIS
setfont [-O font+umap.orig] [-o font.orig] [-om cmap.orig] [-ou umap.orig] [-N] [font.new] [-m cmap [-u umap] [-hH] [-v] [-V]

DESCRIPTION
The setfont command loads a font into the EGA/VGA character generator, and optionally outputs the previous font. This command reads an 8xN font from the file font.new and loads it into the character generator memory. Usually the font size N will be clear from the file size, but if the input file has code page format (probably with suffix .cp), containing three fonts with sizes 8x8, 8x14 and 8x16, then one of the options -8 or -14 or -16 must be used to select one. If no args are given (or only the option -N for some number N), then a default font is loaded (see below). With the -v option, setfont will be verbose. With the -V option, it prints its version and exits.

The program setfont has no built-in knowledge of VGA video modes, but just asks the kernel to load the character ROM of the video card with certain bitmaps. However, since Linux 1.3.1 the kernel knows enough about EGA/VGA video modes to select a different line distance. The default character height will be the number N inferred from the font or specified by option. However, the user can specify a different character height H using the -h option.

Font files are binary files of size 256*N bytes, containing bit images for each of 256 characters, one byte per scan line, and N bytes per character (0 < N <= 32). Also .psf files are accepted; these files have the same format but an additional 4 byte header, and may have 512 instead of 256 characters, and additional Unicode mapping info. The ordering of the symbols in the font is described by a mapping table. Some fonts have a mapping table included in the font file, and setfont will load such a mapping table. If no explicit mapping table is included in the font, and no mapping table is provided using the -m option, the `trivial' mapping is assumed. In any case the mapping table just loaded is activated by outputting the string Esc ( K. Giving a -m none argument inhibits the loading and activation of a mapping table. The previous mapping table can be saved to a file using the -om file option. These options of setfont render mapscrn(8) obsolete. The correspondence between the glyphs in the font and Unicode values is described by a Unicode mapping table. Some fonts have a Unicode mapping table included in the font file, and an explicit table can be indicated using the -u option. Setfont will load such a Unicode mapping table, unless a -u none argument is given. The previous Unicode mapping table will be saved as part of the saved font file when the -O option is used. It can be saved to a separate file using the -ou file option. One may add a Unicode mapping table to a psf font using psfaddtable(1).

FILES
@datadir@/consolefonts is the default font directory. @datadir@/consoletrans is the default directory for mappings. The default font is a file default (or default8xN if the -N option was given for some number N) perhaps with suitable extension (like .psf).

SEE ALSO
psfaddtable(1), mapscrn(8)