Bitmap fonts make computers feel like computers again

korigamik.dev

78 points by speckx 4 hours ago


cladopa - 3 hours ago

I have a different opinion. I had access to real terminals when I was young and they had amazingly sharp fonts. They had hardwired optically etched fonts and were incredible. 100% smooth.

I had to work with DOS screens that were sketched to different aspect ratios and blurred and it was so painful, specially after having seen proper fonts on the screen.

One of the reasons for starting to use Linux was using high quality fonts with the terminal.

susam - 3 hours ago

A few years ago, when I wrote my own Invaders-like game [1], I was quite unhappy with the rendering quality of the HTML Canvas fillText() method. The antialiasing introduced multiple shades of green, whereas I wanted to render the text in a solid monochrome green while the glyphs retained their crisp, jagged edges. Although `canvas { image-rendering: pixelated }` improved the crispness and jaggedness, it could not entirely eliminate the multiple shades of green.

I finally decided to take the matter into my own hands. I looked for IBM PC OEM fonts [2] and similar ones [3], stored the bitmaps as integer arrays within my code [2], and used them to render each character cell by cell. I am very happy with the results.

It was a childhood dream of mine to write a game like this, but I did not have sufficient access to computers as a child. So I could fulfil this dream only as an adult, a few years ago. The implementation is very simple, and everything on the canvas, including the text, is drawn using fillRect().

By the way, if you happen to do something similar, I have made all the bitmaps available as integer arrays in a separate, standalone project [5].

[1] https://susam.net/invaders.html

[2] https://int10h.org/oldschool-pc-fonts/fontlist/

[3] https://www.dafont.com/modern-dos.font

[4] https://codeberg.org/susam/invaders/src/branch/main/invaders...

[5] https://codeberg.org/susam/pcface#readme

UI_at_80x24 - 4 hours ago

I loved the look of the fonts on DOS after I upgraded from a C64. My favorite was the exclamation mark on 1024x768 (VGA). It had curves! Pointy at the bottom right above the dot, and the rounded curve at the top. I've never found a monospace non-bitmapped font that had the same character. (ha!)

kps - 3 hours ago

This is like the (fortunately brief) fad of ‘shabby chic’ — it's a signal that you've never had to suffer the real thing.

Lammy - 2 hours ago

I am eternally annoyed at GNOME Project for, among many many other reasons, forcing the removal of bitmap font support as of Pango 1.44 due to forcing Harfbuzz as the only supported shaping library:

- https://blogs.gnome.org/mclasen/2019/05/25/pango-future-dire...

- https://gitlab.gnome.org/GNOME/pango/-/issues/386

VorpalWay - 3 hours ago

I use Terminus TTF for my terminal and text editor. I fully agree with their description of it as a workhorse font. The Gohu font they mention also seem interesting.

In general bitmap fonts avoid the blurryness of modern font rendering made for high DPI monitors, which fails spectacularly on low DPI monitors (which is what I still have). And blurry text give me literal headaches. And this is why I gave up on anything but bitmap fonts in recent years.

0907 - 3 hours ago

I've dabbled a few times in writing bitmap font parsers for both technically constrained and artistic projects. There is a reason that design has resolved to the same few cliches, because expectability, latent understanding, and 'obviousness' reduces onboarding curve and fatigue. It's a cognitive accessibility issue before you even get to legitimate accessibility concerns. Render a .F16 at anything larger than 16px in a modern application and you're introducing issues which are solved, quantitatively and qualitatively, by vector graphics and antialiasing. There's an optimistic naivety which is nice to have, but misunderstands design as a conduit for informed action vs design as an aesthetic function independent of intent is legitimately dangerous if you're doing anything other than building narrative products emulating older tech.

addycb - 4 hours ago

Ai writing

CodesInChaos - 3 hours ago

Why is Greybeard listed as "License: Custom, double-check before reuse" when the LICENSE file in the repo is MIT?

enriquto - 2 hours ago

Conspicuously missing to this list is uwe's ttyp0 [0].

One of the few bitmap fonts (with terminus) having somewhat complete unicode support and going to very large pixel sizes, so that they are visible on modern screens with tiny pixels.

[0] https://people.mpi-inf.mpg.de/~uwe/misc/uw-ttyp0/

6thbit - 4 hours ago

I'm good with my Iosevka ExtraLight with iTerm2's thin strokes enabled.

But the bitmaps do make me nostalgic, maybe useful to read my own old code and cringe a little less.

tommica - 2 hours ago

Well written article, a great eye opener. I did not at all consider the bitmap fonts in context of aesthetics, which is such an oversight.

The fonts presented do look amazing, so absolutely will ck figure my terminal with one of them.

agumonkey - 3 hours ago

I often question myself on why the aesthetics of personal computing were so special our brains that it sticks to this day.

zeckalpha - an hour ago

Yet the article is not using a bitmap font

KronisLV - 3 hours ago

Can confirm that Terminus is pretty nice, used it as my main programming font for a little bit, before moving over to Iosevka!

CarVac - 3 hours ago

I made a bitmap font for the PhobGCC project for use in its video output but I don't know how to make it into a bitmap font for use on computers.

crazygringo - 4 hours ago

> Bitmap fonts are the ones that look perfect at their intended resolution.

This seems to be the center of the author's argument.

But I prefer legibility, readability, being easy on the eye. I also prefer antialiasing for its smoothness.

Every screen I have has been Retina for a long time. I greatly appreciate that text is now as legible as it is in books. No distracting jaggies.

I don't want my computer to feel like some nostalgic 1980's computer. I just want to get my work done, which involves a lot of reading and writing, both code and non-code, which is just more legible with vector fonts on a retina screen.

At the end of the day, jaggies are a visual distraction. They're cool if you want a retro vibe that distracts and calls attention to itself for aesthetic purposes. But not for general computer usage.

jibal - 3 hours ago

Glad I have a good font in my browser to read such nonsense.

sssilver - 2 hours ago

> Not because they are retro.

> Because they still work.

I find this writing style so viscerally infuriating.

Animats - 2 hours ago

Sometimes I think all the HN "get off my lawn" postings need to be moved to another site.

nice_byte - 3 hours ago

ai slop

vdelpuerto - 4 hours ago

[dead]