Top
Best
New

Posted by zdw 3 days ago

5x5 Pixel font for tiny screens(maurycyz.com)
686 points | 139 comments
FelipeCortez 19 hours ago|
1x5 can also work if you take advantage of subpixel rendering https://www.msarnoff.org/millitext/
FrostKiwi 8 hours ago||
Actually blown away by how good that works with my 1920x1200 8-bit HP Z24n G2 monitor [1] and my Laptop's 1920x1080 6-bit Panel [2]

[2x5-HP-Z24n-G2] https://i.imgur.com/yLyrpfg.jpeg

[1x5-HP-Z24n-G2] https://i.imgur.com/Z7kH005.jpeg

[2x5-Innolux-N156HCA-GA3] https://i.imgur.com/F4Ypxwj.jpeg

[1x5-Innolux-N156HCA-GA3] https://i.imgur.com/etkot5o.jpeg

[1] https://jp.ext.hp.com/monitors/business/z_z24n_g2/

[2] https://www.panelook.com/N156HCA-GA3__15.6__overview_33518.h...

benj111 4 hours ago||
The content isn't viewable in my area. Presumably the UK has rules about minimum font sizes.
subscribed 2 hours ago|||
No, it's the ultra authoritarian government stopping you from viewing it.

Replace "imgur.com" in the links with "rimgo.bcow.xyz" and consider voting against the parties of surveillance next time you can :)

Steve16384 2 hours ago|||
https://www.bbc.co.uk/news/articles/c4gzxv5gy3qo
JohnDotAwesome 15 hours ago|||
Amazing. I zoomed in with my phone on the generated image and was surprised to see I could just make out the text! https://storage.j0.hn/subpixelfont.png - Also wow my screen is dirty af
jkonline 12 hours ago||
Suggest you check your .htaccess (or however you secure your server) for storage.j0.hn.
rossant 18 hours ago|||
Whoa, amazing!
throwaway27448 15 hours ago|||
It seems like you need 2x5 for legibility
dorianmariecom 17 hours ago|||
"if you look closely at the screen"
Tade0 2 hours ago||
My child has one of those "Kids' microscopes":

https://www.amazon.com/Best-Sellers-Kids'-Microscopes/zgbs/t...

Magnification is around 5x, but this is more than enough to see subpixels.

linzhangrun 11 hours ago|||
[dead]
CGMthrowaway 10 hours ago||
I was annoyed that all the images of the pixel fonts were larger than they actually ostensibly would be on a tiny screen, so I zoomed out my browser all the way on macbook pro retina screen, only to find the tiny letters of the blog text were 100x more readable than any of the pixel fonts in the post.

And if the pixel font images were to be rendered at actually 5 pixels on my Retina screen, because the resolution of Retina screen is so tiny, the pixel fonts would still be unreadable without a microscope.

So while it's a cool project, as long as we can put Retina-dense screens in things, we are past the point where there is any useful need for a 5 pixel font

bagels 8 hours ago|||
$30 devices don't have apple screens.
cafebabbe 7 hours ago||||
Retro games

Electronic devices

Fine prints in images

benj111 4 hours ago|||
FTA "Even a low-resolution 384x288 display has 110 thousand pixels: way too big to fit in the AVRs memory"
gurkwart 1 hour ago||
Nice overview.

> At this size, there's no way to have a distinct upper and lowercase [...]

3x4 is feasible. I've designed the MiniGent font [1], including greek letters, numerals, punctuation, math, currency, and emojis. Written a whole LaTeX typesetter [2] around it. While not perfect, I'm amazed by how far you can take it arranging just a few pixels.

[1] https://gurki.github.io/pixeltex/minigent/ [2] https://gurki.github.io/pixeltex/pixeltex/

ludocode 17 hours ago||
The 5x5 is very nice, and the 3x5 isn't bad either. Unfortunately neither of them have all of ASCII. The size is also a bit misleading because you need to add spacing so really they need a 6x6 or 4x6 grid.

I'm quite fond of Spleen:

https://github.com/fcambus/spleen

It has a 5x8 font which has all of ASCII, but most glyphs are actually 4x8 and include horizontal spacing. I modified it to reduce the rest for a project I'm doing so all glyphs are 4x8. The result can be rendered on a 5x9 grid with a guaranteed line of horizontal and vertical spacing between all glyphs. It's very nice.

RachelF 7 hours ago|
In the early 1980s there were actually word processors for the Apple 2 which had a 40 column display (7 pixel wide fonts default) that gave 60 columns using the a 5x5 font in graphics mode. It was a selling point.

The hardware solution was to buy an "80 column card" that gave 80 columns of proper text, if your monitor could handle it.

