A handy way to use an iTunes card, one of the many varieties out there, is to scan it with the camera on your iOS device, which can add it as a payment option in just a matter of seconds.
It also means the end user doesn’t have to input all of the digits and letters individually. If you’ve ever been curious how it all works, beyond just scanning something, the fine folks over at Equinux, who developed the app Mail Designer Pro 3, have figured it out. It took them quite a bit of time to do so, too, discovering that Apple actually utilizes a “secret font” to make the autoscanning feature work. The scanning process is designed to not only recognize that specific font, but also the dimensions of the box around that font.
“The breakthrough came when we noticed that when you scan a card with your iPhone, the app briefly displays a “scanned” overlay of the code. This means the font must be embedded in the app somewhere. We tried the same with iTunes on macOS. And voilà – the iTunes on Mac behaves the same way.
When you look at some of the other folders inside iTunes, we found a tantalizing plugin called “CodeRedeemer.” It showed promise. But alas, no font files there either. The app binary does give a hint of where the heavy lifting is being done: “CoreRecognition.framework.”
The developers discovered that, hidden within the CoreRecognition.framework, there are two specific fonts being used. The first is called “Scancardium,” (has a ring to it, doesn’t it?) and it’s used for scanning cards with the camera on an iOS device. The other is called “Spendcardium,” (now we’re getting into some Marvel-level naming schemes) and it’s designed to obscure credit card details when they’re used for payments.
These fonts can actually be downloaded onto a Mac, and, as Equinux discovered, can be used by other developers outside of Apple to create their own scannable cards. The developers even outlined the exact dimensions of the box that needs to be around the secret font, as well as the exact font height. There are even Photoshop and Sketch templates that interested developers can use to create their own scannable cards.