xref: /freebsd/contrib/spleen/README.md (revision b17b639832e707aab0e9514cf94727498e2d67bd)
10d66206fSEd Maste```
20d66206fSEd Maste
30d66206fSEd Maste                                                   ::::::::::::::::::::
40d66206fSEd Maste                                                   :::              :::
50d66206fSEd Maste              _____       _______ __. ________ ________ ________.   :::
60d66206fSEd Maste             _)  _//__ __/ __   /   |.\  __  /.\  __  /.\  _.   |   :::
70d66206fSEd Maste            .\____   /.\   )/  /    ||   )/   |   )/   |   \|   |   :::
80d66206fSEd Maste            |   )/    |     __/|     \   _____|   _____|    |   |_  :::
90d66206fSEd Maste            |____     |_____|  |_____/____\\  |____\\  |    |____/  :::
100d66206fSEd Maste        - -- -- \_____| -H7--------------------------- `----' ----- ::: - -
110d66206fSEd Maste                                                   :::              :::
120d66206fSEd Maste                                                   ::::::::::::::::::::
130d66206fSEd Maste
140d66206fSEd Maste```
150d66206fSEd Maste
160d66206fSEd Maste# Spleen
170d66206fSEd Maste
180d66206fSEd MasteSpleen is a monospaced bitmap font available in 6 sizes:
190d66206fSEd Maste
200d66206fSEd Maste- 5x8
210d66206fSEd Maste- 6x12
220d66206fSEd Maste- 8x16
230d66206fSEd Maste- 12x24
240d66206fSEd Maste- 16x32
250d66206fSEd Maste- 32x64
260d66206fSEd Maste
270d66206fSEd MasteEach size is provided in the Glyph Bitmap Distribution Format (BDF), and
280d66206fSEd Masterelease tarballs contain the fonts in the following formats: `PCF`, `PSF`
290d66206fSEd Maste(for the Linux console), `OTB`, `OTF`, `.dfont` for macOS users, and `FON`
300d66206fSEd Mastefor Windows users.
310d66206fSEd Maste
320d66206fSEd MasteAll font sizes contain all ISO/IEC 8859-1 characters (Basic Latin and Latin-1
330d66206fSEd MasteSupplement Unicode block), Latin Extended-A characters, as well as Box Drawing,
340d66206fSEd MasteBlock Elements, and Braille Patterns Unicode blocks, except for the 5x8 and the
350d66206fSEd Maste6x12 versions.
360d66206fSEd Maste
370d66206fSEd MasteDue to character size constraints, the 5x8 version only contains printable
380d66206fSEd MasteASCII characters, the Braille Patterns Unicode block, and light Box Drawing
390d66206fSEd Mastecharacters. Please also note that there is no OpenType version for this size.
400d66206fSEd Maste
410d66206fSEd MasteAs of Spleen 1.8.0, there is now a 6x12 version containing the same Unicode
420d66206fSEd Masteblocks as the 5x8 version and the Latin-1 Supplement Unicode block.
430d66206fSEd Maste
44*b17b6398SEd MasteAs of Spleen 2.0.0, the 8x16, 16x32 and 32x64 versions have full support for
45*b17b6398SEd MasteCode page 437 (IBM PC).
46*b17b6398SEd Maste
470d66206fSEd MasteSpleen also has support for Powerline symbols out of the box.
480d66206fSEd Maste
490d66206fSEd MasteThe font name is a reference to Baudelaire.
500d66206fSEd Maste
510d66206fSEd Maste## Screenshots
520d66206fSEd Maste
530d66206fSEd MasteThe following screenshots show Spleen 16x32 displaying code and prose.
540d66206fSEd Maste
550d66206fSEd Maste![Spleen - Hello][1]
560d66206fSEd Maste
570d66206fSEd Maste![Spleen - L'etranger][2]
580d66206fSEd Maste
590d66206fSEd MasteASCII characters for all sizes:
600d66206fSEd Maste
610d66206fSEd MasteSpleen 5x8:
620d66206fSEd Maste
630d66206fSEd Maste![Spleen - ASCII characters - 5x8][3]
640d66206fSEd Maste
650d66206fSEd MasteSpleen 6x12:
660d66206fSEd Maste
670d66206fSEd Maste![Spleen - ASCII characters - 6x12][4]
680d66206fSEd Maste
690d66206fSEd MasteSpleen 8x16:
700d66206fSEd Maste
710d66206fSEd Maste![Spleen - ASCII characters - 8x16][5]
720d66206fSEd Maste
730d66206fSEd MasteSpleen 12x24:
740d66206fSEd Maste
750d66206fSEd Maste![Spleen - ASCII characters - 12x24][6]
760d66206fSEd Maste
770d66206fSEd MasteSpleen 16x32:
780d66206fSEd Maste![Spleen - ASCII characters - 16x32][7]
790d66206fSEd Maste
800d66206fSEd MasteSpleen 32x64:
810d66206fSEd Maste![Spleen - ASCII characters - 32x64][8]
820d66206fSEd Maste
830d66206fSEd Maste## XLFD font names
840d66206fSEd Maste
850d66206fSEd Maste```
860d66206fSEd Maste-misc-spleen-medium-r-normal--8-80-72-72-c-50-iso10646-1
870d66206fSEd Maste-misc-spleen-medium-r-normal--12-120-72-72-c-60-iso10646-1
880d66206fSEd Maste-misc-spleen-medium-r-normal--16-160-72-72-c-80-iso10646-1
890d66206fSEd Maste-misc-spleen-medium-r-normal--24-240-72-72-c-120-iso10646-1
900d66206fSEd Maste-misc-spleen-medium-r-normal--32-320-72-72-c-160-iso10646-1
910d66206fSEd Maste-misc-spleen-medium-r-normal--64-640-72-72-c-320-iso10646-1
920d66206fSEd Maste```
930d66206fSEd Maste
940d66206fSEd Maste## Packages
950d66206fSEd Maste
960d66206fSEd MasteSpleen packages are available for:
970d66206fSEd Maste
980d66206fSEd Maste- [OpenBSD][9]
990d66206fSEd Maste- [NetBSD][10]
1000d66206fSEd Maste- [FreeBSD][11]
1010d66206fSEd Maste- [Arch Linux][12]
1020d66206fSEd Maste- [Void Linux][13]
1030d66206fSEd Maste- [Nix][14]
1040d66206fSEd Maste- [Debian][15]
1050d66206fSEd Maste- [Ubuntu][16]
1060d66206fSEd Maste- [MacPorts][17]
1070d66206fSEd Maste
1080d66206fSEd Maste## Manual installation
1090d66206fSEd Maste
1100d66206fSEd Maste### *BSD and Linux
1110d66206fSEd Maste
1120d66206fSEd MasteClone the repository, convert the files to the Portable Compiled Format
1130d66206fSEd Maste(PCF) using **bdftopcf** and run **mkfontdir** in the directory.
1140d66206fSEd Maste
1150d66206fSEd MasteAlternatively, release tarballs provide PCF files for each size.
1160d66206fSEd Maste
1170d66206fSEd Maste### macOS
1180d66206fSEd Maste
1190d66206fSEd MastemacOS users should use the `.dfont` files provided in the release tarballs.
1200d66206fSEd Maste
121*b17b6398SEd Maste### DOS
122*b17b6398SEd Maste
123*b17b6398SEd MasteDOS users should run the **SPLEEN.COM** executable provided in the release
124*b17b6398SEd Mastetarballs to enable the font.
125*b17b6398SEd Maste
126*b17b6398SEd MasteThis has been tested in DOSBox and FreeDOS on real hardware.
127*b17b6398SEd Maste
1280d66206fSEd Maste### Windows
1290d66206fSEd Maste
1300d66206fSEd MasteWindows users should use the `.fon` or `.otf` files provided in the release
1310d66206fSEd Mastetarballs.
1320d66206fSEd Maste
1330d66206fSEd Maste## Usage
1340d66206fSEd Maste
1350d66206fSEd Maste### *BSD and Linux
1360d66206fSEd Maste
1370d66206fSEd MasteUpdate the font path to include **Spleen**:
1380d66206fSEd Maste
1390d66206fSEd Maste	xset +fp /usr/local/share/fonts/spleen/
1400d66206fSEd Maste
1410d66206fSEd MasteUpdate **.Xdefaults** and add one of the following directives:
1420d66206fSEd Maste
1430d66206fSEd Maste	xterm*faceName: spleen:pixelsize=8:antialias=false
1440d66206fSEd Maste	xterm*faceName: spleen:pixelsize=12:antialias=false
1450d66206fSEd Maste	xterm*faceName: spleen:pixelsize=16:antialias=false
1460d66206fSEd Maste	xterm*faceName: spleen:pixelsize=24:antialias=false
1470d66206fSEd Maste	xterm*faceName: spleen:pixelsize=32:antialias=false
1480d66206fSEd Maste	xterm*faceName: spleen:pixelsize=64:antialias=false
1490d66206fSEd Maste
1500d66206fSEd MasteLaunch **xterm**.
1510d66206fSEd Maste
1520d66206fSEd MasteUbuntu has bitmap fonts support disabled by default, instructions to enable
1530d66206fSEd Masteit are available [here][18].
1540d66206fSEd Maste
1550d66206fSEd Maste### Linux console
1560d66206fSEd Maste
1570d66206fSEd MasteRelease tarballs provide PSF files for each size, `setfont` can be used
1580d66206fSEd Masteto load and set the desired font.
1590d66206fSEd Maste
1600d66206fSEd Maste### NetBSD console
1610d66206fSEd Maste
1620d66206fSEd MasteNetBSD has .fnt files for each size which can be loaded using wsfontload(8).
1630d66206fSEd Maste
1640d66206fSEd MasteFor example, to load Spleen 16x32:
1650d66206fSEd Maste
1660d66206fSEd Maste	wsfontload -N spleen-16x32 -w 16 -h 32 /usr/share/wscons/fonts/spleen-16x32.fnt
1670d66206fSEd Maste	wsconsctl -dw font=spleen-16x32
1680d66206fSEd Maste
1690d66206fSEd Maste### FreeBSD console
1700d66206fSEd Maste
1710d66206fSEd MasteThe FreeBSD package contains .fnt files which can be loaded using
1720d66206fSEd Mastevidcontrol(1).
1730d66206fSEd Maste
1740d66206fSEd MasteFor example, to load Spleen 16x32:
1750d66206fSEd Maste
1760d66206fSEd Maste	vidcontrol -f /usr/local/share/fonts/spleen/spleen-16x32.fnt
1770d66206fSEd Maste
1780d66206fSEd Maste### OpenType versions
1790d66206fSEd Maste
1800d66206fSEd MasteSpleen release tarballs now contains OTF versions generated automatically
1810d66206fSEd Mastefrom the BDF files, using [bdf2sfd][19]. Each font has a different name,
1820d66206fSEd Masteallowing them to be installed alongside.
1830d66206fSEd Maste
1840d66206fSEd MasteThey should be used in the exact size specified below, with anti-aliasing
1850d66206fSEd Mastedisabled.
1860d66206fSEd Maste
1870d66206fSEd Maste- Spleen 6x12: 9 Pt (12 pixels)
1880d66206fSEd Maste- Spleen 8x16: 12 Pt (16 pixels)
1890d66206fSEd Maste- Spleen 12x24: 18 Pt (24 pixels)
1900d66206fSEd Maste- Spleen 16x32: 24 Pt (32 pixels)
1910d66206fSEd Maste- Spleen 32x64: 48 Pt (64 pixels)
1920d66206fSEd Maste
1930d66206fSEd Maste## License
1940d66206fSEd Maste
1950d66206fSEd MasteSpleen is released under the BSD 2-Clause license. See `LICENSE` file for
1960d66206fSEd Mastedetails.
1970d66206fSEd Maste
1980d66206fSEd Maste## Author
1990d66206fSEd Maste
2000d66206fSEd MasteSpleen is developed by Frederic Cambus.
2010d66206fSEd Maste
2020d66206fSEd Maste- Site: https://www.cambus.net
2030d66206fSEd Maste
2040d66206fSEd Maste## Resources
2050d66206fSEd Maste
2060d66206fSEd Maste- [Spleen - Monospaced bitmap fonts][20] (2018)
2070d66206fSEd Maste- [New console font Spleen made default][21] (2019)
2080d66206fSEd Maste- [NetBSD, CTWM, and Spleen][22] (2021)
2090d66206fSEd Maste
2100d66206fSEd MasteGitHub: https://github.com/fcambus/spleen
2110d66206fSEd Maste
2120d66206fSEd Maste## Trivia
2130d66206fSEd Maste
214*b17b6398SEd Maste- Spleen was imported in the OpenBSD src tree in [September 2018][23]
215*b17b6398SEd Maste- Spleen is the default font for OpenBSD consoles since [January 2019][24]
216*b17b6398SEd Maste- Spleen was imported in the NetBSD src tree in [March 2019][25]
217*b17b6398SEd Maste- Spleen 12x24 was used in the Haiku [kernel debugger][26] (on high resolution
2180d66206fSEd Maste  displays) from May 2021 to June 2022
219*b17b6398SEd Maste- Spleen was imported in the FreeBSD base system in [May 2023][27]
220*b17b6398SEd Maste- [msTERM][28], a Terminal program for MailStation devices uses Spleen 5x8
221*b17b6398SEd Maste- [FBInk][29], a library to print text & images to an eInk Linux framebuffer
2220d66206fSEd Maste  embeds Spleen 16x32
223*b17b6398SEd Maste- [U8g2][30], a monochrome graphics library for embedded devices includes
224*b17b6398SEd Maste  all Spleen sizes
225*b17b6398SEd Maste- [Ansilove][31], an ANSI and ASCII art to PNG converter includes Spleen
2260d66206fSEd Maste
2270d66206fSEd Maste[1]: https://www.cambus.net/content/2018/09/spleen-hello.png
2280d66206fSEd Maste[2]: https://www.cambus.net/content/2018/09/spleen-etranger.png
2290d66206fSEd Maste[3]: https://www.cambus.net/files/spleen/spleen-5x8.png
2300d66206fSEd Maste[4]: https://www.cambus.net/files/spleen/spleen-6x12.png
2310d66206fSEd Maste[5]: https://www.cambus.net/files/spleen/spleen-8x16.png
2320d66206fSEd Maste[6]: https://www.cambus.net/files/spleen/spleen-12x24.png
2330d66206fSEd Maste[7]: https://www.cambus.net/files/spleen/spleen-16x32.png
2340d66206fSEd Maste[8]: https://www.cambus.net/files/spleen/spleen-32x64.png
2350d66206fSEd Maste[9]: https://openports.pl/path/fonts/spleen
2360d66206fSEd Maste[10]: https://pkgsrc.se/fonts/spleen
2370d66206fSEd Maste[11]: https://www.freshports.org/x11-fonts/spleen/
2380d66206fSEd Maste[12]: https://aur.archlinux.org/packages/spleen-font/
2390d66206fSEd Maste[13]: https://github.com/void-linux/void-packages/tree/master/srcpkgs/font-spleen
2400d66206fSEd Maste[14]: https://github.com/NixOS/nixpkgs/tree/master/pkgs/data/fonts/spleen
2410d66206fSEd Maste[15]: https://packages.debian.org/search?keywords=spleen
2420d66206fSEd Maste[16]: https://packages.ubuntu.com/search?keywords=spleen
2430d66206fSEd Maste[17]: https://ports.macports.org/port/font-spleen/
2440d66206fSEd Maste[18]: https://wiki.ubuntu.com/Fonts#Enabling_Bitmapped_Fonts
2450d66206fSEd Maste[19]: https://github.com/fcambus/bdf2sfd
2460d66206fSEd Maste[20]: https://www.cambus.net/spleen-monospaced-bitmap-fonts/
2470d66206fSEd Maste[21]: https://undeadly.org/cgi?action=article;sid=20190110064857
2480d66206fSEd Maste[22]: https://www.cambus.net/netbsd-ctwm-and-spleen/
249*b17b6398SEd Maste[23]: https://freshbsd.org/openbsd/src/commit/5raMrDMpYlPYW01H
250*b17b6398SEd Maste[24]: https://freshbsd.org/openbsd/src/commit/MoBCxKiAlFajRvSm
251*b17b6398SEd Maste[25]: https://freshbsd.org/netbsd/src/commit/TAJuMl9caBpVjGfB
252*b17b6398SEd Maste[26]: https://git.haiku-os.org/haiku/commit/?id=29a109bd6c01ce71bb61177ee9ff0417e74c1e18
253*b17b6398SEd Maste[27]: https://cgit.freebsd.org/src/commit/?id=0d66206fff44
254*b17b6398SEd Maste[28]: https://github.com/jcs/msTERM
255*b17b6398SEd Maste[29]: https://github.com/NiLuJe/FBInk
256*b17b6398SEd Maste[30]: https://github.com/olikraus/u8g2/wiki/fntgrpspleen
257*b17b6398SEd Maste[31]: https://www.ansilove.org
258