For years I’ve heard extensive-terminal-users proselytise about pixel fonts. I’d never paid much attention because what is this, the 1800s? But I’ve been hankering for a bit of basicness in my computering recently so I thought I’d give them a pop.
Back in the olden days, when computers mainly did text, screens were divided into rows and columns of characters, and characters were rows and columns of pixels. And that’s what a pixel font still is - characters drawn in a fixed-size grid with pixels that are entirely on or off.
In the modern times we have fonts that are made of curves rather than pixels. Vectors, as the kids call them. Screens, of course, are still made of pixels, and you can’t really do curves on a pixel grid, you can only, with some fancy maths, approximate them. The higher the density of pixels, the closer the approximation gets, but it’s always an approximation. Or, in other words, a disgusting and shameful lie.
When you’re sending sinuous curves through a pixel grid, sometimes the curve will pass through half a pixel. Is that pixel on or off? What you got, particularly on relatively low-density screens relative to the font size, was often a bit of a fucking mess.
But then font-boffins invented hinting, whereby the font contained information as to whether, when a curve passes half-way through a pixel, that bit of the letter is more inny or outie and, therefore, whether that pixel should be on or off.
And we carried those boffins through the streets on our shoulders. Statues were erected and songs were sung. Finally our letters could be more roundier, without bits sticking out in weird places. “But wait!” someone in the crowd shouted, “The letters are still jaggy!” The scales fell from our eyes and we kicked the boffins to death for their wicked pride.
Their progeny continued their diabolical work and invented anti-aliasing: What if, when those curves pass partially through a pixel, instead of making it either black or white, we sometimes made it in-between, deceiving thine eyes into seeing something smooth.
So, to display a letter in a pixel font, the computer asks the font: Is this pixel on or off? And the font replies either “on” or “off”. Computers love this, since “on or off” is their native language.
To display a vector font, the computer asks the same question, and the font replies: It’s complicated, here’s a lot of difficult maths homework.
Does this extra work really matter on a modern computer? No, not at all. But it does add complexity - you generally need libraries to do all that fancy font maths.
One thing that pixel fonts are objectively, undeniably better at is being legible at very small sizes. While the notable downside is that they can’t really be resized, you get what you’re given in terms of font sizes.
There’s a certain kind of dickhead productivity-maxing programmer-type who just wants to have as much text on screen as is humanly possible, so many of the modern pixel fonts prioritise clarity at absurdly tiny sizes.
I’m not interested in that and my eyes are too old for it anyway, I just want a nice, crisp pixel font that looks decent at normal sizes.
I tried a handful of these and found them mostly lacking - they tend to not have enough sizes (I want to ‘zoom’ in on my terminals sometimes), look inconsistent at different sizes or, often, both.
So I settled on Terminus, which is very much the de facto default of pixel fonts (suiting my drive for basicness). It’s not, to my eyes, the most attractive font - I like my serifs and my curly gs and ks - but it’s decent enough, comes in loads of sizes and looks consistent across those sizes.
I’ve been using Terminus as my terminal font for a week or two now. It’s very geometric when I tend to favour something a bit humanist or irregular-leaning neo-grotesque, but I got used to it fairly quickly and quite like it now. Despite being very regular, it does have a touch of personality, particularly in the letters with descenders (which might just be a function of fitting the pixel grid but I like it nonetheless).
And something I thought might happen has happened - vector fonts at body-text sizes, particularly in terminals, look unpleasantly blurry/fuzzy to me now.
Since your eyes probably haven’t beheld the glory of pixel fonts as mine have, you probably aren’t seeing that as I am. Here’s an artist’s impression of how that looks to me.
![]()
I like my pixel terminal font. I will be sticking with it. The crisp clarity seeps into your eyes like honey spat through a sieve by an elderly bigot.
What we tend to refer to as a font is actually a typeface. For example, Comic Sans is a typeface not a font. A font is a typeface with particular characteristics (size, weight, etc.). Comic Sans in bold at 12pt is a font. I’m not arguing that the ‘correct’ usage should be pushed, that battle is lost, just might be interesting for anyone not aware of the distinction.
..