poka.sh

Docs

SDW

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

StarWriter 5 Binary Preview.

At a glance

Original creator Star Division
Purpose The binary StarWriter document of StarOffice 5.x and earlier, an OLE2 compound file.
Extensions .sdw
Poka parser poka-sdw
Viewer poka-metadata-card-viewer
Depth tier Metadata card (see Depth tiers)
Breadth tier B4 Summary (see Breadth tiers)

How much Poka reads

B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.

Confidence: high (the reviewer read the code and a test that proves the claim). Basis: Reviewed 2026-10-16: parsers/poka-sdw/src/lib.rs (CFB container, CompObj, SummaryInformation property set, StarWriterDocument record walk accepted only if records tile exactly, then a scan for length-prefixed strings) and tests/samples.rs over the 3 corpus .sdw (Writer_3.1, SwXTextSection, testStarOffice-5.2-writer; only SwXTextSection has specific assertions, the other two are only checked for a description naming the program). Covers StarWriter 3.x to 5.x OLE2 files; the document text is not decoded.

What Poka does not read

  • Document text (only scanned strings from the record stream, labelled as scanned, may include fragments)
  • Paragraph structure, headings, styles and formatting
  • Tables, pictures, frames and fields
  • Headers, footers and footnotes
  • Page layout
  • Password-protected documents
  • StarOffice 6+ XML files (separate .sxw route in poka-odt)

Background

StarWriter 1.0 was written by Marco Börries in 1985; he founded Star Division the next year, and StarWriter grew into the StarOffice suite. Sun Microsystems bought StarOffice in 1999 and released its source as OpenOffice.org in 2000. Wikipedia lists .sdw as the StarWriter 5.x format, followed by .sxw in StarOffice 6 and then .odt. Everything before StarOffice 6.0 is an OLE2 compound file rather than ZIP, so a ZIP reader fails at the first byte. Poka shows a metadata card: the writing program from the CompObj stream, the summary information (title, author, dates, revision) and what the body stream's records contain. A record walk is accepted only when the records fill their stream exactly. The reader also accepts SW3HDR and SW4HDR streams.

Versions

Version Identifier Poka Note
StarWriter 5.x OLE2 compound file with a StarWriterDocument stream Partly read Metadata and the record structure are read; the document text is not rendered.
  • StarImpress / StarDraw 5.x document (.sdd): Routed to poka-sdw in parsers/aliases.toml; CompObj tells Impress from Draw.

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

  • cfb (used; MIT; Rust)
  • libstaroffice (candidate; LGPL-2.1 OR MPL-2.0; C++; https://github.com/fosnola/libstaroffice) — librevenge-based import filter; reads .sdw main text and formatting, parser stated as incomplete

Sources