Consoleet is an umbrella name for my endeavours surrounding text-oriented consoles, bitmap fonts and otherwise, color considerations, and generally retro look-and-feel. In the course of that, I made a few key observations:
- The 16-color VGA/DOS palette is close to perfection (achieves 91% of points of a reference palette tuned for maximum contrast). Other color palettes offered by terminal emulators are generally garbage in contrast.
- Emulating the looks of CRT rendition (e.g. dot mask / scanlines) reasonably accurately requires a 4K HDR display. [Every original glyph pixel is rendered as a 4x4 block of pixels, then every 4th line is made completely blank to give the CRT effect. Representing 80x25 textmode thus requires a 2560x1600 canvas. If you downscale such an image so it fits into a canvas no larger than FullHD, the blank line is averaged out and you get a 75% bright line for every fullbright line, but no true blank line, and this looks a bit jarring.]
- Serif fonts enjoys great use in books, but I've found to sometimes want to switch away. The WP page mentions this too, so it's not an isolated thing. Of the few serif fonts, CMU Typewriter/Latin Modern is one that is quite alright for longer sessions.
Utilities
vfontas (originally "VGA font file assembler") can read/write bitmap fonts from/to a number of formats and transform the glyphs in various ways. vfontas is able to generate outline fonts from bitmapped fonts.
| Format | Ext. | Read | Write |
|---|---|---|---|
| X11 Bitmap Distribution Format | .bdf | ✓ | ✓ |
| Consoleet textgraphic format | .txt | ✓ | ✓ |
| MS-DOS Codepage Information files | .cpi | ✓ | – |
| Raw bitmaps | .fnt | ✓ | ✓ |
| GNU Unifont | .hex | ✓ | – |
| Linux "kbd" package Unicode maps | .uni | ✓ | ✓ |
| netpbm Portable Bitmap | .pbm | – | ✓ |
| PC Screen font version 1 | .psf | ✓ | – |
| PC Screen font version 2 | .psf | ✓ | ✓ |
| FontForge Spline Font Database | .sfd | – | ✓ |
| X11 Portable Compiled Format | .pcf | ← (via fontforge + BDF export) | → (via SFD export + fontforge) |
| Adobe PostScript Type 1 | .pfa | – (use fontforge rasterization to BDF) | → (via SFD export + fontforge) |
| OpenType | .otf | – (use fontforge rasterization to BDF) | → (via SFD export + fontforge) |
| Web Open Font Format (WOFF) | .woff | – (use fontforge rasterization to BDF) | → (via SFD export + fontforge) |
palcomp can be used to generate palettes for terminals. The most important realization is that programs running within a terminal and which use console_codes(4) to set colors rely on the contrast of the colors produced by a color pairing to be proportional to the contrast those two codes have when using the VGA color palette. For this reason, a mainstay of this program is to operate using a colorspace with perceptual uniformity, e.g. CIELAB/LCh.

Fancy the look of an amber monitor? palcomp can produce
subsitute palettes ad-hoc.
xterm -fa 'consoleet mda smooth:size=21:matrix=1 0 0 1.5' $(palcomp vgs lchtint=#ef951d fg b0 xterm)
- Latest release: 1.11 (2025-11-02)
- Source code release archive
- Git source code repository – https://codeberg.org/consoleet/consoleet-utils
- Git source code repository – https://git.inai.de/consoleet-utils (clone only; no webview)
Conversion tryout: vfontas -loadpsf <(gzip -cd /usr/share/kbd/consolefonts/lat1-16.psfu.gz) -setname lat -savesfd lat.sfd && fontforge lat.sfd; then {File > Export > {select OTF}, Save to ~/.fonts/lat.otf}.
Articles
- Presentation from openSUSE Conference 2023
- Unusual size of 8×19 fonts explained
- Analysis of AST machines' fonts
- Analysis of the UEFI/EDK font
- VGA is still one of the most suitable palettes
Fonts
OTF remakes, in jagged-edge and in smooth-edge variants.
- Consoleet Terminus
- Consoleet Darwin (OS X/Darwin/XNU console font)
- Consoleet Oldschool PC (int10h reformatted)
- Consoleet Fixedsys
- Consoleet KBD
- Consoleet Xorg (Xorg standard fonts)
- Consoleet UEFI (Intel UEFI BIOS font)
- Consoleet AMI (AMI BIOS font)
- ASRock BIOS font = Letter Gothic with matrix=0.9 0 0 1