Provided by: console-tools_0.2.3dbs-65.1ubuntu2_amd64 bug


       consolechars  -  load  EGA/VGA  console  screen font, screen-font map, and/or application-
       charset map.


       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|]  [-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]


       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-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. It's totally user's responsibility to choose
       a font matching the current video mode.


       -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  anything  to  any  file.  Implies

       -1 --g1
              Activate the G1 charset instead of G0 (see --acm).

              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.


       -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 Unicode (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

              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-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 `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 meaning as above, and the second one is the
              position  in  the  font;  unspecified mappings default to straight-to-font identity
              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
              converting  each  mapping  individually will not be sufficient to get an equivalent

       -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

              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 supplement 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 mappings are added, and the resulting SFM is

       -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.

              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.

       -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.


       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 providing
       backward compatibility with the old `kbd' package.


       /usr/share/consolefonts/ is the default directory for fonts.

       /usr/share/consoletrans/ 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 <>
       Andries E. Brouwer <>
       Extended by Yann Dirson <>


       psfaddtable(1), psfstriptable(1), setkeycodes(8).