xref: /freebsd/contrib/spleen/README.md (revision 0d66206fff44f864ea8a4b220c3a53b4caa959a0)
1```
2
3                                                   ::::::::::::::::::::
4                                                   :::              :::
5              _____       _______ __. ________ ________ ________.   :::
6             _)  _//__ __/ __   /   |.\  __  /.\  __  /.\  _.   |   :::
7            .\____   /.\   )/  /    ||   )/   |   )/   |   \|   |   :::
8            |   )/    |     __/|     \   _____|   _____|    |   |_  :::
9            |____     |_____|  |_____/____\\  |____\\  |    |____/  :::
10        - -- -- \_____| -H7--------------------------- `----' ----- ::: - -
11                                                   :::              :::
12                                                   ::::::::::::::::::::
13
14```
15
16# Spleen
17
18Spleen is a monospaced bitmap font available in 6 sizes:
19
20- 5x8
21- 6x12
22- 8x16
23- 12x24
24- 16x32
25- 32x64
26
27Each size is provided in the Glyph Bitmap Distribution Format (BDF), and
28release tarballs contain the fonts in the following formats: `PCF`, `PSF`
29(for the Linux console), `OTB`, `OTF`, `.dfont` for macOS users, and `FON`
30for Windows users.
31
32All font sizes contain all ISO/IEC 8859-1 characters (Basic Latin and Latin-1
33Supplement Unicode block), Latin Extended-A characters, as well as Box Drawing,
34Block Elements, and Braille Patterns Unicode blocks, except for the 5x8 and the
356x12 versions.
36
37Due to character size constraints, the 5x8 version only contains printable
38ASCII characters, the Braille Patterns Unicode block, and light Box Drawing
39characters. Please also note that there is no OpenType version for this size.
40
41As of Spleen 1.8.0, there is now a 6x12 version containing the same Unicode
42blocks as the 5x8 version and the Latin-1 Supplement Unicode block.
43
44Spleen also has support for Powerline symbols out of the box.
45
46The font name is a reference to Baudelaire.
47
48## Screenshots
49
50The following screenshots show Spleen 16x32 displaying code and prose.
51
52![Spleen - Hello][1]
53
54![Spleen - L'etranger][2]
55
56ASCII characters for all sizes:
57
58Spleen 5x8:
59
60![Spleen - ASCII characters - 5x8][3]
61
62Spleen 6x12:
63
64![Spleen - ASCII characters - 6x12][4]
65
66Spleen 8x16:
67
68![Spleen - ASCII characters - 8x16][5]
69
70Spleen 12x24:
71
72![Spleen - ASCII characters - 12x24][6]
73
74Spleen 16x32:
75![Spleen - ASCII characters - 16x32][7]
76
77Spleen 32x64:
78![Spleen - ASCII characters - 32x64][8]
79
80## XLFD font names
81
82```
83-misc-spleen-medium-r-normal--8-80-72-72-c-50-iso10646-1
84-misc-spleen-medium-r-normal--12-120-72-72-c-60-iso10646-1
85-misc-spleen-medium-r-normal--16-160-72-72-c-80-iso10646-1
86-misc-spleen-medium-r-normal--24-240-72-72-c-120-iso10646-1
87-misc-spleen-medium-r-normal--32-320-72-72-c-160-iso10646-1
88-misc-spleen-medium-r-normal--64-640-72-72-c-320-iso10646-1
89```
90
91## Packages
92
93Spleen packages are available for:
94
95- [OpenBSD][9]
96- [NetBSD][10]
97- [FreeBSD][11]
98- [Arch Linux][12]
99- [Void Linux][13]
100- [Nix][14]
101- [Debian][15]
102- [Ubuntu][16]
103- [MacPorts][17]
104
105## Manual installation
106
107### *BSD and Linux
108
109Clone the repository, convert the files to the Portable Compiled Format
110(PCF) using **bdftopcf** and run **mkfontdir** in the directory.
111
112Alternatively, release tarballs provide PCF files for each size.
113
114### macOS
115
116macOS users should use the `.dfont` files provided in the release tarballs.
117
118### Windows
119
120Windows users should use the `.fon` or `.otf` files provided in the release
121tarballs.
122
123## Usage
124
125### *BSD and Linux
126
127Update the font path to include **Spleen**:
128
129	xset +fp /usr/local/share/fonts/spleen/
130
131Update **.Xdefaults** and add one of the following directives:
132
133	xterm*faceName: spleen:pixelsize=8:antialias=false
134	xterm*faceName: spleen:pixelsize=12:antialias=false
135	xterm*faceName: spleen:pixelsize=16:antialias=false
136	xterm*faceName: spleen:pixelsize=24:antialias=false
137	xterm*faceName: spleen:pixelsize=32:antialias=false
138	xterm*faceName: spleen:pixelsize=64:antialias=false
139
140Launch **xterm**.
141
142Ubuntu has bitmap fonts support disabled by default, instructions to enable
143it are available [here][18].
144
145### Linux console
146
147Release tarballs provide PSF files for each size, `setfont` can be used
148to load and set the desired font.
149
150### NetBSD console
151
152NetBSD has .fnt files for each size which can be loaded using wsfontload(8).
153
154For example, to load Spleen 16x32:
155
156	wsfontload -N spleen-16x32 -w 16 -h 32 /usr/share/wscons/fonts/spleen-16x32.fnt
157	wsconsctl -dw font=spleen-16x32
158
159### FreeBSD console
160
161The FreeBSD package contains .fnt files which can be loaded using
162vidcontrol(1).
163
164For example, to load Spleen 16x32:
165
166	vidcontrol -f /usr/local/share/fonts/spleen/spleen-16x32.fnt
167
168### OpenType versions
169
170Spleen release tarballs now contains OTF versions generated automatically
171from the BDF files, using [bdf2sfd][19]. Each font has a different name,
172allowing them to be installed alongside.
173
174They should be used in the exact size specified below, with anti-aliasing
175disabled.
176
177- Spleen 6x12: 9 Pt (12 pixels)
178- Spleen 8x16: 12 Pt (16 pixels)
179- Spleen 12x24: 18 Pt (24 pixels)
180- Spleen 16x32: 24 Pt (32 pixels)
181- Spleen 32x64: 48 Pt (64 pixels)
182
183## License
184
185Spleen is released under the BSD 2-Clause license. See `LICENSE` file for
186details.
187
188## Author
189
190Spleen is developed by Frederic Cambus.
191
192- Site: https://www.cambus.net
193
194## Resources
195
196- [Spleen - Monospaced bitmap fonts][20] (2018)
197- [New console font Spleen made default][21] (2019)
198- [NetBSD, CTWM, and Spleen][22] (2021)
199
200GitHub: https://github.com/fcambus/spleen
201
202## Trivia
203
204- Spleen is the default font for OpenBSD consoles since January 2019
205- Spleen was imported in the NetBSD src tree in March 2019
206- Spleen 12x24 was used in the Haiku [kernel debugger][23] (on high resolution
207  displays) from May 2021 to June 2022
208- [msTERM][24], a Terminal program for MailStation devices uses Spleen 5x8
209- [FBInk][25], a library to print text & images to an eInk Linux framebuffer
210  embeds Spleen 16x32
211
212[1]: https://www.cambus.net/content/2018/09/spleen-hello.png
213[2]: https://www.cambus.net/content/2018/09/spleen-etranger.png
214[3]: https://www.cambus.net/files/spleen/spleen-5x8.png
215[4]: https://www.cambus.net/files/spleen/spleen-6x12.png
216[5]: https://www.cambus.net/files/spleen/spleen-8x16.png
217[6]: https://www.cambus.net/files/spleen/spleen-12x24.png
218[7]: https://www.cambus.net/files/spleen/spleen-16x32.png
219[8]: https://www.cambus.net/files/spleen/spleen-32x64.png
220[9]: https://openports.pl/path/fonts/spleen
221[10]: https://pkgsrc.se/fonts/spleen
222[11]: https://www.freshports.org/x11-fonts/spleen/
223[12]: https://aur.archlinux.org/packages/spleen-font/
224[13]: https://github.com/void-linux/void-packages/tree/master/srcpkgs/font-spleen
225[14]: https://github.com/NixOS/nixpkgs/tree/master/pkgs/data/fonts/spleen
226[15]: https://packages.debian.org/search?keywords=spleen
227[16]: https://packages.ubuntu.com/search?keywords=spleen
228[17]: https://ports.macports.org/port/font-spleen/
229[18]: https://wiki.ubuntu.com/Fonts#Enabling_Bitmapped_Fonts
230[19]: https://github.com/fcambus/bdf2sfd
231[20]: https://www.cambus.net/spleen-monospaced-bitmap-fonts/
232[21]: https://undeadly.org/cgi?action=article;sid=20190110064857
233[22]: https://www.cambus.net/netbsd-ctwm-and-spleen/
234[23]: https://git.haiku-os.org/haiku/commit/?id=29a109bd6c01ce71bb61177ee9ff0417e74c1e18
235[24]: https://github.com/jcs/msTERM
236[25]: https://github.com/NiLuJe/FBInk
237