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