fix(qr): replace the hand-rolled QR encoder, which no decoder could read
QRCodeService wrote the payload bytes straight into the grid with no mode or
length header, no Reed-Solomon error correction, no format bits and no mask;
zbar finds no symbol in its output, so every QR the live pages printed was
dead. It now wraps Kazuhiko Arase's qrcode-generator (MIT), vendored
unchanged in core/lib/qrcode-arase.php with its licence beside it
(source and sha256 in the class header). Byte mode at the smallest version
that fits, L/M/Q/H selectable, dark modules on white with a 4-module quiet
zone, one crisp-edged SVG path. Verified by decoding with zbar: Latin,
numeric and percent-encoded Arabic /r/ links at M, Q and H, and the live
page's 150 px share code.
Co-Authored-By:
Claude Opus 5.5 <noreply@anthropic.com>
Showing
core/lib/qrcode-arase.php
0 → 100644
This diff is collapsed.
Please register or sign in to comment