BUNTI

BUNTI is a two-dimensional colour code that a camera reads, part of Wolly. Its format is a sequence of the DNA bases A, C, G and T, two bits in each cell, in four colours: green for A, blue for C, yellow for G and red for T. Three black and white finder patterns and a corner pattern show the camera where the code lies. From the finder patterns the scanner determines the size and position of the code. The smaller corner pattern provides the fourth point, so that a code photographed at an angle can be read too. Source: github.com/heikozim/hilde-wolly; source of the language: github.com/heikozim/hilde.

Why four colours

BUNTI is a tribute to DNA: four bases, four colours. The choice is also useful: four colours carry two bits a cell, twice as much as black and white, and can be told apart fairly reliably. With 256 colours it would be eight bits, but that many colours can cause more read errors in colour printing or in poor light. BUNTI replaces no standard: for exchange with others there are QR Code and JAB Code (Fraunhofer SIT for the BSI, ISO/IEC 23634). It is meant for your own, proprietary applications.

How it is protected

Three codes

Each picture was made by the command-line programme buntipng of Wolly from the text beside it, at 8 pixels a cell with a quiet zone of 4 cells, written to a file, read again from that file and decoded; the text read back was the text in each case. The pictures are copied unchanged from the demo directory of Wolly, which lists their SHA-256.

BUNTI code of the word Wolly, 21 by 21 cells

The text Wolly, 5 bytes, 21 × 21 cells.

BUNTI code of a German sentence about Wolly, 33 by 33 cells

The text „Wolly ist ein Web-Framework in Hilde: Formulare, Sitzungen, Bilder und dieser Farbcode, Bunti, den eine Kamera liest.“, 117 bytes, 33 × 33 cells.

BUNTI code of a German text of 415 bytes, 53 by 53 cells

The following text, 415 bytes, 53 × 53 cells.

Bunti ist ein zweidimensionaler Farbcode: vier Farben tragen je zwei Bit, drei Suchmuster und ein Eckmuster zeigen der Kamera die Lage, Reed-Solomon und eine CRC-32 sichern die Nutzlast. Dieser Text ist die Nutzlast dieses Bildes; das Programm hat das PNG geschrieben, aus der Datei wieder gelesen und entschluesselt, und der gelesene Text ist dieser Text. Wolly, ein Web-Framework in Hilde, Heiko Zimmermann, 2026.