Millitext – A subpixel text encoding font
advent.morr.cc
advent.morr.cc
In 2008, if you were using a device with an LCD screen, it almost definitely had a rectilinear R-G-B subpixel arrangement. Nowadays devices have all kinds of exotic subpixel schemes (and are usable in many different orientations!) so its usefulness is a bit limited if you're on a mobile device.
But if you were to send militext to, say, a pentile display, it comes out as unrecognizible mess. It'd also not work with CRT displays, even vertical mask Trinitrons, because, albeit the phosphors may look like subpixels, they're actually "just" sampling points along image lines, traced out by an electron beam, and each digital image pixel would cover several phosphor pitches and not change apruptly.
[1]: http://dotsies.org
But I think color alphabet may have some merit: http://www.omniglot.com/conscripts/6color.php
0: https://news.ycombinator.com/item?id=3602163 the bottom link is v3.
If there is one already, let me know.
Actually, looks like all the permutations in the bookmarklet only allow you to use glyphs in Dotsies.tff, and there are some possible glyphs missing. I'll have to edit the font file.
I'd say it's a fun exercise for anyone at all interested.
It's 3 pixels tall (not including ascenders and descenders, which are another two pixels each), and uses the full range of colors available instead of just black, white, and the 6 fully saturated colors. I think it's much more legible.
Why these strange numbers instead of 160 or 320?
The high res mode in these machines is funny. 280 is divisible by 7. Each scan line is encoded by 40 bytes, which provide 7 bits of resolution, so 280. On a monochrome CRT, these correspond to B&W pixels: on and off. What is the 8th bit of a byte used for? It will shift the group of 7 by half a pixel. Thus, sort of, you have 560 positions: you just can't use all 14 positions freely in any one byte slot.
On a color CRT, things look like this: the pixels alternate between two different colors, and the 8th bit shifts to a different set of two: purple-green versus orange-blue.
(The alternation between colors means that, since each byte contributes 7 places, successive bytes are coded opposite.) I.e. two successive bytes in "purple-green" mode coding 14 pixels: PGPGPGP GPGPGPG. If adjacent P and G are on, we get white.)
(As if that weren't bad enough, the scan lines are not consecutive in memory. If you start with a black screen and fill the memory with 1's, the screen will turn white in a kind of "venetian blind" effect consisting of a superposition of two interlacings of different period lengths.)
The thesis was about how the aesthetics of tools/technology can influence the aesthetic of art, so I thought this installation was a pretty fitting idea.
As cool as this is I couldn't look at this all day. I'd start making allusions to Elder Gods (fhtagn!) by 2 pm.
Pro Tip: You can add more
than 140 characters into
your twitter avatar. For
example, here are 156 of
them. Just make sure to
include all links in the
main text ;-) Also, hand
out magnifying glasses!https://i.imgur.com/hx9fNuB.png
From what I can tell, it says 198 characters, not 156. ;-) You can count the characters yourself, if you'd like.
But you can get that number down significantly if your characters are not all equally likely, then you don't need as many bits. The actual theoretical lower bound is the Shannon entropy, for English text you typically need only 0.6-1.3 bits per character, see https://en.wikipedia.org/wiki/Entropy_(information_theory)
What I meant was that the single-character representation isn't going to go below N bits per character if there are at least 2^N unique characters.
R, G, B, RG, GB, RB, RGB
But more colors still if you want anti-aliasing!
- Each pixel represents one bit.
- Hence, we should try to increase information entropy.
That's all there is to it? Certainly not, since we are creating something for human consumption. There are a couple of other factors:
- The way the eye processes patterns: lateral inhibition [1]
- The way the eye processes colours: photopic vision [2]
- The way the brain interprets patterns
- The way the brain can actually interpret ingoing information.
I don't have an answer to all of these. But is pretty certain that maximizing entropy of a binary pattern is not equivalent to optimiziung reading speed.
In the world of early mobile phones and portable games consoles it was an important technique for getting smooth fonts on low-res LCD displays.
I remember reading this very good article by Joel Spolsky way back then: https://www.joelonsoftware.com/2007/06/12/font-smoothing-ant...
The LOTR image looks like this when you zoom in with a camera: https://pbs.twimg.com/media/DuqJE-mWoAA5VD2.jpg
I think G is in the middle of the pixel because it is the color our eyes are most sensitive to?