"FONT" is a global directive that allows showing a set of glyphs (aka characters) different than the BIOS' default. Typically, the reason to use a font different than the BIOS' default is to be able to display (in the boot screen/menu) characters not included in the default set (i.e. different language). For example, for Nordic glyphs, the font would need to be based on the "DOS code page 865" (CP865); for Cyrillic → CP855, and so on. For basic usage of the FONT directive see Config#FONT.
The type/format of font file recognized by Syslinux is "PC Screen Font"; specifically "PSF1". Optionally, the font file can include a Unicode table too. In such case, the file name extension is frequently (but not always) ".psfu". The Unicode table is ignored by Syslinux.
Note: It is recommended to use DOS-compatible (aka "8.3") file names with Syslinux.
For the typical BIOS, the psf1 fonts should have the following properties:
- fixed-width (aka monospace) bitmap font
- width: 8 pixels per glyph
- height: 16 pixels per glyph
- 256 (or 512) glyphs (aka "codepoints") in one psf font file
The typical (default) boot screen results in:
width: ( 8 pixels ) x ( 80 columns ) = 640 height: text mode: ( 16 pixels ) x ( 25 rows ) = 400 graphics mode: ( 16 pixels ) x ( 30 rows ) = 480
Some font files can be found, among other places, in the "kbd" package. You can also search for font files in your "/usr/share/consolefonts/" or "/usr/share/kbd/consolefonts/" (or similar) path(s) in your OS. Additional font files can be downloaded, and font editors and converters are also available for various OSes (including DOS).
Tools and info:
- Search the web for additional alternatives
Examples (there are many more, search the web):
- Possible examples of (psf1) console fonts (including the required "8x16" size) are "console-data", "console-setup-linux", "kbd-data", "kbd-misc", "terminal", "terminus"...