Making Up New Numbers With 7-Segment Displays
The ubiquitous 7-segment display is a pretty clever little piece of design, able to display all 10 digits in a flat plane with only (you guessed it) 7 segments. Compare the predecessor1 Nixie tube, which is also cool for different reasons, but needs 10 elements to display all 10 digits. (14-segment displays can do all 26 letters and 10 numbers.)
Unlike with a Nixie tube, numbers have to be hammered into slightly awkward shapes to fit into a 7-segment display. But we can turn this constraint on its head to find something new! By enumerating all the alphanumeric-like shapes that aren’t already claimed, we might be able to make up some new alphanumeric shapes that feel familiar, but aren’t.
These were made using a Python script according to a few simple (and somewhat arbitrary) rules derived from observing the standard 10 digit patterns. They must be:
- full height
- connected into a single glyph (no floating “dots” or bars)
- not already a number or letter (obviously)
As an aside, something interesting I notice is that my brain is really good at reinterpreting the “backwards” or “broken” shapes: for instance, it really wants to read as 4 and as A.
Anyway, here is me riffing on the 7-segment shapes to see what more-natural shapes come out in handwriting.
I was surprised to find that many of these shapes, written at speed, are near indifferentiable from existing characters (e.g. as question mark) or even multiple distinct characters (e.g. as either uppercase S or lowercase b). There’s also now-obvious Greek/Cyrillic ones that I didn’t eliminate up front: are, respectively, μ Γ λ Π. My favorite handwritten shape is , interpreted as a capital J with a crossbar.
-
According to the infallible Wikipedia, 7-segment displays were invented decades before the Nixie tube, but were not practical until LEDs were invented decades after the Nixie tube. It’s also worth noting that the Nixie tube is a more flexible design, should you need to display a wider or different range of characters. ↩