wordcraft/docs
Valentin Klein 6801d89065
.doc import: inline pictures, floating pictures and basic shapes (#551) (#558)
* .doc import: inline pictures, floating pictures and basic shapes (#551)

Word 97-2003 files kept their text but dropped every picture and drawing.
Pictures and drawings are now read from the OfficeArt records ([MS-DOC],
[MS-ODRAW]):

- Inline pictures: the PICF's OfficeArtInlineSpContainer (MM_SHAPE /
  MM_SHAPEFILE) and its FBSE/BLIP, with crop and alt text from the shape
  properties; the older raw-image path stays as a fallback.
- Floating pictures and shapes: PlcSpaMom/PlcSpaHdr anchors joined with
  the shapes of the OfficeArtContent drawings (fcDggInfo), placed by the
  SPA bounds, bx/by or posrelh/posrelv/posh/posv, wrap type and
  fBelowText; rotation and flips; pictures from the BLIP store.
- Shapes: rectangle, rounded rectangle, ellipse, diamond, triangles, star,
  block arrows, heart, lines/connectors, with fill/line colour and width;
  groups flattened into one group space; text boxes linked to their
  PlcftxbxTxt story parts by spid.
- BLIPs: PNG, JPEG, TIFF as-is, DIB converted to PNG, EMF/WMF inflated
  (the metafile renderer draws them), PICT kept as a sized placeholder.
- Hostile input: record lengths clamped to their parent, nesting depth
  and record counts capped, decompression size-limited, picture bytes
  capped per document as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Review fixes for #558: miniz_oxide as a workspace dependency

Restores the change @echelon pushed in 04b59287, which a rebase dropped: miniz_oxide is declared once in the root [workspace.dependencies] and docbin uses it with workspace = true.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 03:42:18 -04:00
..
brand #664: brand licence names WordCraft, not DesignCraft (#682) 2026-10-11 22:39:47 -04:00
images M7/M14: comment balloons in the margin; ROADMAP alpha and parity estimates; README Review and Layout screenshots; cargo xtask alias 2026-10-06 01:38:55 -04:00
architecture.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#277) 2026-10-10 14:11:53 -04:00
contributors.md About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#6) 2026-10-07 21:17:02 -04:00
control-protocol.md Accessibility Options: Animation effects setting that follows the system (#791) 2026-10-12 02:24:58 -04:00
file-format-parity.md .doc import: inline pictures, floating pictures and basic shapes (#551) (#558) 2026-10-12 03:42:18 -04:00
gaps.md .doc import: inline pictures, floating pictures and basic shapes (#551) (#558) 2026-10-12 03:42:18 -04:00
hardware-parity.md Windows: use OpenGL when DirectX 12 has no GPU driver (#316) (#325) 2026-10-10 16:24:16 -04:00
layout-parity.md Complex scripts: shape Myanmar, Khmer and Indic text; caret and line breaks respect syllables (#604) (#652) 2026-10-11 23:22:57 -04:00
localization-parity.md Font dialog: separate Asian and Latin text fonts (#505) (#536) 2026-10-11 21:42:56 -04:00
localization-tr.md i18n: add Turkish (tr) interface translation (#494) 2026-10-11 11:16:22 -04:00
mcp.md Headless: file.setAuthor takes a name; review.trackChanges lists its value param (#90) (#224) 2026-10-10 09:43:05 -04:00
parity-checklist.md #755: Line Numbers and Hyphenation measure in the Options unit (#795) 2026-10-12 01:32:44 -04:00
releasing.md Bump version to 0.5.0; add Linux riscv64 release build (#394) 2026-10-10 19:41:30 -04:00
roadmap.md M1: preserve omitted DOCX paragraph defaults (#647) 2026-10-11 22:47:03 -04:00
target-app-parity.md Tables: resize by dragging column borders, row borders and the corner handle (#217) (#600) 2026-10-12 02:38:05 -04:00
typing-parity.md Complex scripts: shape Myanmar, Khmer and Indic text; caret and line breaks respect syllables (#604) (#652) 2026-10-11 23:22:57 -04:00
ui-parity.md Tables: resize by dragging column borders, row borders and the corner handle (#217) (#600) 2026-10-12 02:38:05 -04:00
zotero.md Zotero: a pending citation no longer edits a replacement document (#470) (#580) 2026-10-11 22:20:33 -04:00