Skip to content

Fullbleed 2.5.22: floated first-letter layout

Choose a tag to compare

@krflol krflol released this 09 Oct 06:42
· 35 commits to master since this release
e41c1b4

Fullbleed 2.5.22 fixes floated ::first-letter layout. Enlarged initials now sit inside their styled box, and paragraph text wraps beside their full margin box across multiple lines. Left and right floats support padding, borders, backgrounds, and text indentation. Unbreakable words clear below the initial when needed, and pagination keeps it intact.

This covers the existing horizontal plain-text block path. Inline initials and authored initial-letter controls retain their behavior; arbitrary nested inline selection remains outside this change's scope.

The same upstream fixture before and after the fix, using the retained corpus renders. The public 2.5.22 wheel produces the exact reviewed candidate PDF.

2.5.21 2.5.22
Before: the initial protrudes above the border and body lines do not wrap around its height. After: the initial sits inside the border and three body lines wrap beside it.

Validation includes 1,360 Rust library tests, 11 documentation tests, 593 Python tests, and Windows/Linux CI. Twenty independent Chrome print cases cover 60 direct/compiled/reflow PDFs (69 pages), 23 native previews, text geometry, colored decoration regions, and deterministic replay. Public 2.5.21 fails all 18 float cases while preserving both controls. The public 2.5.22 wheel reproduces all 60 verified PDFs, and a fresh default-feature crates.io consumer reproduces all 40 direct/compiled PDFs. The public Python wheel also reproduces the original upstream drop-cap PDF byte for byte against the reviewed source-corpus output. The included browser reproduction script was executed and checked against the frozen references.

The complete unchanged 1,662-fixture source corpus reports 1,619 PASS, 25 FAIL, and 18 REFERENCE-DISPUTED. Only the drop-cap output changed: its verdict moved from REFERENCE-DISPUTED to PASS while retaining the upstream reference metadata. The other 1,661 PDFs are byte-for-byte unchanged from the retained 2.5.21 source baseline. There are no new FAIL or lost PASS verdicts. Inputs, reference artifacts, and comparator policy remain unchanged, and the existing failed corpus gate is retained.

The source corpus above identifies the original candidate. A complete run of the published 2.5.22 Linux wheel, added October 14, 2026, now verifies the same 1,662 fixtures: 1,619 PASS, 25 FAIL, and 18 REFERENCE-DISPUTED. All 1,662 generated PDFs are byte-identical to the retained source run; verdicts and reference metadata also match. The unchanged upstream gate still fails. Browse every fixture, reference image, and actual PDF, or inspect the workflow run.

This additional verification applies to the exact published Linux wheel, explicit assets, pinned references, and unchanged comparison policy. These finite checks do not establish complete CSS parity or PDF standards conformance. The unavailable dedicated PDF/VT validator remains skipped.

Source and release preparation: #71. Related to the open CSS tracker #54.