The page writer lowers paragraph-level formatting from the model: alignment, right-to-left direction and the space before, after and between lines. A value applies when every run of the paragraph carries it and the stored paragraph differs; alignment also refreshes the layout alignment bits, and ancestors take the modification time. Alignment outside left, centre and right, negative, non-finite or out-of-range spacing, runs that disagree on a paragraph value, and generated title fields are refused before any write. corpus/paragraph-format holds a native fixture of six paragraphs (defaults, explicit zeros, centred spacing, right-aligned RTL, an inherited named style and the same style overridden), the writer's candidate that centres every paragraph with 0/2/16 pt spacing, and a fresh OneNote 2010 read of both. The cold read shows each paragraph centred with the written spacing, the zero space before omitted, RTL and quick styles retained and the bold/italic runs unchanged; tools/test_paragraph_format.py checks this without a VM, and the notebook suite covers reopen, rebase against a remote text edit and a lost publication reply for each attribute. Assisted-by: gpt-6-astra Assisted-by: claude-fable-5.1
clover caruso committed on 9/13/2026, 12:00:32 AMparentcffb5ce
33 files changedLine totals unavailable