I recently put together some very small fonts (3x3, 3x4, 3x5, 3x6, 4x4, and 5x5) and tried to enumerate most of the possible glyphs as part of working on little projects on SSD1306 OLED screens: https://moonbench.xyz/projects/tiny-pixel-art-fonts/
World's smallest typeface for 36 alphanumeric characters, to be exact. :-) There are some small typefaces for other scripts; my go-to example is the Misaki font [1] that supports all JIS X 0208 character within 8x8 pixels (spacing included, and most glyphs are within 7x7 bounds). It is incredibly hard to recognize some individual characters at this size, but the overall text is surprisingly readable.
A while ago I created an even smaller typeface (2x3) but that is barely readable without memorising certain glyphs:
S and 5 are identical, as are Z and 2, and O and 0 (edit: and Q and 9). No punctuation either; semicolon vs. colon vs. exclamation mark needs creativity. There's no hope for $ or *.
I threw together a figlet font for this typeface, with a preview, here: https://wonger.dev/posts/monospace-dump#creations
It won't render nice here because of line spacing and unicode but it should work fine in the terminal.
See also another 3x3 font and someone else's figlet port of that one:
Not totally sure what I'd use this for. Silkscreen is bigger, but is a lot more legible at small sizes.
this is actually 4×4 if you're counting pixels needed on the output device instead of rom space needed; another, more comprehensive font of the same size is https://simplifier.neocities.org/4x4
the same problem happens with the public-domain 'tom thumb' font pushfoo linked in https://news.ycombinator.com/item?id=38800409. it is actually 4×6 (24 output pixels) but claims to be 3×5
it can be accessed despite tls problems at http://web.archive.org/web/20230828193815/https://robey.lag.... but says 'Please do not post this article to Hacker News.'
my own 4×6 font is demonstrated at http://canonical.org/~kragen/sw/dofonts-1k.html, where it fits into a 1024-byte web page along with all the logic needed to render ascii text with it; but the proportional font i used in http://canonical.org/~kragen/bible-columns (rendered with http://canonical.org/~kragen/sw/netbook-misc-devel/propfontr...) is at http://canonical.org/~kragen/sw/netbook-misc-devel/6-pixel-1... and is slightly smaller; it averages 21.5 pixels per character. this is more than anders de flon's so-called 3×3, which is 16 pixels per character, but it supports the full character set, if you think ascii is the full character set anyway. so does simplifier's 4×4 font
i think you could do better by using grayscale for antialiasing, and as rafabulsing pointed out, matt sarnoff's millitext http://www.msarnoff.org/millitext/ uses subpixel antialiasing to get very readable text at 1⅔×5 pixels
I took a slightly different approach, while also using a 3×3 grid. It's explained here: https://minimalwim.com
It's more of a typographic concept than being fit for actual use, but it was interesting to explore creating a font within a tight set of constraints.
Hopefully the opt-out button and disclaimer designers won't discover this.
Anyone have some text set in this font so we can all see how easy it is to read?
On my MacBook Air 13" seems like you could fit 640*400 = 256000 characters at once. Which ought to fit, for example, the complete text of Alice's Adventures in Wonderland.
For anyone thinking about using this: At some point I tried to do a logo for myself on a 3x3 grid (so pretty much the same as this) and while the text was perfectly readable to me a few people I tested it with couldn't read it.
I blame Adobe, Microsoft and Apple for the common misuse of font instead of typeface.
Didn't everyone do this exact font in the 80s when we did not have enough room and needed something for eg debug output on our computers ?
3×3 pixels is almost certainly the smallest legible font.
You need at least 6 pixels to encode 27 letters + 10 digits because:
2⁵ < 37
2⁶ > 37
But 2×3 pixels seems unlikely to be legible. From 2×3 pixels, you can increment the height to 2×4 pixels or the width to 3×3 pixels. The latter feels more feasible.Does anyone remember that one weird block script that people post to HN sometimes? The only thing I remember is that it's the kind of thing that would take a good while to learn to read—maybe the blocks for the letters in a word could be recognised as a single shape when juxtaposed?
reminds me of the time I'd have the smallest font possible running in xwindows with a server log scrolling in it. I was so used to the pattern of the logs, I'd only need to see a change in said pattern to know something was wrong.
this would probably have beaten that smallest font back then
A similar concept for print: the Miniscule family, supposedly legible down to 2pt. https://typographica.org/typeface-reviews/minuscule/
Some observations:
- 5 and S are indistinguishable
- 0 and O are indistinguishable
- 2 and Z are indistinguishable
- no lowercase
While context will generally suffice in making the indistinguishable glyphs understood correctly, there are some use cases where we mix letters and numbers in the same string and those would be ambiguous.
With subpixel rendering you could get down to 1x3 (or at least 2x3). ;)
That's 9 bits, or 512 total combinations in that grid; thus, theoretically one should be able to fit all of ASCII, but many of the characters would be very difficult to distinguish or recognise.
(Incidentally, a common 7-segment display can also fit all of ASCII, and if you include a decimal point too, can represent a single byte completely: https://dkeenan.com/7-segment%20ASCII%20characters.txt )
Damn, I'm pretty sure I did something similar on a piece of paper when I was a kid. I could have been the "creator of the world's smallest typeface"!
Not sure I'd be able to read this without context off the bat (especially the E, G, M, and W), but it's an interesting project!
In an ideal world where people are fluent in binary, we would only need 5 pixels. Just imagine how efficient the world could be…
Smallest monospace typeface. You could make "I" and "1" a single line and make "J"/"L" and "P"/"Q" only 2 pixels wide.
I think this is a more elaborate approach.
The first two Wing Commander games were great at this. You could read everything and it was still tiny.
Try mouse, the smallest pixel font that is surprisingly readable at really small font sizes.
Any samples with this font? I'd love to see it in action even if it's impossible to read.
Why isn’t the M missing the top center pixel? Seems like it would make it way easier to read
Pretty great. I only saw s and 5, as well as q and 9 were the same symbols.
0 and O is same.
(2005)
Wait til that they figure out that braille is only 3x2...
i like it!
If you can spare extra pixels, Tom Thumb (3x5) [1] is more legible. The upper case M and N are somewhat hard to distinguish without context, but it's the only major flaw compared to this one.
Tom Thumb is also Public Domain (CC0).
[1] https://robey.lag.net/2010/01/23/tiny-monospace-font.html