mirror of
https://github.com/storytold/wordcraft.git
synced 2026-11-06 18:51:26 +00:00
Graphic styles' arrowheads (`draw:marker-start`/`-end`), line dashes (`draw:stroke-dash`) and gradient fills (`draw:gradient`), defined by name in the styles, open as WordCraft's arrowheads, dash patterns and gradients: - dashes: up to two kinds of dash and one space, in line widths or absolute lengths, matched to WordCraft's named dashes when equal; - gradients: linear and axial along their angle (ODF's 0° runs top to bottom, anticlockwise; WordCraft's left to right, clockwise; an angle without a unit is tenths of a degree, as ODF 1.2 wrote it), radial, ellipsoid, square and rectangular out from their centre (end colour in the middle), with border and intensity. They are written back as definitions in `styles.xml` (WordCraft's own triangle arrowhead marker; equal definitions share a name; the header writer's names are prefixed apart). Frames keep gradient fills too. A line now keeps the direction it is drawn in (`svg:x1`/`y1` is its start): one drawn leftwards or upwards is flipped that way, so its arrowheads stay at their ends, and it is written from its start. A LibreOffice document with arrowheads, dashes and gradients round-trips 215 px apart; WordCraft draws it 518 px from LibreOffice. Exported styles.xml and content.xml validate against the ODF 1.3 schema. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBVQLyDnrG8Tn1yDQcUabC