Bitmap fonts make computers feel like computers again

108 points
1/21/1970
2 days ago
by speckx

Comments


cladopa

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.

2 days ago

TacticalCoder

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

Yes! Speaking of Linux, I'm personally very font of Terminus.

I like it so much my main coding font is a modified, pixel-perfect (no AA at all) version of Terminus since forever (I modified a few letters like the 'l' and the 's' and took a few glyphs from a pixel-perfect Monaco font [like %, &, @ and modified those a bit too). I did it so many years ago I don't remember the process (but I've got notes about it, so I could redo it).

I'm on a (non-retina / non 4K) 38" ultra-wide display that does 3840x1600 natively (and it's the resolution I use). I love it for I can have three 1280x1600 "columns" side by side (but I'm using a tiling WM so I've got many preset layouts anyway). YMMV.

2 days ago

susam

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

2 days ago

tracker1

Note, if you're going to use the EGA 8x14 or VGA 9x16 fonts for rendering, your best bet is to also render each pixel 3 pixels wide and 4 pixels tall, then scale to your desired size... I do this, then the 50% of the scaled render looks pretty good, this corrects for the original 4:3 non-square aspect ratio of EGA and VGA level text.

I did this for my canvas renderer for BBS Ansi... Though, I need to get the next step(s) so I can start testing against a websocket based door server I'm also working on.

https://bbs-land.github.io/webterm-dos-ansi/

17 hours ago

jamiejquinn

Absolutely sublime attention to detail. Reminds me of the series on fonts in Josh Ge's blog on Cogmind (https://www.gridsagegames.com/blog/2014/09/cogmind-fonts/)

2 days ago

UI_at_80x24

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!)

2 days ago

Lammy

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

2 days ago

snvzz

I stopped using GNOME at that point, over this.

a day ago

VorpalWay

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.

2 days ago

noisem4ker

Well-hinted fonts such as Consolas are indeed very rare.

I think I've only found Liberation and Hack to appear decent on standard density display. Roboto Mono is nicely shaped but blurry. I think Noto Mono used to have hints but dropped them. It was hours spent trying out different fonts only to ultimately go back to msttcore-fonts for me.

2 days ago

cmdrk

100% the same problem here.

I have to show people extremely zoomed-in screenshots of how $VENDOR default monospaced fonts get rendered compared to Terminus at the correct size in order for them to understand my pain. The hinting is just blurry bleh.

These days, because I am also old, I want a comparatively large pixel-perfect font. I've yet to find a good one but haven't looked much beyond Terminus honestly. Maybe I can render it an acceptable integer multiple without it being too large?

2 days ago

amlib

I've been using it for a long time and I can't use a new computer or a work computer without it for long before I feel like my eyes are going bad. I specially like the bold version, seems to do well with my astigmatism, specially in reverse video/"dark mode".

I never knew there was a TTF variant, might be a good fit on software that stubbornly blurs it when rendering in hi-dpi.

2 days ago

ASalazarMX

Subpixel antialiasing works really well on low DPI monitors, though. When Microsoft implemented it, it felt like magic compared to bitmapped or regular font aliasing.

2 days ago

VorpalWay

I disagree on this, the colour bleeding is visible and causes me actual headaches. I know not everyone is affected by that, but if you google this, a small but significant number of people can't use cleartype because of that.

a day ago

ASalazarMX

I can see (ha ha) how annoying that could be. Like trying to force-focus something that isn't focusable at all.

17 hours ago

TacticalCoder

Same. Pixel-perfect Terminus for the win in my terminals and in my beloved Emacs.

2 days ago

kps

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

2 days ago

VorpalWay

Couldn't disagree more, I get headaches from blurry text, so I daily drive Terminus TTF, and have done so for years. Modern font rendering really has becole quite terrible unless you own a high DPI screen, even when using full hinting.

And no, subpixel anti-aliasing doesn't help, the colour bleeding is even worse.

2 days ago

turtlebits

Buy a modern monitor or just run your display at a low res and disable antialiasing? Phones are now 500 PPI+, theres no real excuse for using a low DPI screen.

2 days ago

VorpalWay

Income and effective cost of things like desktop monitors vary wildly across the world, that argument doesn't really fly.

2 days ago

ASalazarMX

I vehemently disagree. Recently bought a pretty good and affordable 21:9 Chinese monitor, and I couldn't be happier with it. A good monitor is a basic QOL improvement for IT professionals, and these days they're still cheap because they aren't affected by the recent HDD, GPU, or RAM scarcity.

For reference, I live in Mexico, and bought the monitor with less than two week's worth of groceries. Recognized brands would cost four or five times more, but there are options for every budget.

2 days ago

noosphr

Screens are still stuck at <150 ppi, unless you go for an 8k screen.

a day ago

0907

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.

2 days ago

[deleted]
2 days ago

