mirror of
https://github.com/storytold/wordcraft.git
synced 2026-11-06 18:51:26 +00:00
What ODF 1.3 defines, including XSL's initial values for fo: properties, is followed whatever the settings: unstated page margins are now 0, and padding without a border takes room in every ODT document. What the standard leaves to the application (Part 3 §16.2) is an OdfProfile: WordCraft's own choices by default, LibreOffice's, or custom values. The profile fills in only what a file leaves unsaid; stated values win under every preset (tests_more/profile.rs). Cases: header height, how its height and spacing combine, dynamic spacing, tabs from the indent, column gap, shape fill, line and hairline, page frames against a paragraph, in-line frames against a paragraph or page, and lines of only pictures. - doc: odf_profile module; Settings::odf (OdfLayout) replaces odf_layout - formats: import_with / import_flat_with take a profile - engine: Prefs::odf, file.options `odf`, opened files follow it - ui: File > Options > Advanced > OpenDocument files (presets, custom cases) - cli: WORDCRAFT_ODF=wordcraft|libreoffice - docs: odf-interpretation.md lists every case (law, open, writer choices, Google Docs and ONLYOFFICE findings); parity docs, gaps, ROADMAP updated Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBVQLyDnrG8Tn1yDQcUabC