CONSOLECHARS(8) Linux Users Manual CONSOLECHARS(8)
NAME
consolechars - load EGA/VGA console screen font, screen-font map,
and/or application-charset map.
SYNOPSIS
consolechars [-v|--verbose] [-V|--version] [-h|--help] [-1|--g1]
[-n|--no-act] [--force-no-sfm] [-H|--char-height=N] [--tty=device]
[-m|--acm=|--app-charset-map=acm] [-M|--old-acm=acm.orig]
[-f|--font=font.new] [-F|--old-font=font.orig] [--old-font-
raw=font.orig] [--old-font-psf-with-sfm=font.orig.psf] [--old-font-
psf=font.orig.psf] [-u|--sfm=|--screen-font-map=sfm] [-U|--old-
sfm=sfm.orig] [-k|--sfm-fallback]
DESCRIPTION
The consolechars command loads a font into the EGA/VGA character gener
ator, and optionally outputs the previous font. This command reads an
8xH font from the file and loads it into the character generator mem
ory. Usually the font size H will be read from the file, but some file-
formats do not contain enough information for this, especially the raw
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 -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,
consolechars has nothing to do with the current EGA/VGA mode. Its
totally users responsibility to choose a font matching the current
video mode.
OPTIONS
-h --help
Display a short help message and exit.
-V --version
Display version-number and exit.
-v --verbose
Display on stderr informations on whats going on.
-n --no_act
Do not change the console state; do not write anything to any
file. Implies --verbose.
-1 --g1
Activate the G1 charset instead of G0 (see --acm).
--tty=device
Use device 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
--no-act - actual ioctls are refused for some reason then.
COMMANDS
-f --font=file
The font file 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 --sfm option).
Font-files can be compressed with gzip(1) or compress(1), with
the exception of raw and codepage file-formats.
Raw font files are binary files of size 256*H bytes, containing
bit images for each of 256 characters, one byte per scan line,
and H bytes per character (0 < H <= 32); H is computed from the
file-size, thus raw font files cannot be compressed. The other
font-formats are described elsewhere.
-d --default-font
Load a default font. The -H 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 Uni
code (UCS2) characters by the running application is described
by an ACM (formerly called screen map). This map characterizes
the 8-bit encoding used by the application, hence its new name.
If no ACM is provided using the --acm option, the trivial map is
assumed. Unless the --g1 option in specified, the G0 charset is
then selected, and set to use the ACM just loaded. If --g1 is
specified, the G1 charset is used instead of G0.
There are 2 types of ACMs recognized by the --acm 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) ACMs are composed of
lines of the form byte unicode 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 an UTF8-encoded character 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 byte byte where the first byte has the same mean
ing as above, and the second one is the position in the font;
unspecified mappings default to straight-to-font identity map
ping.
An old-style mapping is equivalent to a new-style mapping where
the second byte b would be replaced by the unicode U+F000 | b,
ie. in the straight-to-font zone. However, due to the differ
ences of defaults regarding unspecified mappings, just convert
ing each mapping individually will not be sufficient to get an
equivalent ACM.
-M --old-acm=file
Saves the previous ACM can be saved to a file.
-u --sfm --screen-font-map=file
Load a Screen Font Map (SFM)
The correspondence between Unicode values and the glyphs in the
current console-font is described by a Screen-Font Map (formerly
called Unicode mapping table). Some fonts have a SFM included
in the font file, and an explicit one can be indicated using the
--sfm option. consolechars will load such a builtin SFM, unless
a --force-no-sfm option is given. One may add a SFM to a psf
font using psfaddtable(1).
--force-no-sfm
Prevent the loading of a SFM when loading a font containing one.
You should use this option with care, as you probably dont want
to have a font without a SFM; it could cause trouble.
-U --old-sfm=file
Save current SFM into a file.
-k --sfm-fallback=file
Use the given file as a SFM fallback table, to supplement the
SFM. Multiple -k options may be given.
A fallback table tells, for some UCS2 characters youre inter
ested to display, which characters 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 --sfm option
was given, and a font without SFM was loaded, or the --force-no-
sfm option was given), then the current SFM is requested from
the kernel, the the fallback mappings are added, and the result
ing SFM is loaded.
-F --old-font=file
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.
--old-font-psf-with-sfm=file
Save old font in PSF format, with corresponding SFM (PSF mode 2
or 3).
--old-font-psf=file
Save old font in PSF format (PSF mode 0 or 1). Usually a bad
idea.
--old-font-raw=file
Save old font in RAW format. Usually an even worse idea.
-H --char-height=N
When loading a font from a codepage file, or a default font,
specify which font-size to use. N should be a number between 1
and 31.
HISTORY
consolechars was originally called setfont(8), but was renamed (in ver
sion 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.
FILES
/usr/share/consolefonts/ is the default directory for fonts.
/usr/share/consoletrans/ is the default directory for both ACMs and
SFMs.
BUGS
For implementation reasons, binary ACMs and ASCII 8-bit ACMs 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.
AUTHORS
Eugene G. Crosser
Andries E. Brouwer
Extended by Yann Dirson
SEE ALSO
psfaddtable(1), psfstriptable(1), setkeycodes(8).
Console tools 31 Oct 1997 CONSOLECHARS(8)