FIGfonts
Philippe Majerus’s FIGfonts collection
Install / Use
/learn @PhMajerus/FIGfontsREADME
Philippe Majerus’s FIGfonts collection

Introduction
This repository contains the fonts I created for the FIGlet utility. While most FIGfonts are ASCII-art, I decided to experiment with ANSI/VT coloring and extended Unicode characters as sub-characters to create denser characters. This makes them more suitable for use as titles and general text than the traditionally very large FIGfonts. Also, many of them extend way beyond ASCII, supporting Latin-1, but sometimes also JIS X 0208 (Japanese), Emojis,… some contain thousands of characters.
Fonts in this repository
| Font | Rows | Chars | Latin | International | More | |:-----|---:|---:|:-----:|:-----:|:-----:| |phm-smallvt| 4 | 583 |ASCII + some extra Latin|Some Greek| | |hp2640-largetype| 3 | 103 |ASCII| | | |phm-largetype| 3 | 2570 |ISO 8859-1 + CP1252|Japanese Katakana|CP437 + more| |phm-lcdmatrix| 2 | 104 |ASCII| | | |phm-minecraft| 2 | 220 |ISO 8859-1 + CP1252| | | |phm-c64| 2 | 184 |ASCII| |PETSCII| |phm-cga| 2 | 264 |ASCII| |CP437| |phm-vga| 4 | 264 |ASCII| |CP437| |phm-vga-square| 2 | 264 |ASCII| |CP437| |phm-dos | 4 | 659 |ISO 8859-1 + All latin-based MS-DOS and Windows codepages|CP737 + CP869 + CP1253 (Greek) + CP855 + CP866 + CP1251 (Cyrillic) + CP862 (Hebrew)|CP437| |phm-dos-square | 2 | 659 |ISO 8859-1 + All latin-based MS-DOS and Windows codepages|CP737 + CP869 + CP1253 (Greek) + CP855 + CP866 + CP1251 (Cyrillic) + CP862 (Hebrew)|CP437| |phm-hdos | 4 | 2660 |ASCII|Korean KS X 1001 Hangul|CP437| |phm-dosv| 4 | 7531 |ASCII|Japanese CP932| | |phm-shinonome| 3 | 13106 |ISO 8859-1 + All latin-based MS-DOS and Windows codepages|Japanese CP932 + Jōyō + Jinmeiyō + CP737 + CP869 + CP1253 (Greek) + CP855 + CP866 + CP1251 (Cyrillic)|Many Emojis|CP437| |phm-blocky (-reverse)| 2 (4) | 102 |ASCII| | | |phm-rounded| 4 | 103 |ASCII| | | |phm-slanted| 6 | 255 |ISO 8859-1 + CP1252| | | |phm-chisel| 6 | 637 |ISO 8859-1 + CP1252|Japanese Katakana|✔︎| |beyond-blue| 9 | 102 |ASCII| | | |phm-beyondneo-*| 5 | 3262 |ISO 8859-1 + CP1252|Japanese Katakana + a few Kanji|CP437 + Some Emojis|
Latin encodings
Latin languages support can include
- ASCII - the base 7-bit ASCII character set
- CP437 - the original IBM PC and MS-DOS U.S. English character set, including ASCII, symbols, and semigraphics
- ISO 8859-1 Latin-1 - the standard Latin-1 alphabet (Basic Latin + Latin-1 Supplement Unicode blocks)
- CP1252 - the Windows extension to ISO 8859-1, adding some symbols and punctuation
- Unicode - includes many more latin letters for other languages, font can implement Latin Extended-A/B/C/D/E, Additional, IPA Extensions, Phonetic Extensions
Fonts that support both CP1252 (Latin‑1) and CP437 (US‑English) implicitly support the full printable repertoires of:
- CP850 (Multilingual Latin 1)
- CP858 (Multilingual Latin 1 + Euro sign)
- CP860 (Portuguese)
- CP861 (Icelandic)
- CP863 (Canadian French)
- CP865 (Nordic) These code pages are supersets or near‑supersets of CP437/CP1252, requiring no additional glyphs beyond those already present. Some font may include many more latin letters variations defined in Unicode to support more languages and phonetics.
Fonts that mention support for all latin-based codepages support CP775 + CP850 + CP852 + CP857 + CP858 + CP860 + CP861 + CP863 + CP865 + CP1250 + CP1252 + CP1254 + CP1257.
Japanese encodings
Japanese support exists in several increasing levels:
- JIS X 0201 — 8‑bit extension of ASCII containing half‑width katakana (and a Roman set identical to ASCII).
- JIS X 0208 — double‑byte set including Hiragana, Katakana, Greek, Cyrillic, 6355 Kanji, and many symbols.
- CP932 (Shift‑JIS / DOS/V) — extends JIS X 0208 with NEC PC‑98 and IBM DOS/V extensions, adding 361 extra Kanji and additional symbols.
- Unicode — includes tens of thousands of CJK ideographs, but fonts typically implement only the subset relevant to their intended use (e.g., Jōyō / Jinmeiyō coverage varies widely).
Because of this, Japanese support in FIGfonts can be described as:
- Katakana - JIS X 0201 kana, half‑width Katakana only
- Kana - full‑width Hiragana/Katakana only, often along with half-width Katakana for backward compatibility
- JIS X 0208 Kanji
- CP932 Kanji - JIS X 0208 Kanji + NEC & IBM extensions
- Jōyō Kanji and/or 常用漢字 2010 and Jinmeiyō kanji / 人名用漢字 - a few more than CP932 to support modern Japanese
- Unicode Kanji - additional ideographs beyond CP932, depending on intended font use
Korean encodings
Korean support typically falls into four categories:
- Jamo — the 24 basic letters (choseong/jungseong/jongseong) used for algorithmic composition.
- Modern Hangul syllables — the 2350 commonly used syllables defined in KS X 1001, historically used by Hangeul MS‑DOS.
- Full Hangul syllables — the complete 11172 algorithmically defined syllables in Unicode.
- Hanja — the 1034 Hanja defined in KS X 1001, but many systems (including Korean MS‑DOS) did not include glyphs for them even though they were encodable.
Because of this, Korean support in FIGfonts can be described as:
- Jamo only
- KS X 1001 Hangul (2350 modern syllables)
- Full Hangul (all 11172 syllables)
- Hanja subset
phm-smallvt

