Computer Science
CONSOLECHARS(8) Linux User's 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 generator, and optionally outputs the previous
font. This command reads an 8xH font from the file and
loads it into the character generator memory. Usually the
font size H will be read from the file, but some file-for-
mats do not contain enough information for this, espe-
cially 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 cur-
rent EGA/VGA mode. It's totally user's 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 what's going on.
-n --no_act
Do not change the console state; do not write any-
thing 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 com-
press(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 char-
acters, 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 com-
pressed. The other font-formats are described else-
where.
-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 Unicode (UCS2) characters by the run-
ning 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 ACM's 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-posi-
tion 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 `byte unicode' where
each first byte is the one to map (from the Appli-
cation-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 map-
pings 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 com-
posed of lines of the form `byte byte' 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 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 differences of
defaults regarding unspecified mappings, just con-
verting each mapping individually will not be suf-
ficient 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 correspondance between Unicode values and the
glyphs in the curent 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 don't 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 sup-
plement the SFM. Multiple -k 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 --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 map-
pings are added, and the resulting SFM is loaded.
-F --old-font=file
Save old font in the prefered format. It is cur-
rently 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). Usu-
ally 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 version 1997.10.28 of the Linux Console Tools)
to allow for changing the command-line options while pro-
viding backward compatibility with the old `kbd' package.
FILES
/usr/lib/kbd/consolefonts/ is the default directory for
fonts.
/usr/lib/kbd/consoletrans/ is the default directory for
both ACM's and SFM's.
BUGS
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 main-
tainer, or a patch is submitted), because I consider these
formats to be obsolete.
AUTHORS
Eugene G. Crosser <crosser@pccross.msk.su>
Andries E. Brouwer <aeb@cwi.nl>
Extended by Yann Dirson <dirson@debian.org>
SEE ALSO
psfaddtable(1), psfstriptable(1).
Console tools 31 Oct 1997 1
Back to the index