Langue: en

Version: 264023 (debian - 07/07/09)

Section: 1 (Commandes utilisateur)


restorefont - save or restore the SVGA font for textmode.


restorefont {-r|-w} filename


The font used by SVGA when in textmode is written to or restored from filename using the vga_gettextfont(3) and vga_puttextfont(3) functions.


The VGA font file filename has the following format:
0 - 31 Character 0
... ...
8164 - 8195 Character 255

Each row of a character bitmap is stored as a byte (8 pixels). The space that is left from the 32-byte buffer for each character is ignored, e.g. a 16 line font uses only offsets 0 - 15 of each character.

Linux textmode screen resolutions:

80x25 16 line font 400 scanlines
80x28 14 line font 400 scanlines
80x50 8 line font 400 scanlines

The font sizes and resolutions of extended textmodes depend on the video card type and BIOS:

132x25 14 line font 350 scanlines (ugly)
132x25 16 line font 400 scanlines
132x43 8 line font 350 scanlines (use fix132x43 to fix/improve)
132x50 8 line font 400 scanlines

Using a font that has less lines per character than the textmode works, but the characters are smaller. Using a font that is bigger than the textmode font results in the bottom part of characters being cut off.

The svgalib distribution contains sample fonts with 8, 14 and 16 line characters in the files utils/font8, utils/font14, and utils/font16.

The convfont (1) program can be used to convert fonts straightforwardly stored character-after-character (i.e. each character only uses 8/14/whatever bytes), to the 32-byte per character format that restorefont requires.

The purpose of this program is usually to recover from a crashed console due to an svgalib, Xfree or other program bug. First save the state of the SVGA card when on a text console. After the crash restore this state. The savetextmode(1) and textmode(1) script makes this procedure very easy.

The national/fontpak packages, which include kernel patches, allow different textmode fonts to be used in different virtual consoles. These have been superseded by the kbd package (in the kernel since ages). See the setfont(8) utility of the kbd package as a starting point.

Recent kernels support up to 2 fonts with 512 chars each. Recent versions of svgalib take this into account and extend the size of the datafile accordingly.


-w filename
write the font to the file filename.
-r filename
restore the font from the file filename.


svgalib(7), vgagl(7), libvga.config(5), setfont(8), vga_gettextfont(3), vga_puttextfont(3), dumpreg(1), convfont(1), fix132x43(1), restoretextmode(1), restorepalette(1), runx(1), savetextmode(1), setmclk(1), textmode(1).


This manual page was edited by Michael Weller <>. The exact source of the referenced utility as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.