Getting startedView Markdown ↗
Support matrix
How each Word feature is supported for reading (parseDocx) and for generating (generateDocx).
"Read" means parseDocx turns it into meaningful nodes; "Generate" means generateDocx can write it from nodes. "Written back verbatim" means the content survives into the output file but cannot be created or changed through LitAST.
| Feature | Read | Generate |
|---|---|---|
| Paragraphs: alignment, spacing, indentation, tab stops | ✅ | ✅ |
| Text formatting: bold, italic, underline, strikethrough, super/subscript, size, color, font, highlight | ✅ | ✅ |
| Headings, quotes, code blocks, horizontal rules | ✅ | ✅ |
| Lists and multilevel numbering | ✅ | ✅ numbering definitions generated automatically |
| Tables: merged cells, column widths, shading, borders, header rows | ✅ | ✅ |
| Images: inline, floating, cropping, hyperlinks | ✅ | ✅ |
| Text boxes and shapes | ✅ | Written back verbatim |
| Sections, page setup, headers and footers (including first and even pages) | ✅ | ✅ |
| Fields: page numbers, dates, tables of contents, complex fields | ✅ | ✅ |
| Content controls: text, checkbox, date, drop-down, repeating sections, data binding, picture | ✅ | ✅ |
| Comments and replies | ✅ | ✅ |
| Tracked changes: insertions, deletions, formatting, moves | ✅ | ✅ |
| Footnotes and endnotes | ✅ | ✅ |
| Bookmarks, editing permission ranges, page and column breaks | ✅ | ✅ |
| Document properties and variables | ✅ | ✅ |
| Document protection | ✅ | ✅ |
| Equations (OMML) | Kept verbatim | Written back verbatim |
| Charts | Kept verbatim | Written back verbatim; cannot be created |
| Watermarks | ✅ | Written back verbatim |
| Style definitions | Used to compute formatting; original part kept | Written back verbatim; new styles cannot be created through LitAST |
| Phonetic guides (ruby) | ✅ Base text, annotation and properties | ✅ Create, edit and write back; see the example |
Known limitations
- Phonetic guides do not infer pronunciation. Both text layers and their formatting, six alignment values, sizes, raise, language and
dirtyare supported. Complete lifecycles for nested fields, comments and revisions have not been verified. Content outside the ruby content model is rejected on export instead of silently discarded. generateDocxrebuilds the whole package from LitAST; building blocks (glossary) and custom XML parts are not written back. See Round trips and preservation.- Encrypted DOCX files and legacy
.docfiles cannot be read and throwDocxPackageError. - No layout or rendering: lit-docx handles file structure only; it does not paginate or draw documents.