summaryrefslogtreecommitdiffstats
path: root/upstream/opensuse-leap-15-6/man8/setfont.8
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/opensuse-leap-15-6/man8/setfont.8')
-rw-r--r--upstream/opensuse-leap-15-6/man8/setfont.8272
1 files changed, 272 insertions, 0 deletions
diff --git a/upstream/opensuse-leap-15-6/man8/setfont.8 b/upstream/opensuse-leap-15-6/man8/setfont.8
new file mode 100644
index 00000000..a702fbea
--- /dev/null
+++ b/upstream/opensuse-leap-15-6/man8/setfont.8
@@ -0,0 +1,272 @@
+.TH SETFONT 8 "11 Feb 2001" "kbd"
+.SH NAME
+setfont \- load EGA/VGA console screen font
+.SH SYNOPSIS
+.B setfont
+.RB [ -O
+.IR font+umap.orig ]
+.RB [ -o
+.IR font.orig ]
+.RB [ -om
+.IR cmap.orig ]
+.RB [ -ou
+.IR umap.orig ]
+.RB [ -\c
+.IR N ]
+.RI [ "font.new ...\&" ]
+.RB [ -m
+.IR cmap ]
+.RB [ -u
+.IR umap ]
+.RB [ -C
+.IR console ]
+.RB [ -h\c
+.IR H ]
+.RB [ -v ]
+.RB [ -V ]
+.IX "setfont command" "" "\fLsetfont\fR command"
+.SH DESCRIPTION
+The
+.B setfont
+command reads a font from the file
+.I font.new
+and loads it into the EGA/VGA character generator,
+and optionally outputs the previous font.
+It can also load various mapping tables
+and output the previous versions.
+.LP
+If no args are given (or only the option
+.RI \- N
+for some number
+.IR N ),
+then a default
+.RI (8x N )
+font is loaded (see below).
+One may give several small fonts, all containing
+a Unicode table, and
+.B setfont
+will combine them and load the union.
+Typical use:
+.TP
+.B setfont
+Load a default font.
+.TP
+.B "setfont drdos8x16"
+Load a given font (here the 448-glyph drdos font).
+.TP
+.B "setfont cybercafe -u cybercafe"
+Load a given font that does not have a Unicode map
+and provide one explicitly.
+.TP
+.B "setfont LatArCyrHeb-19 -m 8859-2"
+Load a given font (here a 512-glyph font combining several
+character sets) and indicate that one's local character set
+is ISO 8859-2.
+.LP
+Note: if a font has more than 256 glyphs, only 8 out of 16 colors
+can be used simultaneously. It can make console perception worse
+(loss of intensity and even some colors).
+
+.SH "FONT FORMATS"
+The standard Linux font format is the PSF font.
+It has a header describing font properties like character size,
+followed by the glyph bitmaps, optionally followed by a Unicode mapping
+table giving the Unicode value for each glyph.
+Several other (obsolete) font formats are recognized.
+If the input file has code page format (probably with suffix .cp),
+containing three fonts with sizes e.g. 8x8, 8x14 and 8x16, then one of
+the options \-8 or \-14 or \-16 must be used to select one.
+Raw font files are binary files of size
+.RI 256* N
+bytes, containing bit images for each of 256 characters,
+one byte per scan line, and
+.I N
+bytes per character (0 <
+.I N
+<= 32).
+Most fonts have a width of 8 bits, but with the framebuffer device (fb)
+other widths can be used.
+
+.SH "FONT HEIGHT"
+The program
+.B setfont
+has no built-in knowledge of VGA video modes, but just asks
+the kernel to load the character ROM of the video card with
+certain bitmaps. However, since Linux 1.3.1 the kernel knows
+enough about EGA/VGA video modes to select a different line
+distance. The default character height will be the number
+.I N
+inferred from the font or specified by option. However, the
+user can specify a different character height
+.I H
+using the
+.I "\-h"
+option.
+
+.SH "CONSOLE MAPS"
+Several mappings are involved in the path from user program
+output to console display. If the console is in utf8 mode (see
+.BR unicode_start (1))
+then the kernel expects that user program output is coded as UTF-8 (see
+.BR utf-8 (7)),
+and converts that to Unicode (ucs2).
+Otherwise, a translation table is used from the 8-bit program output
+to 16-bit Unicode values. Such a translation table is called a
+.IR "Unicode console map" .
+There are four of them: three built into the kernel, the fourth
+settable using the
+.I "\-m"
+option of
+.BR setfont .
+An escape sequence chooses between these four tables; after loading a
+.IR cmap ,
+.B setfont
+will output the escape sequence Esc ( K that makes it the active translation.
+.LP
+Suitable arguments for the
+.I "\-m"
+option are for example
+.IR 8859-1 ,
+.IR 8859-2 ", ...,"
+.IR 8859-15 ,
+.IR cp437 ", ...,"
+.IR cp1250 .
+.LP
+Given the Unicode value of the symbol to be displayed, the kernel
+finds the right glyph in the font using the Unicode mapping info
+of the font and displays it.
+.LP
+Old fonts do not have Unicode mapping info, and in order to handle
+them there are direct-to-font maps (also loaded using
+.IR "\-m" )
+that give a correspondence between user bytes and font positions.
+The most common correspondence is the one given in the file
+.I trivial
+(where user byte values are used directly as font positions).
+Other correspondences are sometimes preferable since the
+PC video hardware expects line drawing characters in certain
+font positions.
+.LP
+Giving a
+.I "\-m none"
+argument inhibits the loading and activation of a mapping table.
+The previous console map can be saved to a file using the
+.I "\-om file"
+option.
+These options of setfont render
+.BR mapscrn (8)
+obsolete. (However, it may be useful to read that man page.)
+
+.SH "UNICODE FONT MAPS"
+The correspondence between the glyphs in the font and
+Unicode values is described by a Unicode mapping table.
+Many fonts have a Unicode mapping table included in
+the font file, and an explicit table can be indicated using
+the
+.I "\-u"
+option. The program
+.B setfont
+will load such a Unicode mapping table, unless a
+.I "\-u none"
+argument is given. The previous Unicode mapping table
+will be saved as part of the saved font file when the \-O
+option is used. It can be saved to a separate file using the
+.I "\-ou file"
+option.
+These options of setfont render
+.BR loadunimap (8)
+obsolete.
+.LP
+The Unicode mapping table should assign some glyph to
+the `missing character' value U+fffd, otherwise missing
+characters are not translated, giving a usually very confusing
+result.
+
+Usually no mapping table is needed, and a Unicode mapping table
+is already contained in the font (sometimes this is indicated
+by the .psfu extension), so that most users need not worry
+about the precise meaning and functioning of these mapping tables.
+
+One may add a Unicode mapping table to a psf font using
+.BR psfaddtable (1).
+
+.SH OPTIONS
+.TP
+.BI "\-h " H
+Override font height.
+.TP
+.B \-d
+Doubles the size of the font, by replicating all of its pixels
+vertically and horizontally. This is suitable for high pixel density
+(e.g. "4k") displays on which the standard fonts are too small to be
+easily legible. Due to kernel limitations, this is suitable only for
+16x16 or smaller fonts.
+.TP
+.BI "\-m " file
+Load console map or Unicode console map from
+.IR file .
+.TP
+.BI "\-o " file
+Save previous font in
+.IR file .
+.TP
+.BI "\-O " file
+Save previous font and Unicode map in
+.IR file .
+.TP
+.BI "\-om " file
+Store console map in
+.IR file .
+.TP
+.BI "\-ou " file
+Save previous Unicode map in
+.IR file .
+.TP
+.BI "\-u " file
+Load Unicode table describing the font from
+.IR file .
+.TP
+.BI "\-C " console
+Set the font for the indicated console. (May require root permissions.)
+.TP
+.B \-v
+Be verbose.
+.TP
+.B \-V
+Print version and exit.
+
+.SH NOTE
+PC video hardware allows one to use the "intensity" bit
+either to indicate brightness, or to address 512 (instead of 256)
+glyphs in the font. So, if the font has more than 256 glyphs,
+the console will be reduced to 8 (instead of 16) colors.
+
+.SH FILES
+.TP
+.I /usr/share/kbd/consolefonts
+The default font directory.
+.LP
+.TP
+.I /usr/share/kbd/unimaps
+The default directory for Unicode maps.
+.LP
+.TP
+.I /usr/share/kbd/consoletrans
+The default directory for screen mappings.
+.LP
+The default font is a file
+.I default
+(or
+.IR default8x N
+if the \-N option was given for some number N)
+perhaps with suitable extension (like .psf).
+.SH "SEE ALSO"
+.BR psfaddtable (1),
+.BR unicode_start (1),
+.BR loadunimap (8),
+.BR utf-8 (7),
+.BR mapscrn (8)
+.\" .SH "AUTHORS"
+.\" Eugene G. Crosser (crosser@pccross.msk.su)
+.\" .br
+.\" Andries E. Brouwer (aeb@cwi.nl)