command loads a font into the EGA/VGA character generator, and optionally
outputs the previous font. This command reads an
font from the file and loads it into the character generator memory. Usually
the font size
will be read from the file, but some file-formats do not contain enough
information for this, especially the
file format, which only contains the font bitmaps. In this case, H will be
computed from the file size, which implies these files cannot be compressed.
If the input file has codepage format, containing the three fonts 8x8, 8x14
and 8x16, one of the options
R -H 8 , -H 14 or -H 16
must be used to select one. Codepage format is also recognized by size, and
cannot be compressed.
As currently there is no mode switching support in the Linux kernel,
has nothing to do with the current EGA/VGA mode. It's totally user's
responsibility to choose a font matching the current video mode.
Display a short help message and exit.
Display version-number and exit.
informations on what's going on.
Do not change the console state; do not write anything to any file. Implies
R --verbose .
Activate the G1 charset instead of G0 (see
R --acm ).
as console device for ioctls, instead of guessing which one to use,
which usually chooses the current tty. This can be useful for testing
when under X, in conjunction with
- actual ioctls are refused for some reason then.
is a file containing the bitmap-description (glyph) of characters. Since
fonts may contain the glyphs for arbitrary character-sets, knowledge about
these characters may come either in the font-file (eg. in PSF files), or in
separate screen-font-map files (see
Font-files can be compressed with
R gzip (1) or compress (1),
with the exception of
R raw and codepage
Raw font files are binary files of size
bytes, containing bit images for each of 256 characters, one byte per scan
bytes per character (0 <
is computed from the file-size, thus raw font files cannot be compressed. The
other font-formats are described elsewhere.
Load a default font. The
option can be given to force a given char-height.
-m --acm --app-charset-map=file
Load a user-defined
Application-Charset Map (ACM)
- save current ACM.
The mapping from 8-bit characters sent to the screen into Unicode (UCS2)
characters by the running application is described by an ACM (formerly called
R screen map ).
This map characterizes the 8-bit encoding used by the application, hence its
new name. If no ACM is provided using the
map is assumed. Unless the
option in specified, the
charset is then selected, and set to use the ACM just loaded. If
is specified, the
charset is used instead of G0.
There are 2 types of ACM's recognized by the
option, which can be fed in binary or ASCII form. Binary maps are checked by
size, and contain an array of 256 bytes (old style 8-bit to font-position
maps) or 256 unicodes (8-bit to UCS2 maps). Because of this check, you should
not compress or pipe them.
In the ASCII format, new style (UCS2) ACM's are composed of lines of the form
where each first byte is the one to map (from the Application-Charset), in
either of the C decimal, octal, hex, or character syntaxes for integers, and
the unicode is formed either with the `U+' prefix and 4 hex digits, or with
enclosed between single quotes; unspecified mappings default to ASCII
(identity) for characters in the range 0-127, and to 0xFFFD (the replacement
character) for those in the range 128-255.
Old style (8-bit) maps in the ASCII format are composed of lines of the form
where the first byte has the same meaning as above, and the second one is the
position in the font; unspecified mappings default to straight-to-font
An old-style mapping is equivalent to a new-style mapping where the second
would be replaced by the unicode
U+F000 | R b ,
ie. in the
R straight-to-font zone .
However, due to the differences of defaults regarding unspecified mappings,
just converting each mapping individually will not be sufficient to get an
Saves the previous ACM can be saved to a file.
-u --sfm --screen-font-map=file
Screen Font Map (SFM) The correspondence between Unicode values and the glyphs in the current
console-font is described by a
R Unicode mapping table ).
Some fonts have a SFM included in the font file, and an explicit one can be
indicated using the
will load such a builtin SFM, unless a
option is given.
One may add a SFM to a psf font using
R psfaddtable (1).
Prevent the loading of a SFM when loading a font containing one. You should
use this option with care, as you probably don't want to have a font without
a SFM; it could cause trouble.
Save current SFM into a file.
Use the given
as a SFM fallback table, to supplement the SFM. Multiple
options may be given.
A fallback table tells, for some UCS2 characters you're interested to
display, which character's glyph it may use if its own is not
available according to the SFM in use.
If a SFM was to be loaded, fallback mappings are added to this map
before it is loaded. If there was not (ie. no
option was given, and a font without SFM was loaded, or the
option was given), then the current SFM is requested from the kernel,
the the fallback mappings are added, and the resulting SFM is loaded.
Save old font in the preferred format. It is currently the same as using
--old-font-psf-with-sfm, but may change when a better format is supported.
Save old font in PSF format, with corresponding SFM (PSF mode 2 or 3).
Save old font in PSF format (PSF mode 0 or 1). Usually a bad idea.
Save old font in RAW format. Usually an even worse idea.
When loading a font from a codepage file, or a default font, specify which
font-size to use.
should be a number between 1 and 31.
was originally called
but was renamed (in version 1997.10.28 of the Linux Console Tools) to allow
for changing the command-line options while providing backward compatibility
with the old `kbd' package.
is the default directory for fonts.
is the default directory for both ACM's and SFM's.
For implementation reasons, binary ACM's and ASCII 8-bit ACM's
cannot be compressed nor piped. This is not likely to change (except if a
good reason is given to the maintainer, or a patch is submitted), because I
consider these formats to be obsolete.
Eugene G. Crosser <firstname.lastname@example.org>
Andries E. Brouwer <email@example.com>
Extended by Yann Dirson <firstname.lastname@example.org>