NHacker Next
login
▲Two Slice, a font that's only 2px talljoefatula.com
297 points by JdeBP 13 hours ago | 75 comments
Loading comments...
JdeBP 13 hours ago [-]
There's a whole subculture for fonts smaller than 8 by 8, with real world uses for things such as small LED displays, for example. This is at the extreme end, though.

Also https://stormgold.itch.io/picket-right-font

omoikane 10 hours ago [-]
I wonder if there are really tiny fonts that make use of color. For example, this 2-pixel wide Picket Right font could theoretically be even thinner if we were to use sub-pixel features.

At least, I think the 2-pixel high Two Slice font can be more legible with some anti-aliasing.

sedatk 9 hours ago [-]
Yes. https://advent.blinry.org/2018/17
Cthulhu_ 5 hours ago [-]
Direct link: https://www.msarnoff.org/millitext/
thfuran 5 hours ago [-]
Don’t stop at colors. Just add a ligature for every string and support for animations and you have yourself a font that can render any alphanumeric string in a single pixel. I’ll need to brush up on Morse code though.
eichin 8 hours ago [-]
and https://stormgold.itch.io/two-slice - are these the same authors or what?
eichin 6 hours ago [-]
Ah! the reddit user description hoverbox for u/trampolinebears says "Fonts: stormgold.itch.io" so that connects the dots.
K0balt 3 hours ago [-]
Dad?
iguessthislldo 10 hours ago [-]
That one is relatively easier to read, I guess because it looks like normal font that was cut into strips.
typpilol 9 hours ago [-]
Ya literally I could make out 85% quickly.

The linked one is unreadable at all to me lol

malnourish 11 hours ago [-]
Thanks for sharing this. I enjoy seeing these cool subcultures; they evoke the hacker ethos.
JohnDeHope 10 hours ago [-]
I’m not a hacker but I really appreciate their ethos. It’s like punk. I’m not punk either. But I will defend it all with my dying breathe.
JdeBP 7 hours ago [-]
There's some quilting at https://news.ycombinator.com/item?id=45236312 .
hdjrudni 10 hours ago [-]
> such as small LED displays

The highest DPI screen is 127,000 PPI. You could fit over 14,000 lines of 8x8 text in a single inch tall screen.

For reference, a decent monitor is 140 PPI.

I'm pretty sure we don't need to go below 8x8 if physical size is the issue.

crq-yml 9 hours ago [-]
Pad grid controllers like the Novation Launchpad, and its indie, open-source counterpart, Mystrix Pro, have an 8x8 grid. At first this style of controller didn't use any lights, but as the manufacturing and features progressed, they went towards one RGB LED per pad. So, of course, you end up doing some text and graphics on the resulting grid. Mystrix uses a scrolling marquee which isn't ideal, but does get the job done.

And yeah, you could throw on more hardware to have a display nearby and use that for text. That is not the problem being solved though.

bongodongobob 8 hours ago [-]
No, small LED displays with like 25 ppi. Think arduino/embedded.
jl6 6 hours ago [-]
I think readability is helped a lot by the low entropy of English words and sentences, i.e. if you can’t make out one letter, you’ll probably get it anyway from the context.

It’s not so readable if you test it with random strings.

te0006 4 hours ago [-]
This brings back fond memories from the 8-bit era. Tasword II was a text processor for the Sinclair ZX Spectrum where the developers resorted to extra-narrow fonts to cope with the Speccy's very limited (256x192) screen resolution. The lower screenshot in [1] provides a glimpse of what seems to be a 3px wide font.

OP's 2px width are a bit too extreme for my taste though.

[1] https://spectrumcomputing.co.uk/entry/4000080/Timex/Tasword_...

mrspuratic 3 hours ago [-]
One of the first Spectrum emulators (JPP?) used a VGA text mode with 2 pixel high font where each character was its own ordinal, i.e. 65 was two rows of 01000001 pixels. That meant you could draw individual rows bytewise exactly as the Spectrum did, and just take care of the Y offset bit shuffle, and fake the colour clash.
reaperducer 1 hours ago [-]
Similar to VIP Term on the Commodore 64, which used a 3x7 bitmap font in a 4x8 space to display 80-column text.

I don't know is any word processors did that, though, except in printer preview mode.

kstrauser 9 hours ago [-]
I'm blown away. I'd have sworn that wasn't possible. It's brilliant. Bravo.
imcritic 9 hours ago [-]
[flagged]
umanwizard 6 hours ago [-]
Do you think anyone is suggesting this should actually be used for a practical purpose?
sniffers 9 hours ago [-]
Idiotic seems strong. It's an art piece, is it simply not to your taste in art?
imcritic 34 minutes ago [-]
I am worried someone would use that somewhere thinking it's so artsy. This better not exist at all.
EGreg 8 hours ago [-]
Exactly. My taste in art skews idiotic, so what! :)
K0balt 3 hours ago [-]
White space around each letter is completely critical for fonts like this. That makes this font 4x4 as presented, or 3x4 but you lose a lot of readability—too much imho.

