Email or username:

Password:

Forgot your password?
76 comments
wendinaokland

@chrisphin @aral @elliotjaystocks @glennf Are pixels being exploited by this typography? Inquiring mindsโ€ฆ

๐–ค Juniper ๐–ค
erm i actually knew about this like weeks ago because of my gf!!! soooooooo- :JuneHazel:
Hugo Mills

@chrisphin @elliotjaystocks @glennf I have pretty thick concave glasses, and I can make the numbers in the second and third pictures get wider or thinner by turning my head to take advantage of the chromatic aberration in my specs.

Mark Whybird

@chrisphin @darkling It gets better: I can look at the part where the blocks are actually genuinely one on top of the other, and make the numbers appear by turning my head due to the same chromatic aberration effect! (Though I wish the blue was brighter)

Damon L. Wakes

@chrisphin @elliotjaystocks @glennf Ah! I did this manually a while ago but didn't realise it was possible to set up a font to do the same thing.

Richard Barrell

@chrisphin @elliotjaystocks @glennf @sjolsen for fun I tried to see if I could use this in practice once and, almost. It was almost legible when I was in my early 20s. Now not so much. :)

Christian Vogel

@chrisphin @elliotjaystocks @glennf Finally a way to put 1920 columns of numbers on my 4k screen, so that I can see the whole of my colleagues excel files from hell without scrolling sideways!

Felix

@chrisphin @elliotjaystocks @glennf Made a low res png from it, if someone wants to try it out quickly. It looks bad on mastodon, but if you download it and show it with 100% you get the desired effect.

1 Pixel Digit font as png file
#<SB-PCL:SYSTEM-CLASS SJOLSEN>

@chrisphin unfortunately, display profiles kind of ruin the effect

