Engine 0.0.0-phase.8

Support matrix

Apex renders a documented DOCX profile. Features common in Word are not assumed to be supported. A row is marked complete only when parser, layout, fixtures, and PDF output agree.

Supported
5
Limited
17
Unsupported
5
Planned
1

Compatibility coverage

Use this matrix when designing templates. Treat diagnostics as part of the rendering contract—a successful PDF does not imply full Word fidelity.

Full documentation
Filter by status

Showing 28 of 28 support entries.

  • DOCX package validation

    Supported

    Validates ZIP structure, paths, limits, XML, relationship roots, external relationships, and the root office-document relationship; unconditionally rejects VBA/macros, OLE/embedded objects, ActiveX, attached packages/executables, custom UI, web extensions, and alternative-format chunks.

  • Main-document paragraphs

    Supported

    Preserves supported paragraphs and runs in source order across one or more sections. Missing page geometry falls back to A4-profile defaults.

  • Styles and paragraph formatting

    Supported with limits

    Resolves docDefaults, default paragraph/character styles, basedOn, direct formatting, indents, alignment, spacing, keep controls, widow/orphan control, and page-break-before.

  • Explicit left tab stops

    Supported with limits

    Word tabs require explicit resolved paragraph stops with positive integer-twip positions, left/start alignment, and no leader. Duplicate, clear, non-left, leader, missing-next-stop, and default-tab behavior are rejected rather than approximated.

  • DOCX numbering and list layout

    Supported with limits

    Relationship-owned definitions and overrides, supported formats and restarts, searchable source-linked labels, indentation and wrapping, and deterministic counters.

  • Registered fonts and embedded text

    Supported with limits

    The library accepts explicit TrueType bytes for LTR Latin shaping and deterministically rewrites the used glyphs into mapped fontkit subsets. The playground self-hosts five application-owned, hash-pinned OFL TrueType families, maps familiar system names deterministically, and never executes uploaded embedded fonts. Output is searchable upright Type0/CIDFontType2 text.

  • Template values and formatters

    Supported with limits

    Typed dotted paths plus upper, lower, currency:"ISO", and bounded date/time patterns. Date defaults to dd-MM-yyyy; explicit time tokens include 24-hour or 12-hour time using explicit locale and time-zone context.

  • Conditions and loops

    Supported with limits

    Nested whole-paragraph and whole-table-row if / optional else / each blocks, with item-relative object fields and cumulative limits.

  • Fixed-grid tables

    Supported with limits

    Positive integer-twip tblGrid, explicit tblW/tcW, supported margins, borders, shading, heights, alignment, spans, merges, repeated headers, and deterministic fragmentation.

  • Static inline images

    Supported with limits

    Internal relationship-owned PNG/JPEG parts with explicit positive DrawingML extents. Supported in ordinary paragraphs, bounded table cells, headers, and footers.

  • Image resource limits

    Supported

    Defaults cover distinct parts, total bytes, pixels per side, pixels per image, chunks/markers, and decoded working bytes.

  • PNG profile

    Supported with limits

    Non-interlaced legal grayscale/RGB/indexed/gray-alpha/RGBA depths, validated CRC/order/palette/transparency/scanlines/filters, normalized to 8-bit gray/RGB plus optional alpha.

  • JPEG profile

    Supported with limits

    Well-formed 8-bit baseline or bounded progressive grayscale/three-component JPEG with validated scans, orientation 1, and unambiguous JFIF/Adobe transform.

  • PDF image output

    Supported

    Deterministic content deduplication, per-page XObject resources, DCTDecode JPEG, FlateDecode PNG planes, optional grayscale alpha SMask, and source-linked placements.

  • Multiple sections

    Supported with limits

    Paragraph and final body section properties create ordered nextPage sections. Positive portrait/landscape geometry maps to per-page PDF MediaBox values.

  • Default headers and footers

    Supported with limits

    Internal default references inherit across sections until replaced. Exact edge-relative distances default to 720 twips and must fit inside body margins.

  • Header/footer templates

    Supported with limits

    Reusable definitions support paragraph values, safe formatters, bounded whole-paragraph blocks, static images, and page fields. Automatic paragraph numbering is unsupported.

  • PAGE and NUMPAGES

    Supported with limits

    Simple or complete complex fields with decimal/no-op switches only. Layout reserves digit width, paginates globally, then materializes current and total values.

  • Determinism and source links

    Supported with limits

    Stable semantic and display IDs, source-ordered collections, deterministic resource ordering, searchable page text, byte-repeatable PDFs, and optional source-linked traces. The checked-in golden matches in separate Bun processes, Node 24, and a real Chromium module worker.

  • Binary-safe testkit

    Supported for workspace PDFs

    Validates classic xref offsets, direct stream lengths, page image resources, upright text transforms, and per-page searchable text for workspace PDFs. Not a general PDF parser.

  • Dynamic image tags

    Supported with limits

    Canonical {{@image path}} values accept explicit PNG/JPEG bytes, pixel dimensions, physical twip bounds, optional aspect preservation, and semantic alt text. URLs and non-canonical image tags are rejected; PDFs remain untagged.

  • Floating, cropped, or transformed images

    Unsupported

    Anchors, floating placement, crop, rotation, and other DrawingML transformations are outside the profile.

  • SVG and broad image conversion

    Unsupported

    SVG, CMYK/YCCK, ICC conversion, arbitrary PNG/JPEG profiles, and general color management are not implemented.

  • Other section and header variants

    Unsupported

    Continuous, odd-page, and even-page breaks; first/even headers and footers; automatic header/footer numbering; and arbitrary Word fields are unavailable.

  • Other table features

    Unsupported

    Percentage widths, nested tables, styles/themes/conditional regions, complex shading, and complete Word autofit are unavailable.

  • Other text and font features

    Unsupported

    Default or non-left tab behavior, tab leaders, complex scripts/bidi, CFF PDF embedding, variable-axis instantiation, and interrupting synchronous subsetting mid-encode are unavailable.

  • Opt-in Convex persistence

    Supported with limits

    The configured playground mounts tested anonymous-session storage, upload-intent registration/cleanup, metadata, cache, realtime, and deletion adapters behind an explicit disabled-by-default control. This is demo isolation, not production authentication.

  • Hosted deployment

    Planned

    No production Vercel deployment, production Convex authorization, canonical hosted playground, or operational readiness claim has been verified.