Comment by kragen

3 years ago

This is smaller than I've ventured to go; I used 4×6 in http://canonical.org/~kragen/sw/dofonts-1k.html (and I think the font is Janne Kujala's design; I wouldn't be surprised if I changed a few things, but it's been more than ten years, so I don't remember) and a proportional font that averaged 3.6×6 in http://canonical.org/~kragen/sw/netbook-misc-devel/6-pixel-1..., used by http://canonical.org/~kragen/sw/netbook-misc-devel/propfontr... to render http://canonical.org/~kragen/bible-columns.

4×6 is 24 pixels, which is one pixel less than 5×5.

If you're rendering a single column of characters, I think you can do 3×n, where n ranges up to 7 or 8 but is usually more like 5: http://canonical.org/~kragen/sw/netbook-misc-devel/3xnfont.

All of these are larger than 4×4.

My hat is off to the Simplifier.

Unlike the font in the linked example, your font is actually legible. Good job. The lowercase in the link is virtually unintelligible unless you really squint.

  • Fully agree.

    • Again, just to clarify, the 4×6 font is (at least mostly, maybe entirely, I don't remember) the work of Janne V. Kujala in 4x6.bdf, as distributed by Markus Kuhn and now included in XFree86 (and presumably X.org, unless they've dropped BDFs entirely). The XLFD is -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso10646-1, so you can try it by running

          xterm -fn -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso10646-1
      

      My proportional n×6 and 3×n fonts are derived from it.

The smallest I ever did was 4x8 on a Commodore 64. The actual text was 3x7, with a one pixel spacer on the right and bottom. Did this for a terminal emulator that output 80x24 text (plus a status line) on the 320x200 screen.

Rending was slow, but that's OK because 1200 baud was state of the art at the time, and the computer could keep up OK. 2400 baud worked, if there wasn't too much scrolling.

Eventually we came up with a way of doing a 8x8 characters on a 640x200 screen using some of the scrolling methods we saw from the demo scene, but it was blurry, even on a good monitor, and we couldn't output the characters fast enough to be usable. By then the 128 was out, and it was assumed people who wanted 80 columns would just use that machine's real 80-column mode.

  • I think I remember seeing 4x6 (3x5) on the C64, possibly in an environment like GEOS. That’s about the limit of what is usable, pixelation-wise.

    Edit: The smaller GEOS UI font indeed had a cap height of 5 pixels, but it was variable-width: https://upload.wikimedia.org/wikipedia/en/e/e2/GeOS_Commodor... (the font of the icon labels)

    • Tasword 2 (word processor) on the Spectrum did 4x8 (3x7 with a spacer) to get 64 characters per line which was miraculous at the time.

      (They probably kept it on an 8-high grid because the Spectrum's screen layout was a bit bonkers if you went off 8-alignment.)

I guess it is a 50% increase, but yours is really good, it could actually legitimately be used.

  • Thank you! My proportional font is about a 35% increase over 4×4, so I guess what you mean by "yours" is Janne Kujala's 4×6 design (from which I think I derived my proportional one).

    I think that if you use grayscale, and certainly if you use LCD subpixels, you can get readability down to a smaller size.

    • The Simplifier's font is 4x4 including 1 pixel space on horizontal and vertical borders. The 4x6 font does not include that space, so it's an extra difference between them.

      3 replies →

Amazing how only an extra 2 pixels horizontally adds a ton of readability. If I was ever going to use a font like this I would hands down use your 4x6 version over the barely legible 4x4 that was linked.

It's a little annoying that my mobile browser refuses to zoom in far enough on that final image, now I can't properly admire the result of your work!

The font sample looks great though

Tangent: does anyone know how to tell mobile Firefox to use crisp rendering by default when directly loading images?

  • It's a 10 meg image. Drag it off the browser onto the desktop (or save it) then use an image viewer/editor to zoom.