eldur /ˈɛldʏr/ n.
-
(Icelandic) fire.
-
A monospace bitmap font with a 5x13 bounding box (4px avg width, 3px descent, 10px ascent, 5px x-height, 8px cap height). It takes strong inspiration from upright-italic type to create a font that aims to balance aesthetics, compactness and readability at the 4-5px level.
Some glyphs come from scientifica and creep, often with modifications to adhere to eldur's design.
Download from Releases. Included are bitmap formats - OTB, BDF, DFONT (for Mac users) - as well as TTF. 2x versions are available for HiDPI screens.
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 13px.
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
13px * 72 / 96dpi = 9.75pt
.
Requirements:
- Java (for Bits'n'Picas)
- bdfresize (e.g.
apt install bdfresize
) - FUSE (e.g.
apt install fuse
)
git clone
and run build.sh
. Font files output to out/
.
build.sh
downloads FontForge as an AppImage at deps/
for generating bitmap
formats from BDF. build.sh
also downloads a Bits'n'Picas binary at deps/
.
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 rather gnarly challenge with designing a font this small is that oftentimes, characters have details that are important but difficult to fit within 4px - e.g. the middle part of M/W. Here are some approaches for how I try to resolve these problematic characters:
- Alias the detail: this is less desirable because it messes with readability. I more willingly use this approach for characters like letters that form parts of words (e.g.: M/W).
- Expand to 5px: this is less desirable because it messes with spacing. I more willingly use this approach for characters that generally appear by themselves or don't need the spacing to be legible.
- Break the bounding box: this is super-undesirable because it messes heavily with spacing and may mess up certain text renderers (unverified, needs testing). I use this as a last-resort to save certain characters from certain doom.
But this is not a perfect science, and not all characters are salvageable.
In no particular order:
- More Unicode support
- Ligatures
- Bold?
- Nerd Fonts support/patch?
Issues, feature/glyph requests, and pull requests are all welcome!
These are projects that have inspired/helped me create eldur and are 100% worth checking out.
- Bits'n'Picas
- scientifica
- creep / creep2
- Cozette
- Greybeard
- Cyreal Font Testing Page
- W3 UTF-8 Demo / Markus Kuhn UTF-8 Demo
Made with ♥ by Ben Pang. Released under the OFL-1.1 License.