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