Compatibility
An audited matrix of .docx format features and reference-application
behavior. Each row is validated by automated experiments (XML round-trip and visual
comparison via PDF/pixel diff).
Last audit: July 11, 2026.
Legend: Complete ·
Partial ·
Not implemented.
Core
| Area | Status | Notes |
| Open/save .docx | Partial | load() / save(); unknown OOXML elements may be lost after editing (incremental preservation in progress). |
| Typing, Enter, Backspace | Complete | — |
| Undo/redo | Partial | Integration tests for tables still missing. |
| Offline web component | Complete | No backend; fonts embedded via initialize(). |
| Area | Status | Notes |
| Font, size, bold, italic, color | Complete | — |
| Underline / strikethrough | Partial | API exists; not all format variations exposed. |
| Paragraphs, alignment, indents | Partial | Most implemented; lists in all localized styles pending. |
| Styles | Partial | Real styles.xml is read and applied; style creation/editing limited. |
| Lists | Partial | toggleList() bullet/decimal; arbitrary multilevel formats pending. |
Document structure
| Area | Status | Notes |
| Tables | Partial | Complete rendering; structural editing (insert/delete rows, autofit) limited. |
| Images | Partial | insertImage(), inline and floating; crop, rotation, and advanced wrap pending. |
| Headers/footers | Partial | Functional editing; first/even and complex fields pending. |
| Footnotes/endnotes | Partial | Rendering ok; editing limited. |
| Comments | Partial | addComment() / getComments(); replies and "resolved" state pending. |
| TOC, bookmarks, hyperlinks | Partial | updateToc() / navigateTo(). |
Export
| Area | Status | Notes |
| PDF, XPS, HTML, Markdown, ODT | Partial | All formats work; plugin inlines use fallback text. |
Not implemented
| Area | Status | Notes |
| Equations (OMML) | No | Text fallback only. |
| Shapes, WordArt, SmartArt | No | Not modeled. |
| Track changes (revisions) | No | w:ins / w:del in the backlog. |
| Advanced accessibility | No | Basic textarea proxy; semantic tree pending. |
| Real-time collaboration | No | Out of current scope. |
How the matrix is audited
No item is marked "complete" based on reading a specification. Each feature is
validated against the reference application with automation:
- Format: an operation is applied in the reference app, the before/after
.docx is extracted, and the XML diff becomes the observed specification — and then a regression test.
- Rendering: the reference app exports to PDF/XPS; the result is rasterized and compared pixel by pixel with Write's layout engine.