This is my main ANSI/VT-based font, containing over 500 characters. This font uses extended ASCII characters from the US (437) codepage, and requires an ANSI/VT terminal that supports the underline escape sequence.
It works in FIGlet 2.2.5, but the width computation gets confused, so it requires -w 9999 to avoid misplaced line breaks.
It does not work at all in TOIlet 0.3, as escape sequences get removed.
Remember to use figlet -f phm-smallvt -C utf8 -w 9999 to access Unicode characters and to avoid misplaced line breaks and broken VT control sequences due to bad width computation.
hp2640-largetype

This is a FIGlet version of the example Large Type Pieces (Unicode 16.0) ASCII font provided by Hewlett-Packard in their HP 2641A/2645A/2645S Display Station Reference Manual, Table B-16. It is a reference font for large type pieces introduced in Unicode 16.0 but only contains the 96 base ASCII characters. It is mostly intended as a historical reference for my own Large Type font below.
It uses Unicode 16 Large Type Pieces (U+1CE1A to U+1CE50) and Quadrants to build a smooth set of characters using three rows. Its look depends on the font design, as large type pieces can be different in different fonts.
If you want to learn more about Large Type Pieces, try curl https://raw.githubusercontent.com/PhMajerus/Documents/main/HowTos/HowTo%20Large%20Type%20Pieces.txt.
This FIGfont requires the terminal to support Large Type Pieces characters to display properly, a font such as Cascadia ≥2404.23, Cozette ≥1.27.0, or Iosevka ≥29.0.0 is recommended.
phm-largetype

This is my main Large Type Pieces (Unicode 16.0) font, containing 2570 characters covering ASCII, Latin-1, Latin Extended-A, Latin Extended-B, Latin Extended Additional, superscripts, subscripts, small capitals, number forms, Greek, Cyrillic, Japanese half-width Katakana (JIS X 0201), Braille, some mathematical operators and symbols, and more.
It uses Unicode 16 Large Type Pieces (U+1CE1A to U+1CE50) and Quadrants (including the centered variants) to build a smooth set of characters using three rows.
It also uses Sextants and Octants for some non-alphabetical characters such as outlined letters and 7-segment digits.
Note that because of the limited size, capital letters (uppercase) do not have accents, and small letter (lowercase) are missing some accents, such as marks appearing below characters.
If you want to learn more about Large Type Pieces, try curl https://raw.githubusercontent.com/PhMajerus/Documents/main/HowTos/HowTo%20Large%20Type%20Pieces.txt.
This FIGfont requires the terminal to support Large Type Pieces characters to display properly, a font such as Cascadia ≥2404.23, Cozette ≥1.27.0, or Iosevka ≥29.0.0 is recommended.
Remember to use figlet -f phm-largetype -C utf8 to access Unicode characters.
phm-largetype-ASCII

This is a subset of my Large Type Pieces font, but instead of using Unicode 16.0 characters, it uses the legacy alternate character set found on HP 2640 Series terminals and compatibles. This is used to create large type text on terminals that support an alternate character set for its ASCII characters.
SoftFonts (Soft Character Sets / DRCS) providing the Larget Type Pieces to DEC VT220, VT320, and VT420 terminals can be found in my SoftFonts collections.
Note the character set must be selected and then restored when using this FIGfont, for example:
echo -ne "\e( L"; figlet -f phm-largetype-ASCII -C utf8 "Hello, world!"; echo -ne "\e(B"
phm-lcdmatrix

This font uses Unicode 16.0 octant characters to create a monospaced retro low-rez font like on LCD and LED signboards, and 8-bit computers. The characters are 6×8 pseudo-pixels, inspired by the Motorola MC6847 character generator, Tatung Einstein TC-01, TRS-80, and other computers of the 1980's.
It does not require an AN
Security Score
Audited on Apr 4, 2026
