decoding FontCode (Changxi Zheng/Columbia University)

Hiding in plain sight: Embedding messages in fonts

Sending messages distributed among the millions of pixels of digitized images -- a technique known as steganography -- has long been fodder for tech-savvy crime or spy films.

Researchers at Columbia University have gone steganography one better with FontCode, a method of embedding messages in text by coding slight changes in the shapes of fonts.  FontCode is not only simple to use with a wide array of fonts and applications, it offers a broader range of potential uses, said Changxi Zheng, a computer scientist at the university.  

“You can imagine that it would be used to provide extra information, such as authors, copyright and so on, about a document,”  Zheng said.  “Another application is to protect legal documents: Our technique can be used to detect if a document, even when printed on paper, has been tampered with or not. It can even be used to tell which part of the document" has been changed.

Here's how FontCode works:  First, the message is first converted to a bit string (ASCII or Unicode) and then coded into a string of integers.  Next, FontCode processes the integer string into the text by making changes -- undetectable by humans -- in the shapes of the letters such as changing the width of strokes, altering the curves or slightly increasing or decreasing the height of letters. Finally, the FontCode reader uses a neural network to recognize and decode the text.

 chart explaining FontCode

The researchers have also developed software to accommodate the vicissitudes of real-world conditions such as poor lighting or wrinkles in paper.  Through redundancy in the coding and artificial intelligence, FontCode can recover a message even if 25 percent of the altered characters can’t be read correctly.

Even better, FontCode can supply an additional layer of security with encryption.

FontCode is not the first program that hides messages in the fonts used in texts, but according to the Columbia researchers it is the first solution that can work with any type of document and that works with printed documents as well as with digital files.

FontCode can also be a discrete substitute for QR or bar codes.  Text in a document or on a poster that has been altered with FontCode can provide users who have an appropriate reader -- say, a smartphone app  -- with further information, or it can redirect them to a website or a YouTube video.  ““This is similar to what a QR code can do, but now without the need of putting a black-and-white pattern that can be distracting or compromise the aesthetics of the poster,” Zheng said.

To date, the Columbia team has developed FontCode to work only with English-language characters, though there is nothing to preclude it being use with other languages.

The full paper and more images are available here.

About the Author

Patrick Marshall is a freelance technology writer for GCN.

Stay Connected

Sign up for our newsletter.

I agree to this site's Privacy Policy.