addycb

Ai writing

2 days ago

forbiddenvoid

I immediately suspected AI writing. Then I quickly checked a couple of their older posts, and sure enough: completely different tone, language, grammar.

There may come a day when we can no longer reliably tell the difference, but for now, I'd just prefer not to see this kind of writing popping up on HN.

a day ago

lukeasch21

It's so bad that whenever I click on blog post I don't start by reading the content, first I skim to see if it's even worth my time. This one is not.

> The part I keep coming back to

Immediately caught my eye. Reading in...

> Bitmap fonts make computers feel like computers again. Not abstract “digital products”. Not generic interfaces. Not frictionless panels pretending to be neutral. Actual computers.

Aaand there it is. Tab closed.

2 days ago

phainopepla2

It's gotten to the point where I barely even skim first. I sort of unfocus my eyes and can sometimes see the shape of LLM writing. Sort of like when I'm birding and I switch from eagle vision to owl vision, and I can ID a bird just by catching the way the light reflects off its wingflash in the corner of my vision.

2 days ago

vonunov

>And, just as I can now recognize Christian music in three notes or less, I can spot ChatGPT output without necessarily even reading any one contiguous string of it. I can just tell by the shape or something.¹

1. https://v-n-n-v.github.io/chatgpt-voice.html (bit outdated now, from 2025-03)

3 hours ago

birdsongs

Yeah, I got 2 minutes in before a "x isn't just y, it's Z"

It just feels disingenuous. Put a disclaimer at the top, so at least I know. But there's not, it's the author's name.

I can prompt chatgpt to write me this. I want to hear from people who know the tech/history.

2 days ago

efilife

Someone here a couple of months ago made a tool[0] to detect AI writing on websites. This one gets categorized as "pure slop" https://tropes.fyi/vetter/d7cebcde

[0] https://news.ycombinator.com/item?id=47291513

2 days ago

kstrauser

Too bad that tool sucks. I ran my own blog through it and it gave me a middling score, even though I’ve never touched it with an AI tool of any kind, even Grammarly.

2 days ago

tester457

I rather see the prompt they used to make that article, than the article itself. It overstayed it's welcome to say nothing.

2 days ago

efilife

This website has a tool just for this. Here's how it went

https://tropes.fyi/aidr/fc7ff499

a day ago

andrewshadura

From that website: "Every bullet point or list item starts with a bolded phrase or sentence. Extremely common in Claude and ChatGPT markdown output. Almost nobody formats lists this way when writing by hand. It's a telltale sign of AI-generated documentation and blog posts AND README files (especially with emojis)."

That’s bullshit. It’s very common.

2 days ago

jameshart

I used to do it. Have stopped because AI made it seem uncouth.

2 days ago

ddtaylor

Attacking the source of the message instead of the merits.

Ad-HomineLLM

2 days ago

nimih

AI writing is worse on the merits: it is lower quality and has concerning externalities associated with its production.

2 days ago

lukeasch21

It's also reasonably effective proxy to determine whether somebody is actually passionate about the topic they're writing about. If you've got a very strong interest in a specific niche you're typically able to pour pages and pages of ink down talking about it. If you can't be bothered to take the necessary time to distill your thoughts, it signals to me that your thoughts on the topic aren't as worthwhile as someone who's deeply invested in it.

Of course this proxy isn't perfect, I understand many people use AI to make their writing more comprehensible when English isn't their first language.

2 days ago

ddtaylor

Often the commentor wants to take a shortcut and just say it's AI written and hand wave it away.

A comment should argue the merit of the work not attack the source or medium.

2 days ago

forbiddenvoid

The medium is the message. I feel like this should be more obvious in 2026 than at any other time in history.

If the author does not care to take the time to craft their message, why should I care to take the time to read it?

If you used AI, and I cannot tell, I don't care that you used AI. But when it's clear and present almost immediately, I feel as though the author does not respect their audience (of which I am a member).

As every composition teacher would say: "use your own words."

a day ago

captainbland

The attention economics are bad more than anything else. LLM articles ask us to put more time into reading it than the LLM put into writing it. Actually committing time to production is the minimum bar which suggests something is worth our time in a world where so much is already vying for our attention.

2 days ago

ddtaylor

If a truly amazing thing was released tomorrow that had massive utility you wouldn't care how long it took to create and would just use it.

I get the attention economy is messed up right now, but using it as a justification for being curmudgeonly or abandoning principles is lame.

2 days ago

captainbland

Yeah but we're not talking about utility, we're talking about content and in this particular case content which basically just boils down to someone's slightly quirky taste in something.

a day ago

ddtaylor

I think utility is a big component of that. I think there's a reason we're discussing these types of things instead of just cat pictures and memes.

a day ago

unleaded

Who would want to read about the thoughts of an AI?