The exception to this would be a physical manifestation, where each 2x3 pixel block was surrounded by a dead space, so that the display was actually optimised for this font configuration.

Still, that’s an impressive accomplishment, allowing a 16x32 character display on a sub 1$ oled, and 10x18 on a 3$ integrated computer with built in display.

Nice work.

For anyone actually thinking of using tiny fonts in a practical project, imho 4x5 (3x4 plus padding) is about as small as it gets for a font that doesn’t require extra work to read, giving 1 pixel of (violable) padding bottom and right. Unlike the OP font, it only needs 1px of top padding to be perfectly readable, so you are actually getting “free” readability compared to needing top+bottom padding like the OP font.

gliptic 3 hours ago [-]
Glyph advance or line spacing is not part of the bitmaps.
K0balt 3 hours ago [-]
I get that, but it figures in when you actually put this on pixels. I’m thinking about practical use of such a font, most likely on a pixel-constrained screen, otherwise you would use a higher definition font.

It’s a cool hack, and for someone actually using little fonts like I do in real world devices it’s very interesting.

I find that you can actually go 4x5 (including padding) and still have great readability. Any less and you have to work to read it.

Dwedit 7 hours ago [-]
Meanwhile, 3x5 fonts are actually usable.
synack 2 hours ago [-]
I’m a fan of “Tom Thumb” for small OLED displays. https://robey.lag.net/2010/01/23/tiny-monospace-font.html

I wrote a kinda goofy Ada library for it https://github.com/JeremyGrosser/tiny_text

Borg3 3 hours ago [-]
Yep, and very easy to read on low resolution. Master Of Orion have 3x5 fonts and they are very clear and easy to read.
addaon 10 hours ago [-]
Capital H is cursed... unconnected pixels, indistinguishable from 'ii' or "II". The concept's cool, but for this one point the wrong choice was made.
PenguinRevolver 10 hours ago [-]
Try reading "HiGh sky buys The lies" in the font. Pretty difficult to make out what it says...
jibcage 6 hours ago [-]
I think most of what makes this font readable is the user using context to sort of guess at what the word could be.

If you start writing things that aren’t sentences normal people would use (or especially if you start mixing case) it doesn’t hold up. Still interesting for a “normal” use case though.

jasonjmcghee 10 hours ago [-]
I'm more concerned about V X Y all being identical.

How will I know if it's waxy or wavy?

throwaway808081 10 hours ago [-]
Like all of language: context.

Why would hair be like 80s synthpop, or potatoes be in any way related to a by-product of honey?

xboxnolifes 5 hours ago [-]
Hair can be either waxy or wavy or both.
IshKebab 4 hours ago [-]
Her long blond waxy hair blew in the wind.

Context.

lelanthran 2 hours ago [-]
> Her long blond waxy hair blew in the wind.

Same question as GP - how can you tell if that was meant to be waxy or wavy?

IshKebab 2 hours ago [-]
From the context. Long hair blowing in the wind is a description of beautiful hair. Wavy hair is beautiful; waxy hair is not.

This is very obvious to most people.

Biganon 2 hours ago [-]
"I'll have you know that some people find waxy hair beautifully therefore your example is invalid and I am very intelligent"

:nerd:

jonathrg 3 hours ago [-]
Her wa[]y hair was a challenge for the hairdresser
IshKebab 2 hours ago [-]
I'm not saying the context always disambiguates it. You can have ambiguous sentences even with perfect fonts.
rimprobablyly 37 minutes ago [-]
Abomination. I love it!
Eric_WVGG 9 hours ago [-]
Really like that zero glyph. I wonder if, instead of Roman numerals, one could use ligatures to encode numeric strings as binary… 42 as 010101

