Expand description
Page geometry + base typography for ODT (OpenDocument Text) export.
Mirrors super::docx_options::DocxExportOptions field-for-field and unit-for-unit: every
length here is still in DOCX-style units — twips (1/1440 inch) for lengths, half-points for
font size — even though ODF’s own native vocabulary is centimeters/points with a unit suffix
baked into every attribute value. That is a deliberate choice, not an oversight: keeping one
shared unit convention across every export writer’s options struct is what lets a caller
(e.g. Skribisto’s compiler, which already produces twips for DocxExportOptions) hand the
same numbers to both writers without a second conversion table of its own. The twips→ODF
(fo:*="…pt") conversion happens once, inside the ODT writer itself
(document_io::use_cases::export_odt_uc), which is the only place that needs to know ODF’s
own unit spelling.
Per-block RTL is not an option here, for the same reason as DOCX: it is read from each
block’s own fmt_direction and emitted as a paragraph-level style:writing-mode="rl-tb" (the
ODF analog of <w:bidi/>). A document that mixes LTR and RTL scenes is therefore handled per
paragraph, independently of these options.
Structs§
- OdtExport
Options - Page geometry + base typography overrides for an ODT export. Every field is optional; the
Defaultis “no overrides” — a plain “Standard”-styled document at ODF/LibreOffice’s own built-in page defaults (A4-ish, 2cm-ish margins — whatever the reader substitutes for an unstyledstyle:page-layout). - OdtHeading
Style - How one heading level’s paragraph style is defined in the output.