All it knows about your thoughts are from what text you already fed it with, and it will end up adding things you don't intend or agree with. Even just telling it to fix grammar it can subtly do this.

2 days ago

ddtaylor

I think a lot of people are really interested in what an LLM or something that can pass the Turing test "thinks" or generates as output.

Obviously it's for entertainment, but there are many channels where content creators post questions that have asked LLMs [1]

I also think many people are prompting image generators to see what they produce. I can remember a time when many images that involved asking ChatGPT to make someone aggressive would make the people in the image black, whereas using neutral terms would have them generate as white.

I also remember asking early GPT 4 LLMs to explain something to me like a 5 year old from X location and basically seeing the network produce varied responses as it was clear it had an idea of some 5 year olds from one city being inherently smarter than others. Then you can change it to say a 5 year old girl or a 5 year old boy and it would dumb things down a lot more for the boy.

[1]: https://youtube.com/@fatherphi

a day ago

rpearl

an article written by an AI about fonts, when the AI fundamentally does not look at rendered text, is inherently without merit

2 days ago

ddtaylor

Those are good arguments to be made regardless of who wrote them. I'm all for actual arguments against the work instead of hand waving it away as AI and being too lazy to say what is wrong with the work.

Can the same argument be made about a writer that is blind? If a blind person submitted work about fonts would we be equally as dismissive?

2 days ago

wastewastewaste

It reads like a dog wrote it. Whether the writer is terrible or LLM being terrible, get this shit out of here

2 days ago

ddtaylor

A dog writing sounds like an interesting story.

a day ago

ryandrake

We need an update to the HN posting guidelines that addresses this. We already have:

    Please don't complain about tangential annoyances—e.g. article or website formats, name collisions, or back-button breakage. They're too common to be interesting.
I'm not welcome to complain that the website is a tiny vertical strip down my screen with 6 inches of whitespace on each side, so we should also not welcome the boring, common "The article is written by AI" criticism, which is going to apply to 99% of articles by the end of 2026. It's already too common to be interesting criticism.
2 days ago

tapete1

You are wrong in this regard. If you complain about "6 inches of whitespace on each side", you should read this on a proper device (i.e. a desktop computer) or just inject some CSS to fix the site (this is HN, after all).

But knowing that the article is AI generated is useful, because that tells me to not to read it.

a day ago

CodesInChaos

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

2 days ago

RogerL

It's an AI generated article; don't trust anything in it unless you verify it.

2 days ago

beej71

A little weird, but lately I've found myself craving lower-res monitors with chunky pixels. I think maybe I'm just nostalgic in my older age. :D

a day ago

6thbit

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.

2 days ago

enriquto

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/

2 days ago

nottorp

The greybeard font says it's ttyp0 with some hacks for windows.

a day ago

LocalH

I still use Amiga Topaz (depending on my mood, either the 1.x or 2/3.x variants) across multiple programs on my computer, from terminals to IDEs and text editors. I even have it set in my browser as the monospace font, which isn't perfect, but is quite nostalgic.

a day ago

agumonkey

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

2 days ago

kstrauser

It was an era when you could know a machine. I had a C64 and had a huge chunk of its kernal addresses memorized from sheer repetition. You could remember its whole ISA and timings. The memory map was learnable. The hardware interfaces were simple.

I have zero desire to use a C64 again, aside from the occasional nostalgia pang for a specific game or program. But I do miss that feeling of complete, total understand of the thing in front of me. I think that’s the feeling that implanted on me, and that the aesthetics conjure. “Hey, the world is complicated, but this font looks a lot like the time when you felt like you knew everything.”

2 days ago

jibal

I started programming on an IBM 1620 with 20,000 BCD digits of memory, 20 usec to add 2 digits, 160 usec for branch not taken, 200 usec for branch taken. I remember these and many other details but I have no desire to go back because I'm not an idiot. The first computer I owned was an Amiga 1000, to which I added a 50 MB hard drive that cost me $1000. Again, no desire to go back. Same with bad fonts.

2 days ago

trollbridge

Perhaps because we grew up with it. The VGA 8x16 font reminds me of growing up when I had my first computer that was all mine, with a plasma display where the pixels were clearly visible, yet quite restful on the eyes.

2 days ago

agumonkey

the nostalgia doesn't check all the boxes, even though yeah it's hard to deny, but it embodies a different mindset, a strange limited visual form that promised the future. it was also its own kind of design and aesthetic, today we have infinitely capable machines and all possible fonts but we lost that difference.

ps: i have the same relationship to vintage desktop computer form factor, something about an old blocky box, an hdd led, a cd drive

2 days ago

trollbridge

One odd thing I have noticed is that my young children think a COMPAQ Portable III (not the machine I had as a youngster, but similar) is far more interesting to them than a modern, sleek MacBook. I think it's because they can touch it and turn it on and off, it simply occupies more physical space, and it makes more "interesting" noises.

