- All intermediate QR glyphs (header_bits, byte_XX, count, tail,
parity, data bits, parity bits) use native 0 advance in hmtx.
- Only closing base glyphs (qr_base_NN, qr_base_p55_bit_NN) have
positive ADVANCE width.
- No GDEF table, no GPOS positioning adjustments.
- Removes LigateBreak ligature experiment (didn't prevent splitting).
- Fixes Firefox horizontal misalignment caused by subpixel snapping
of GPOS-adjusted or GDEF Mark-classified glyphs.
- Known limitation: Chrome and Firefox may split QR codes across lines
at Unicode break points (spaces, dots, slashes). CSS white-space:
nowrap on QR-containing elements is recommended.
- Temporarily disables 3L font build for faster iteration.
- Separates HTML generation into tools/build_html.py.
- Updates AGENTS.md and design.md with browser layout documentation.