While it's already possible to relay information via barcodes or QR codes, those codes are entirely visible when included in a document. Using Columbia University's FontCode system, however, users can hide messages within unrelated text via virtually-invisible changes to the displayed letters.

Developed by a team led by associate professor of computer science Changxi Zheng, FontCode works with commonly-used fonts such as Times Roman, Helvetica, and Calibri, plus it's compatible with most word processing programs. Additionally, the hidden messages are retained even when the document is printed on paper or converted to a different file type.

Users start with a message that they want to relay, along with a carrier block of text (its content is irrelevant) that's long enough to contain that message. FontCode then makes very subtle changes to the characters in the text, such as altering the width of their lines, the height of their ascending or descending bits, or the angle of the curves in their serifs. Each sequential group of changes represents a different letter in the message.

These changes are pretty much undetectable to the naked eye. However, when a FontCode-enabled computer analyzes the text – even a digital image of a paper copy of it – it's able to decipher the message. Not just any FontCode-running computer can necessarily reconstruct any FontCode-created message, though. For secret messages, the recipient's computer needs to know the specific encryption key that the sender's computer used when encoding the message.

"While there are obvious applications for espionage, we think FontCode has even more practical uses for companies wanting to prevent document tampering or protect copyrights, and for retailers and artists wanting to embed QR codes and other metadata without altering the look or layout of a document," says Zheng.

For a more detailed explanation of how the technology works, check out the following video.