a day ago

agumonkey

Yes, it's close to what I'm feeling. I booted a pentium 2 era Dell desktop and all the physical aspects (volume, surface, motor noise, activity led) made me feel happier. It's partly emotional but also informational, I'm informed of what is there and what is happening (for disk activity led it's also very very useful, I miss that on hdd and usb keys all the time). Todays machines are unbelievably powerful but it's basically a nanoscopic blackbox out of reach for your mind.

7 hours ago

joezydeco

Because there were constraints. Name it: CPU speed, RAM, screen size, connection speed, whatever. We long for those days when we had to sit back and think the problem out instead of adding another package import.

2 days ago

crazygringo

> 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.

2 days ago

VorpalWay

> 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.

Not all of us are in that position, and modern font rendering has gotten really bad on non-high DPI monitors, so using a bitmap font has been a way to get rid of the blur and get back to sharp crisp text.

For me, I'd rather have jagged text than a blurry literally headache inducing mess.

That said, the issue here isn't that one is better than the other, but that for some people one or the other is easier to read, and the right answer is that all of this need to be configurable. Just like light and dark mode.

2 days ago

crazygringo

OP is taking screenshots of low-res bitmap fonts on a high-res Mac screen (note the perfectly smooth window controls).

They're making an argument for bitmap fonts even on modern Retina displays as far as I can tell, since they're talking about making modern computers feel like older computers.

I'm pushing against that.

2 days ago

mrob

>jaggies are a visual distraction

So are serifs, and people don't complain about those. Whether any "visual distraction" actually distracts you is a matter of what you're accustomed to. If you read enough cursive or blackletter it will start to look normal to you. I disable anti-aliasing because I'm accustomed to aliasing and it doesn't distract me at all. In exchange, I get sharp text on an 1080p monitor, effectively quadrupling my graphics performance because I no longer need 4K. I'd prefer bitmap fonts, but in practice I find full automatic hinting of vector fonts good enough.

The only cases where I can see anti-aliasing helping are with Chinese and Japanese fonts, which have characters with unusually fine details. But on any GUI using Fontconfig you can enable anti-aliasing for those fonts specifically and leave it disabled for the rest.

2 days ago

crazygringo

Serifs are chosen intentionally to be harmonious with the overall letterforms. They provide a feeling of visual stability and additional cues for recognizing letterforms. They provide a kind of consistency. They're not a distraction.

Jaggies come from a limitation of the pixel grid. They arbitrarily make diagonal strokes and curves bumpy while horizontal and vertical strokes are perfectly smooth, an inconsistency that would otherwise have no rhyme or reason behind it. Before letterforms were constrained to square grids, nobody was making diagonals and curves bumpy because it was a desirable aesthetic effect.

Jaggies are a distraction from the underlying letterform we all recognize. We know they are an undesirable distortion. Serifs are not. They serve an intentional aesthetic purpose, proportioned in a carefully balanced way.

2 days ago

mrob

Serifs are a skeuomorphic artifact of stone-carved text. They're no more legible than sans-serif fonts (see https://news.ycombinator.com/item?id=47492894 ). The only reason people like them is because they're used to them. You can get the same feeling from bitmap fonts if you read them enough.

2 days ago

crazygringo

I very intentionally didn't say serifs were more legible than sans-serif.

There are reasons people like them more than just that "they're used to them", however. I named a couple of them. Just because they originated in stone doesn't mean we kept using them for the same reason. A lot of things originate for one reason and then become used for other reasons.

Believe me, I got "used to" bitmap fonts throughout the 80's and 90's. But I still always preferred the 300dpi version of a document from my LaserWriter and then inkjet. Getting used to bitmap fonts never meant preferring them for general computer usage. Jaggies that appear arbitrarily on some strokes but not others is not visually pleasing. Nostalgic, maybe, but virtually never anything you'd choose if you weren't intentionally trying to create a retro vibe.

2 days ago

tommica

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.

2 days ago

CarVac

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.

2 days ago

KronisLV

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

2 days ago

gorgoiler

What I love most about Iosevka — and there are surely many things more than just one thing to love — is that it is not merely defined as a typeface using a fount encoding, but it is defined in a programming language. Of course it shows up in its router-sign aesthetics, but knowing how it is all defined is a huge part of its charm. A kind of Esperanto of faces.

2 days ago

pb060

I like to flirt with new fonts every now and then but for me all roads lead to Monaco.

a day ago

zeckalpha

Yet the article is not using a bitmap font

2 days ago

sssilver

> Not because they are retro.

> Because they still work.

I find this writing style so viscerally infuriating.

2 days ago

Animats

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

2 days ago

jibal

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

2 days ago

nice_byte

ai slop

2 days ago

vdelpuerto

[dead]

2 days ago