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.
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].
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!)
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:
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.
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.
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.
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.
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.
85 comments
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.
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
- https://blogs.gnome.org/mclasen/2019/05/25/pango-future-dire...
- https://gitlab.gnome.org/GNOME/pango/-/issues/386
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.
But the bitmaps do make me nostalgic, maybe useful to read my own old code and cringe a little less.
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/
>
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.
The fonts presented do look amazing, so absolutely will ck figure my terminal with one of them.
> Not because they are retro.
> Because they still work.
I find this writing style so viscerally infuriating.