Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,24 @@ follow semantic versioning; release dates are ISO 8601.

### Public API

- **A DOCX export settles a list item's exact lines with the page, and what a cell's lines carry at
its end.** Word sets a list's item at its written line height, to the twip, and the export compared
only a paragraph's lines with the page's: `Panel`'s skills and projects, items of two lines and
more, each line written a fiftieth of a point taller than the page's, ran 0.21 and 0.35pt taller in
Word, and every card under them stood that much lower. An item's lines are now owed below it, hung
below it or carried on with the paragraphs' around it, and what it owed is taken back where its
pictures grow its lines, as a paragraph's is. A list's items are written at its tallest line, so an
item the page sets shorter now hangs what it passes the page by out of the space below it, named
where that space cannot hold it. What a cell's lines still carried at its end,
a tenth of a point or less, went with the cell; the cell's end now settles it: owed below its last
block where the lines fall short of the page, hung below the cell where they pass it, as a line
hanging there is. 48 of the corpus's 62 DOCX change. Lines moved by more than 0.05pt:
Word 602 nearer the page and 282 further, LibreOffice on Windows 576 and 253. Medians, Word and
LibreOffice on Windows: `Panel` 0.37 → 0.21pt and 0.34 → 0.21pt, `TerracottaRail` 0.30 → 0.17pt and
0.25 → 0.17pt, `ConsultingInvoice` 0.25 → 0.17pt and 0.14 → 0.08pt; `ClassicSerif` 0.16 → 0.07pt in
Word. A tenth of a point settled moves a line a step of Word's 0.12pt grid or none: where other
errors already stood lines high, they now stand a step higher — `ObsidianInvoice`'s parties and items
0.12pt (median 0.21 → 0.33pt in Word), `VioletGrid` 0.21 → 0.27pt, `MidnightNavy` 0.16 → 0.22pt.
- **A DOCX export carries what a paragraph's exact lines are off the page by, too little to settle
below it, on to the next paragraph's.** Word sets an exact line at its written height, to the
twip, where the page sets each line at its own: what a paragraph's lines fall short of the page by
Expand All @@ -17,7 +35,7 @@ follow semantic versioning; release dates are ISO 8601.
up to 0.13pt a card and were never taken out. What a paragraph leaves is now carried to the next
and settled with it once the two come to more. What is carried stays on its page, and starts again
where the space owed is set anew — a band's or a column's layer, below a band — and in each cell,
whose own goes no further than the cell; a paragraph that owed for its lines and whose pictures
whose end settles its own (see above); a paragraph that owed for its lines and whose pictures
then grow them takes that back and carries on what the lines above it carried. 27 of the corpus's
62 DOCX change. In Word
323 lines stand nearer the page by more than 0.05pt and 106 further, in LibreOffice on Windows 283
Expand Down
Binary file modified assets/readme/examples/word-export-companion.docx
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/recipes/docx-export.md

Large diffs are not rendered by default.

2,536 changes: 1,268 additions & 1,268 deletions qa/src/test/resources/docx-fidelity/libreoffice-windows-lines.tsv

Large diffs are not rendered by default.

