0
0

2 Commits

Author SHA1 Message Date
9f891eb4f5 Zero-advance layout: fix Firefox alignment, remove LigateBreak experiment
- 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.
2026-06-27 18:50:06 -04:00
c451e8a9c0 Build QR code OpenType font 2026-06-26 21:21:05 -04:00