kirsch /ˈkɪərʃ/ n.
-
(German) cherry.
-
(Russell A. Kirsch, 1929 - 2020) American engineer recognized as the developer of the first digital image scanner and the inventor of the pixel.
-
A monospace bitmap font with a 6x16 bounding box (5px avg width, 4px descent, 12px ascent, 5px x-height, 9px cap height). It draws from a variety of letterforms and motifs to create a distinct humanist feel at a compact size.
Some glyphs come from Cozette, often with modifications to adhere to kirsch's design.
Download from Releases. Included are bitmap formats - OTB, BDF, PCF, DFONT (for Mac users) - as well as TTF. 2x versions are available for HiDPI screens. Note that PCF doesn't contain glyphs past U+FFFF.
For the crispiest viewing experience, try to use the bitmap formats when possible. If bitmap fonts are not supported on your platform (e.g. Windows, VSCode), then use the TTF at font sizes that are multiples of 16px.
Quick Tip: If you need font size in pt, use the following conversion:
pt = px * 72 / dpi
e.g. 13px on a 96dpi screen is
16px * 72 / 96dpi = 12pt
.
Patched Nerd Fonts are available. The "Mono" variant uses smaller glyphs (single- instead of double-width) and works for terminals that can't mix widths.
I would generally discourage usage of kirsch on the web due to lack of bitmap support. But for the stubborn and the brave, WOFF2 is available. There is also a CDN-hosted stylesheet for convenience.
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/kirsch@latest/kirsch.css"
/>
Requirements:
- Java (for Bits'n'Picas)
- FUSE (e.g.
apt install fuse
)
Optional:
- HarfBuzz utilities (e.g.
apt install libharfbuzz-bin
) bdfresize
(e.g.apt install bdfresize
)bdftopcf
(e.g.apt install xfonts-utils
)compress_woff2
(e.g.apt install woff2
)
git clone
and run build.sh
. Font files output to out/
.
build.sh
downloads into deps/
:
- A FontForge AppImage for generating bitmap formats from BDF.
- A Bits'n'Picas binary. If you wish, you can use this binary (instead of or alongside FontForge) to view glyphs and build desired font formats not found on the Releases page.
- A Nerd Fonts Patcher, which requires
-n
to activate.
HarfBuzz utilities are necessary if you wish to use img.sh
to generate the
images found in img/
, but is otherwise unused in the building of the final
font files. bdfresize
is for generating HiDPI fonts. bdftopcf
is for
generating PCF fonts. compress_woff2
is for generating WOFF2 fonts.
Unlike my previous font eldur, which had a mere 4px avg. char width to work with, kirsch has a 5px avg. char width. That 1px of extra width affords a surprising amount of leeway for the design. Far more glyphs fit comfortably into 5px width - e.g. "m" and "w" - meaning that those glyphs won't break kerning and intrude on the spaces of neighboring glyphs. Glyphs that don't fit into 5px width can now work with 7px width, which maintains balance and legibility without affecting kerning too negatively.
The flourishes - e.g. in "i" or "f" - are a stylistic choice, but they also serve a functional purpose. Without the flourishes, "i" would take up 1px of width, leaving 4px of awkward space. 2px flourishes on each side of the "i" give it a 5px width, thereby addressing the kerning issue in a stylish way.
In "l"'s case, the script-style flourishes further distinguish it from other
vertical characters like 1I|
.
One of kirsch's distinctive features is the presence of a gap at the bowls of the letters. Filling in the gap would make the letters either too square or too bunched-up, while leaving the gap open declutters the letterforms. The gaps also evoke script-style stroke endings.
- More Unicode support
- Ligatures
Issues, feature/glyph requests, and pull requests are all welcome!
These are projects that have inspired/helped me create kirsch and are 100% worth checking out.
Made with ♥ by Ben Pang. Released under the OFL-1.1 License.