(I sort of randomly picked 42, didn't know it was such an interesting string… Douglas Adams must have known that)

sugarkjube 6 hours ago [-]
101010 - I'm guessing you know, and want to find out how long it takes for someone to notice and respond.
hidroto 6 hours ago [-]
little endian vs big endian.
rtrgrd 7 hours ago [-]
Very cool - note that lowercase b, l and h are the same
NooneAtAll3 4 hours ago [-]
I was so confused why "o" in the example was wider than "o" written myself - until I understood that example has it capitalized... That seems useless
nikkwong 3 hours ago [-]
I wonder what the minimum resolution of Chinese characters is. It’s definitely more than 2px tall.
bapak 3 hours ago [-]
Apparently 8x8, for most characters traditional Chinese characters: https://imgur.com/DBRSqIn

Probably lower for simplified Chinese and katakana/hiragana Japanese characters.

I'd say that at 2x2, "Two Slice" is definitely not readable.

Jowsey 9 hours ago [-]
Some of the characters/words (particularly "c"/"can") sort of look like they've been cropped from the top, trusting the brain to fill in the bottom half. Reminds me of what Sandisk did with the "S" in their redesign. I wonder if there's any research behind this?
wingmanjd 7 hours ago [-]
I wish I had this back capability when I used to program my TI graphing calculators back in highschool!
ant6n 3 hours ago [-]
Well I think to make fonts like these legible, the trick is to use texts as examples that the readers already know, then you don’t really need to recognize very letter, but just the one here and there to keep up overall recognition. It also helps to focus on letters that are most readable.

But tongue in cheek humor aside, this is a neat accomplishment. It’s a great idea to stretch the letters out in width, greatly improves readability. (Earlier approaches Fokus a lot on trying to stay square, which doesn’t really work at this size)

magackame 9 hours ago [-]
I wonder if it's possible to train to read text encoded as one colored pixel per letter, or even per token.
userbinator 9 hours ago [-]
Given how people can learn languages, absolutely yes.
BSOhealth 10 hours ago [-]
I love this. It speaks to me in a similar ways as a lot of the AI zeitgeist—why shouldn’t we optimize for how the brain actually operates at scale versus hundreds-years-old ideas about ligatures designed for reading in candlelight? (In the AI case, a romanticism for having to learn and prove memory in such a rote way)
shakna 6 hours ago [-]
> You can probably read this, even if you wish you couldn't.

Um... Nope. I can't.

I can get some of the letters, but not most of them, unfortunately.

Love the concept, and the art, that goes into things like this. But I just cannot read it.*

* I have nerve problems in my eyes. I'm not legally blind... Most of the time.

IshKebab 4 hours ago [-]
It's not easy but I definitely could read it. It's easier if you don't try and read each word fully before continuing.
jader201 6 hours ago [-]
Yeah, a lot of words/letters made sense, but I definitely had to use some deduction to read it.

Interesting, and given the limitation, it’s quite impressive.

But I think “probably” is optimistic. I’d say “possibly” is more realistic.

matznerd 10 hours ago [-]
okay but what about "c" being nearly the same as "z", neither of which look like the character and are nearly(?) identical. Is our brain supposed to just be able to figure it out?
sharkjacobs 8 hours ago [-]
O and 0 are very similar in lots of typefaces. And I and l and 1. Even u and v. Your brain's pretty good at figuring it out. Context helps a lot.
cal85 10 hours ago [-]
yeah I can read it ok
rclkrtrzckr 5 hours ago [-]
Pity there's no italics ...

SCNR

notorandit 3 hours ago [-]
It is readable in English with quite some training and context. Many characters have the same representation.

I for one would say this is not generally usable and has a limited scope.

Interesting nonetheless.

ChrisArchitect 7 hours ago [-]
A thread last year with lots of related subpixel type things:

Nanofont3x4: Smallest readable 3x4 font with lowercase (2015)

https://news.ycombinator.com/item?id=39735675

brador 4 hours ago [-]
It says in all caps: “YOU CAN PROBABLY READ THIS, EVEN IF YOU WISH YOU COULDN'T. IT TENDS TO BE EASIER TO READ AT SMALLER SIZES.”
komali2 3 hours ago [-]
xyv, bl, hi, in various cap/uncapped formats, are the same characters or nearly indistiguishable. I'm trying to craft the most unreadable sentence possible. I got as far as "Hi, THe czech's bliss is exact"
shmerl 6 hours ago [-]
I can't really read anything with that, so somewhat readable is very moot.
sehugg 9 hours ago [-]
The Atari 2600 had pretty good vertical resolution (assuming you could set up the next line in 76 cycles) but limited horizontal resolution. A 3x5 font is possible, but good luck distinguishing N from M.

This font seems to use characters up to 5 pixels wide, which helps with its near-legibility.

Dwedit 7 hours ago [-]
The thing to do with a 3x5 font is to make the capital N into a giant lowercase n. Then M H and W all become similar letters, just with a different location for the horizontal bar.
boredhedgehog 7 hours ago [-]
That's one of the possibilities, but one can also use asymmetry to evoke an illusion of diagonality, as in this font:

https://fontstruct.com/fontstructions/show/1426620/3x6-pixel...

eipipuz 8 hours ago [-]
Is it just me or the s Z and z S should be swapped?
kelvinquee 10 hours ago [-]
Love this. Brings so much joy. Try some punctuation. Hilarity ensues.
crm9125 8 hours ago [-]
Cool. I hate it.