(explainer: the image is being interpreted as sRGB, and since my display has a wider gamut than sRGB, and the rendering stack is built around the assumption that each pixel represents an atomic color sample, the "pure" red, green, and blue pixels encoded in the file are having some of the other primaries mixed in to bring them closer to the sRGB primaries, resulting in some subpixels getting activated when they aren't meant to)

the numerals 5, 6, and 7 rendered as 3x5 bitmaps using the red, green, and blue subpixels of a single column of pixels each. in every pixel, at least one of the subpixels that isn&#39;t supposed to be illuminated is partially illuminated
#<SB-PCL:SYSTEM-CLASS SJOLSEN>

@chrisphin for reference: same camera settings, same display, but viewing the image in an application that does not interpret it as sRGB (instead interpreting it in the display's native color space)

the same three numerals, but now only the subpixels that are meant to be illuminated are
Christopher Phin

@sjolsen Looks great! And yes, anything that messes with the colours will skew the effect of course. Thanks for the empiricism!

Saffron๐Ÿณ๏ธโ€โšง๏ธ

@chrisphin @sjolsen also, any amount of scaling with the font will break it. i'm sure that one is pretty obvious, though

Saffron๐Ÿณ๏ธโ€โšง๏ธ

@chrisphin @sjolsen oh! and some displays, the red/green/blue isn't oriented in the "stoplight" fashion as shown in these images - other common configurations include a "triangle" pattern, or a "square" pattern with an extra green pixel element. the font won't work with those, obviously

Lunaphied

@sjolsen @chrisphin yeah you need a color profile that's like "do not"

DELETED

@chrisphin I guess I should explain because the end result is a bit neater than "some game gear games do it."

The Sega Game Gear is actually just a portable revision of Sega's previous home console, the Sega Master System, which competed against the NES before the Sega Genesis. Only difference is the resolution, the Game Gear has a screen with a resolution of 160x144, while the SMS ran in a resolution of 256 ร— 192, however 8 pixels on each side are considered overscan, so 240x192...

DELETED

@chrisphin 240 is bigger than 160 horizontal resolution, so game gear games usually would adapt the game to work only in a 160 pixel horizontal window. However, the Game Gear itself could run Master System games directly on the hardware by popping in real SMS carts with a converter, so the game gear needed to be able to internally map 240 lines of resolution to 160 lines. In fact, some retail GG games would just be repackaged SMS carts, no cropping internally.

DELETED

@chrisphin So, when the GG detects it's running an SMS cart due to a flag not being set within the game, it'll run in subpixel resolution mode, where horizontal pixels are split among subpixels on the LCD automatically. Simultaneously, it'll do a 3:2 pulldown of the vertical resolution. It's not quite like explained in the OP, but it's the same concept, and it's done automatically in hardware:

DELETED

@chrisphin Games which you can easily see this with include Castle of Illusion on the GG, which is just a repackaged SMS cartridge and thus runs in 240 horizontal mode.

DELETED

@chrisphin The whole system is so cool with this stuff. If you look at a vertically running bar of 2 pixel height on the screen and have it scroll downward in slow motion, you can actually see the vertical pull down in motion. Probably my favorite retro handheld.

Jacket

@chrisphin @elliotjaystocks @glennf Makes me realise I could recognise all of them with only the 3 center rows.

protmanwich.exe

@chrisphin @elliotjaystocks @glennf i use this to decorate top of my portfolio the same way Antonio Prohรญas would use morse code in the design of his comics :]

Off The Books

@chrisphin I wonder if legibility improves if you reduce G and R channels to match the perceptual brightness of blue.

Christopher Phin

@OffTheBooks And do humans not over-index green? Interesting!

Marius Gundersen

@chrisphin @elliotjaystocks @glennf I want to try this on a small microcontroller display. The standard there is 3x5, would be cool to see a 1x5 on it

Sebastian Krzyszkowiak

@chrisphin @elliotjaystocks @glennf I remember subpixel fonts being used on Ben NanoNote to fit more text in the console, but those didn't go as far as being 1 pixel wide ๐Ÿ˜€

Christopher Phin

@renard Why not? What should I use? (Letโ€™s be friendly and constructive.)

C_Chell

@chrisphin
The link you share require a login, so I think another link type can allow us to show the content without being logged.
@renard

Christopher Phin

@C_Chell @renard I have no love for Reddit the company especially following the API debacle, but I donโ€™t believe this is true. Content should be viewable without logging in. Iโ€™m happy to be corrected! The original comment suggested there was something specific about /s/ links, but Iโ€™m not familiar with this issue.

(My inclusion of the link was more just about giving appropriate credit, fwiw.)

Renard :bh_s_u:

@chrisphin @C_Chell adding to that, the /s/ links works as any URL shortener with a lot of tracking elements built-in. This includes Reddit tracking who created the link and how "successful" it is, tracking user accounts following the links and when, etc, etc. Just use the regular URL.

Christopher Phin

@renard @C_Chell I always nix any UTM handlers when sharing links partly for that reason. But also: this is just what I get when I hit the Share button in the Reddit app. (RIP, Apollo.) I donโ€™t know I get โ€˜the regular URLโ€™.

C_Chell

@chrisphin
To get the regulat URL, I go on the subreddit main page and saerch terms "one pixel wide font" and the copy the link.
I'm on PC so maybe on pocket computerthe Reddit app doesn't allow that without tracking.
@renard

Bitslingers-R-Us
@glennf @chrisphin As someone who used 80 columns on a 12" black and white TV as a kid, I welcome ways of fitting lots of text on lower resolution displays.
Jess๐ŸŒบ :itsfree:

@chrisphin ๐Ÿฆจ oh yea this font made us realize our tv had pixels in BGR format instead of RGB, so it just didn't work

Ari [APz] Sovijรคrvi

@chrisphin @elliotjaystocks @glennf Wow, this is one of the neatest hacks I've seen for a long time.

Related to this, I recall similar hack was used to smooth out fonts in TFT screens.

Rainne

@chrisphin Of course this is tied to the color geometry of the display -- so it might work well on something like a portable console with well-defined hardware, like a Game Boy Advance or whatever the kids play these days.

Steve Wells

@chrisphin That is witchcraft! Guess I'm firing up the CRT!

Christopher Phin

@KnightNZ Works on TFTs! (At least ones with a specific arrangement of RGB subpixels.)

Giles Goat

@chrisphin I still remember my grandma old tv had the RGB disposed in a triangular pattern, would not work in there ( I mean like in an "asterism" glyph ) .

Christopher Phin

@gilesgoat Yeah, lots of different subpixel arrangements (even just ordering) where this wouldnโ€™t work, but a very cool concept!

Felix Urbasik

@chrisphin My monitor is actually BGR and I can't see a thing.

Alex Rock

@chrisphin Doesn't work on all screens though.

I have 2 screens here, it works with one (but not exactly t he same way) and not with the other (because colors are positioned diagonally, apparently)

Two close-photographs of the one-pixel-wide &quot;font&quot; that displays numbers from 1 to 9 followed by 0.

The top one seem to properly display the actual pixels, even though there&#39;s more blur on top and bottom of the numbers.
On the bottom one though, it seems that sub-pixels are not positioned horizontally, but diagonally, making the display erroneous compared to what&#39;s expected. We don&#39;t see numbers, but directly the colors.
ShadSterling

@chrisphin tempted to use that top row as a way of hiding a message in an image

Christopher Phin

@elliotjaystocks Sorry for the noise! I didnโ€™t expect it to take off like it did. Did edit you and @glennf out of the post eventually so it slowed the replies! (But if youโ€™re interested, some people did add some interesting information in reply, so worth a dig. Obviously more a technical curiosity than a practical option, but fascinating, I think!)

๐Ÿš€ โ“ โ’ถ โ“Š โ“‡ โ’บ โ“ƒ โ“‰ ๐Ÿ›ธ ๐Ÿช

@chrisphin how do you count the mandatory separating pixel between two digits ? to consider it usable, I think one must count two pixels wide

bleeptrack

@artelse @chrisphin ooh! I think @blinry and I mentioned that in one of our operation mindfuck talks ๐Ÿค”

Christopher Phin

@bleeptrack @artelse Someone replied with a load of detail about how SEGA systems used to do this. Fascinating!

Go Up