Conversely, when you output something to the console, it first
undergoes the standard tty processing, and then is fed to the
console driver. The console driver emulates a VT100, and parses
the input in order to recognize VT100 escape sequences (for
cursor movement, clear screen, etc.). The characters that are not
part of an escape sequence are first converted into Unicode,
using one of four mapping tables if the console was not in UTF-8
mode to start with, then looked up in the table describing the
correspondence between Unicode values and font positions, and the
obtained 8- or 9-bit font indices are then written to video
memory, where they cause the display of character shapes found in
the video card's character ROM. One can load one's own fonts into
character ROM using setfont. The obsolete programs
loadunimap and mapscrn can be used to
manipulate the Unicode map belonging to the font, or the mapping
table of the console. More details will be given below.
There are many consoles (called Virtual Consoles or
Virtual Terminals, abbreviated VCs or VTs) that share the
same screen. You can use them as independent devices, either to
run indendent login sessions, or just to send some output to,
perhaps from top, or the tail of the system log or
so. See below (`Console switching') on how to set them up and
switch between them.