Namespace DocWright.Layout
Classes
- FontPreflight
Surveys the distinct font families a resolved document references and runs them through a FontEngine's resolver, producing a FontPreflightReport. A caller can run this before paying for a full conversion to decide whether to install a font, accept the substitution, or abort. This mirrors the external preflight utility that commercial converters ship as a separate tool, here as a first-class API.
- LayoutEngine
Lays out a resolved document into renderer-agnostic page primitives.
- ResolveOptions
Options for one resolution pass.
- ResolvedBlock
The base class of resolved block content.
- ResolvedCharacterProperties
The fully-resolved formatting of a run: every value concrete, no style references, theme fonts and colors resolved, toggle XOR applied. Instances are immutable and shared across runs with identical formatting (the resolver memoizes them).
- ResolvedColumns
The resolved column layout of a section.
- ResolvedDocument
The immutable, fully-resolved projection of a document produced by StyleResolver: no style references, all lengths in twips, tracked changes collapsed. This — never the mutable DOM — is what layout consumes.
- ResolvedDocumentDumper
Renders a ResolvedDocument as a deterministic, culture-independent text dump (LF line endings). Used by the approval-based snapshot tests — the values here are what Word's Reveal Formatting pane shows after resolution — and for debugging fidelity issues.
- ResolvedDocumentSettings
Document-level resolved settings that layout consumes.
- ResolvedHeaderFooter
Resolved header or footer content.
- ResolvedImage
A resolved image: display size and anchoring in twips plus a data opener that streams the bytes from the source package on demand.
- ResolvedNote
A resolved footnote or endnote body.
- ResolvedNumbering
The numbering resolved for one paragraph: the effective level definition with overrides applied. Counter evaluation (the actual numbers) is a later phase.
- ResolvedParagraph
A resolved paragraph: concrete properties, optional numbering, and resolved inlines with revisions collapsed and field code stripped (cached results kept).
- ResolvedParagraphProperties
The fully-resolved formatting of a paragraph: concrete twips everywhere, tab clears applied, logical alignments mapped to physical.
- ResolvedSection
A resolved section: concrete page geometry and the headers/footers that apply after section-to-section inheritance (§17.10.5).
- ResolvedShape
A resolved shape or shape group: the same anchor geometry a ResolvedImage carries, plus the flattened parts to paint in order.
- ResolvedShapePart
One paintable piece of a resolved shape tree. Groups, nested groups, child-space mapping, flips and rotation have all been flattened away by the resolver, so Segments are plain shape-local twips that layout only has to translate by the anchor origin.
- ResolvedTable
A resolved table with conditional table-style formatting already applied to every row, cell and their content.
- ResolvedTableCell
A resolved table cell with conditional formatting layered in.
- ResolvedTableProperties
Resolved table-level properties.
- ResolvedTableRow
A resolved table row.
- StyleResolver
Projects the mutable DOM into an immutable ResolvedDocument — the one bridge between editing and layout, and it is one-way. Resolution order follows ECMA-376 §17.7.2: document defaults, table style layers (with §17.7.6 conditional formatting per w:tblLook), paragraph style chain, numbering level properties, character style chain, then direct formatting; toggle properties get §17.7.3 XOR semantics. Theme fonts and colors resolve to concrete values; tracked changes are collapsed per RevisionView.
- ThemeColorTransforms
The color transforms WordprocessingML and DrawingML apply to theme colors. Word does NOT scale sRGB channels directly: w:themeTint and w:themeShade modulate luminance in HSL space with the result truncated per channel — verified against Word-written values (accent1 4472C4 with themeTint 99 yields 8EAADB, with themeShade BF yields 2F5496; see WORDQUIRKS.md).
Structs
- ColumnSpecResolved
One explicit resolved column.
- ResolvedBorder
A fully-resolved border edge: concrete style token, width, spacing and color. IsVisible is false when no border applies.
- ResolvedInline
One resolved inline: a kind, the text (for text runs), the shared resolved run properties, and kind-specific payload.
- ResolvedShading
Fully-resolved shading: concrete pattern token and colors.
- ResolvedTabStop
A resolved tab stop: explicit stops only, sorted by position, clears already applied.
Enums
- ResolvedInlineKind
What a resolved inline is.