Consistency in QR codes and possible flaw in Chart API's implementation

5 views
Skip to first unread message

Daniel A. Nagy

unread,
May 4, 2009, 5:50:42 AM5/4/09
to google-c...@googlegroups.com
Encoding QR codes is supposed to be a deterministic operation defined by a
standard. However, the last step of choosing a XOR mask according to a
(supposedly well-defined) penalty function, if mis-implemented, would still
result in a readable QR code.

I wanted to check my own implementation against three others and to my great
surprise found that they all encode "ept:1234" to different QR codes.

I suspect, however, that the implementation in Google's Chart API is flawed,
because the choice of the XOR mask is supposed to decease the number of long
all-white and all-black runs of pixels both vertically and horizontally. I
haven't calculated the penalties for these codes yet (will do so, if asked), but
by the look of it, Google's has too many long runs.

The maintainers of Chart API's implementation might want to take a look at that
part of their code.

QR-ePointSystem.png
QR-Fukuchi.png
QR-Google.png
QR-Kaywa.png
Reply all
Reply to author
Forward
0 new messages