mirror of
https://github.com/storytold/wordcraft.git
synced 2026-11-07 03:01:32 +00:00
Found with LibreOffice's report templates and one-page résumé. Padding without a border: - LibreOffice gives a paragraph's padding room on every side, with or without a border; measured, 0.5 in of padding and no border moves the text 0.5 in in and down. WordCraft dropped it. - The reader now keeps it (an invisible border holding the space; a new `Borders::takes_room()`), and the writer writes it back. - The layout adds it to the spacing or indent under the document setting, now renamed `Settings::odf_layout` to cover all of LibreOffice's layout rules. `ResolvedPara::padding` carries it, so Word documents are unchanged. Columns: - Unequal columns (`style:column` relative widths and indents, on pages and sections) were made equal. They now keep their widths and are written back as shares. The writer leaves out `fo:column-gap` beside them, because LibreOffice ignores a page's column widths when a gap is stated (checked). - Columns with no stated gap have none, where they had Word's 0.5 in. - A paragraph starting a column (`fo:break-before="column"`) now starts with Word's column break, written back on the paragraph. The report templates round-trip to 0-11 differing pixels (from up to 9,600), and the résumé to 24 (from 6,286) with its text the same. Across the corpus the round-trip difference falls from 155k to 82k pixels. WordCraft's own rendering difference falls from 469k to 428k, and no document gets worse. gaps.md row 19 and the ROADMAP log are updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBVQLyDnrG8Tn1yDQcUabC