Place: Word .doc styles are resolved once and damaged property tables are refused

Each style's formatting is now worked out once, on top of the style it
is based on, and each property run's formatting once, so a document with
many hidden paragraphs or long style chains no longer resolves the
chains again for every paragraph and run. Character styles are applied
as a change to the paragraph's formatting.

A bin table whose file positions do not rise, a property page listed
twice, pages whose runs overlap, and styles based on each other in a
loop are refused as damaged, as MS-DOC requires (PlcBteChpx, ChpxFkp,
StdfBase). Property runs refer to their page instead of copying it.
This commit is contained in:
dotCooCoo
2026-11-02 12:03:57 +07:00
committed by bflatastic
parent b4c01e3120
commit ecd184510c
3 changed files with 314 additions and 81 deletions
+3 -2
View File
@@ -3900,8 +3900,9 @@ are left out, and `warnings` names each kind of content left out or changed once
tracked changes, tables, and the other stories the document has); a field with no result is left out with its own
warning. Documents saved by Word 6.0 or Word 95, encrypted or password-protected documents and documents last saved with
fast save are refused, and so are a stream larger than 64 MiB, a document with more than 4 MiB of text, 100,000 pieces,
16,384 pages of properties or 100,000 paragraphs or runs, one whose 16-bit text holds half of a surrogate pair, and one
whose structures lie outside their streams.
16,384 pages of properties or 100,000 paragraphs or runs, one whose 16-bit text holds half of a surrogate pair, one
whose structures lie outside their streams, one whose property pages are out of order, listed twice or overlap, and one
whose styles are based on each other in a loop.
`file.place` answers `format: "doc"`.
## PDF presets