60 changes: 30 additions & 30 deletions qa/src/test/resources/docx-fidelity/libreoffice-windows.tsv
Original file line number Diff line number Diff line change
@@ -1,64 +1,64 @@
# libreoffice build bf6ef2662401 on windows
document engine_pages editor_pages lines matched median p90 over2
cv-blue_banner 2 2 54 52 0.14 0.25 0
cv-boxed_sections 2 2 58 58 0.08 0.17 0
cv-centered_headline 2 2 58 56 0.14 0.29 0
cv-charcoal_gold 1 1 85 83 0.18 0.28 0
cv-classic_serif 2 2 57 54 0.07 0.15 0
cv-compact_mono 1 1 58 58 0.07 0.19 0
cv-blue_banner 2 2 54 52 0.16 0.25 0
cv-boxed_sections 2 2 58 58 0.06 0.11 0
cv-centered_headline 2 2 58 56 0.12 0.29 0
cv-charcoal_gold 1 1 85 83 0.20 0.28 0
cv-classic_serif 2 2 57 54 0.03 0.09 0
cv-compact_mono 1 1 58 58 0.06 0.18 0
cv-editorial_blue 2 2 82 82 0.12 0.19 0
cv-engineering_resume 1 1 57 57 0.07 0.37 0
cv-engineering_resume 1 1 57 57 0.09 0.45 0
cv-executive 2 2 60 60 0.11 0.36 0
cv-midnight_navy 1 1 86 84 0.23 0.41 0
cv-minimal_underlined 2 2 59 59 0.21 0.35 0
cv-minimal_underlined 2 2 59 59 0.20 0.35 0
cv-mint_editorial 2 2 59 59 0.07 0.30 0
cv-modern_professional 2 2 61 59 0.08 0.10 0
cv-monogram_sidebar 1 1 53 50 0.04 0.10 0
cv-navy_sidebar 1 1 71 71 0.09 0.30 0
cv-nordic_clean 1 1 63 58 0.08 0.25 0
cv-nordic_clean 1 1 63 58 0.06 0.19 0
cv-orange_ops 1 2 108 5 77.92 77.92 5
cv-panel 1 1 79 74 0.34 0.71 0
cv-professional_sidebar 1 1 68 64 0.20 0.38 0
cv-serif_headline 1 1 103 103 0.26 0.85 0
cv-sidebar_portrait 1 1 49 49 0.11 0.23 0
cv-slate_orange 1 1 87 86 0.22 0.99 0
cv-panel 1 1 79 74 0.21 0.33 0
cv-professional_sidebar 1 1 68 64 0.20 0.28 0
cv-serif_headline 1 1 103 103 0.19 0.65 0
cv-sidebar_portrait 1 1 49 49 0.07 0.18 0
cv-slate_orange 1 1 87 86 0.23 0.99 0
cv-teal_pulse 1 1 57 57 0.20 0.64 0
cv-terracotta_rail 1 1 102 102 0.25 0.82 0
cv-terracotta_rail 1 1 102 102 0.17 0.52 0
cv-timeline_minimal 2 2 89 87 0.05 0.11 0
cv-violet_grid 1 1 80 78 0.22 0.54 0
cv-violet_grid 1 1 80 78 0.27 0.59 0
invoice-classic 1 1 56 56 0.07 0.12 0
invoice-classic_long 2 2 166 166 0.07 0.08 0
invoice-consulting 1 1 92 92 0.14 0.34 0
invoice-consulting_long 2 2 236 236 0.14 0.34 0
invoice-consulting 1 1 92 92 0.08 0.26 0
invoice-consulting_long 2 2 236 236 0.12 0.28 0
invoice-luma_studio 1 1 97 97 0.17 0.46 2
invoice-luma_studio_long 3 3 192 192 0.11 0.41 2
invoice-merchant 1 2 94 90 0.06 0.15 0
invoice-metered 1 1 99 99 0.33 1.08 0
invoice-modern 1 1 54 54 0.03 0.10 0
invoice-modern_long 2 2 162 162 0.03 0.08 0
invoice-obsidian 1 1 81 81 0.26 0.99 0
invoice-payments 1 1 104 104 0.13 0.25 0
invoice-platform 1 1 111 111 0.30 0.41 0
invoice-subscription 1 1 81 81 0.04 0.31 0
invoice-workspace 1 1 90 90 0.16 0.38 0
invoice-obsidian 1 1 81 81 0.33 0.89 0
invoice-payments 1 1 104 104 0.06 0.26 0
invoice-platform 1 1 111 111 0.31 0.39 0
invoice-subscription 1 1 81 81 0.05 0.29 0
invoice-workspace 1 1 90 90 0.17 0.30 0
letter-blue_banner 1 1 10 10 0.02 0.12 0
letter-boxed_sections 1 1 10 10 0.09 0.13 0
letter-centered_headline 1 1 11 11 0.09 0.14 0
letter-classic_serif 1 1 10 10 0.03 0.08 0
letter-compact_mono 1 1 10 8 0.04 0.08 0
letter-editorial_blue 1 1 12 12 0.07 0.16 0
letter-engineering_resume 1 1 15 15 0.02 0.17 0
letter-engineering_resume 1 1 15 15 0.04 0.21 0
letter-executive 1 1 12 12 0.05 0.20 0
letter-mint-editorial-letter 1 1 10 10 0.01 0.02 0
letter-modern_professional 1 1 12 12 0.03 0.11 0
letter-monogram_sidebar 1 1 12 12 0.03 0.12 0
letter-nordic_clean 1 1 15 15 0.04 0.12 0
letter-panel 1 1 13 13 0.13 0.17 0
letter-nordic_clean 1 1 15 15 0.06 0.15 0
letter-panel 1 1 13 13 0.04 0.14 0
letter-sidebar_portrait 1 1 12 12 0.03 0.05 0
letter-timeline_minimal 1 1 15 15 0.15 0.33 0
proposal-editorial 2 2 132 132 0.19 0.65 0
proposal-editorial 2 2 132 132 0.21 0.65 0
proposal-indigo 1 1 72 70 0.12 0.50 0
proposal-modern 1 1 44 44 0.03 0.12 0
proposal-northline 2 2 132 132 0.13 0.49 0
receipt-modern 1 1 57 57 0.09 0.11 0
rota-cobalt 1 1 154 151 0.04 0.19 0
proposal-northline 2 2 132 132 0.17 0.48 0
receipt-modern 1 1 57 57 0.04 0.09 0
rota-cobalt 1 1 154 151 0.03 0.19 0
Loading
Loading