archargelod 12 hours ago||
Most tiny fonts are actually terrible to read at a glance especially when they're rendered at 1:1 scale. I've had a need couple years ago for a very tiny and compact font for a game mod I was making. And after trying a lot of 33, 35, even 2*5 fonts - they were all terrible to read.

In the end, I found "Gremlin-3x6" font[0] made by the guy named zephram. It's 1 pixel taller, but still a very compact when laid out horizontally. But, most importantly, all standard latin characters are pretty distinct from each other and it remains readable without zooming in too much.

Unfortunately, since then, zephram deleted his fontstruct account and all of his fonts. I have a copy of this font in my mod repo[1] along with a CC0 license and you can see the actual rendering of the font in the project screenshots[2].

[0] - https://fontstruct.com/fontstructions/show/1488093

[1] - https://codeberg.org/janAkali/isaac-extended-icons-mod/src/b...

[2] - https://codeberg.org/janAkali/isaac-extended-icons-mod/media...

ciupicri 11 hours ago|
> The server returned a "404 Not Found".

for [0]

archargelod 11 hours ago||
As I explained in the last paragraph of my comment, it was deleted for some reason. I also couldn't find any archives of that page. I only added the link to show where I got the font from, in case people will miss the link inside the license file.
voidUpdate 2 hours ago||
This reminds me of the book Arcade Game Typography (https://www.counter-print.co.uk/products/arcade-game-typogra...), which looks at the history of a lot of arcade game fonts, sorted by category, and often has a full sprite sheet of the letters. I've been meaning to make my own digitised copy of all of the fonts for a while
bmurray7jhu 19 hours ago||
Similar discussion for CJK scripts

https://chinese.stackexchange.com/questions/16669/lowest-pix...

kibwen 19 hours ago||
> 4x4: Not enough to draw "E", "M" or "W" properly.

However, 5x5 isn't enough to draw "e" properly if you also want lowercase letters to have less height than uppercase, so you need at least 6 vertical pixels. And then that isn't enough to draw any character with a descender properly, so you need at least 7 vertical pixels (technically you should have 8 in order to allow "g" and "y" to have a distinct horizontal descender while still sitting on the baseline, but this is probably an acceptable compromise). And remember that in practice this means you will still need at least 8x6 pixels to draw each character, to allow for a visible gap between letters below and beside them.

bsza 3 hours ago||
> 5x5 isn't enough to draw "e" properly if you also want lowercase letters to have less height than uppercase

It can be enough if you "cheat" and make use of the horizontal space. This is how I did it in my font:

   ##
  # #
  ##  #
   ###
JoshTriplett 16 hours ago|||
> if you also want lowercase letters to have less height than uppercase

I think that's the least of the properties I'd be willing to sacrifice to have a font that tiny.

mulr00ney 18 hours ago||
I think the `e` looks better in the 'real pixels' example they gave; I find my tends to 'fill in' the space of the top part of the letter, and I suspect in the context of a longer sentence it'd be pretty easy to parse.

(but yeah, it's not quite right, and is especially jarring in the nice, clean, blown up pixels in the top example)

kibwen 15 hours ago|||
It definitely looks better in the second screenshot than the first, but you have to be very, very close to the screen in order to see individual pixels like that. And on low-res displays, which this sort of font might be necessary for, it's going to look somewhat different because low-res screens tend to be chosen for cheapness, and cheap screens tend to be monochrome, so none of that artistic fuzzy subpixel coloring.
benj111 4 hours ago|||
Was it intended that we should fill in the word 'mind' ourselves, to prove your point???
patrakov 15 hours ago||
Using multi-level grayscale instead of just two pixel states, on and off, can produce readable text at even smaller font sizes. The catch is that I have to say "text", not "letters", i.e., rely on humans inferring the too-blurry letters from their context. And I do not even need a specially designed font for that.

Example: https://imgur.com/a/text-80-characters-per-line-240-pixels-w...

That's 3 horizontal pixels per character on average, including inter-character spacing.

soperj 19 hours ago||
If the author sees this. I think the lower case t would benefit from a pixel above the cross, similar to how the lower case k goes up one more pixel. It looks a lot like the capital T with how it is now. It is very well done though. Thanks for sharing.
gpm 18 hours ago||
I think I'd go with something like

     x
    xxx
     x
     xx
soperj 16 hours ago||
didn't even think about the stem on the bottom. Originally I was thinking just the cross

     x
    xxx
     x
     x
But I think you're right.
usefulcat 15 hours ago||
Agree about lowercase t. I was surprised the lowercase l didn't look more like

    xx
     x
     x
     x
     xx
bigell 36 minutes ago|
This is awesome!

I could almost fit an entire 80x40 terminal on my watch face!

More comments...