Bitmap fonts make computers feel like computers again

(korigamik.dev)

60 points | by speckx 2 hours ago

18 comments

  • cladopa 25 minutes 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 28 minutes 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 but it still introduced some 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 1 hour 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!)
  • VorpalWay 1 hour 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.

    • cmdrk 27 minutes ago
      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?

    • noisem4ker 40 minutes ago
      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.

  • 0907 59 minutes 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.
  • kps 1 hour 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.
    • VorpalWay 56 minutes ago
      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.

      • turtlebits 46 minutes ago
        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.
        • VorpalWay 41 minutes ago
          Income and effective cost of things like desktop monitors vary wildly across the world, that argument doesn't really fly.
  • tommica 15 minutes 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.

  • addycb 1 hour ago
    Ai writing
    • lukeasch21 1 hour ago
      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.

      • phainopepla2 2 minutes ago
        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.
    • birdsongs 1 hour ago
      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.

    • efilife 1 hour ago
      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

      • kstrauser 42 minutes ago
        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.
      • tester457 41 minutes ago
        I rather see the prompt they used to make that article, than the article itself. It overstayed it's welcome to say nothing.
      • andrewshadura 27 minutes ago
        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.

    • ddtaylor 1 hour ago
      Attacking the source of the message instead of the merits.

      Ad-HomineLLM

      • nimih 1 hour ago
        AI writing is worse on the merits: it is lower quality and has concerning externalities associated with its production.
        • lukeasch21 1 hour ago
          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.

      • captainbland 1 hour ago
        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.
      • rpearl 1 hour ago
        an article written by an AI about fonts, when the AI fundamentally does not look at rendered text, is inherently without merit
      • unleaded 56 minutes ago
        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.

      • wastewastewaste 37 minutes ago
        It reads like a dog wrote it. Whether the writer is terrible or LLM being terrible, get this shit out of here
      • ryandrake 1 hour ago
        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.
  • CodesInChaos 25 minutes ago
    Why is Greybeard listed as "License: Custom, double-check before reuse" when the LICENSE file in the repo is MIT?
  • KronisLV 28 minutes ago
    Can confirm that Terminus is pretty nice, used it as my main programming font for a little bit, before moving over to Iosevka!
  • 6thbit 1 hour 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.

  • agumonkey 1 hour ago
    I often question myself on why the aesthetics of personal computing were so special our brains that it sticks to this day.
    • kstrauser 47 minutes ago
      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.”

      • jibal 15 minutes ago
        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.
    • joezydeco 51 minutes ago
      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.
    • trollbridge 1 hour ago
      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.
      • agumonkey 22 minutes ago
        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

  • crazygringo 1 hour 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.

    • VorpalWay 50 minutes ago
      > 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.

    • mrob 1 hour ago
      >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.

      • crazygringo 1 hour ago
        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.

        • mrob 52 minutes ago
          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.
  • CarVac 1 hour 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.
  • Animats 8 minutes ago
    Sometimes I think all the HN "get off my lawn" postings need to be moved to another site.
  • jibal 24 minutes ago
    Glad I have a good font in my browser to read such nonsense.
  • nice_byte 41 minutes ago
    ai slop
  • vdelpuerto 2 hours ago
    [dead]