Skip to content

Release 1.4.0: embedded fonts in tables/lists, accessibility, gallery README - #38

Open
Tim81 wants to merge 2 commits into
mainfrom
feat/1.4.0-embedded-fonts-accessibility
Open

Release 1.4.0: embedded fonts in tables/lists, accessibility, gallery README#38
Tim81 wants to merge 2 commits into
mainfrom
feat/1.4.0-embedded-fonts-accessibility

Conversation

@Tim81

@Tim81 Tim81 commented Jun 14, 2026

Copy link
Copy Markdown
Owner

Summary

Closes the remaining VellumPdf layout-API gaps. Every change is additive — existing call shapes keep working — so this is a minor release (1.3.1 → 1.4.0).

The headline gap: -FontHandle could not be used inside a table or list, so Unicode text and PDF/A documents could not contain a styled table or list (the base-14 fonts can't be embedded). That now works.

Added

  • -FontHandle on Add-VellumPdfTable and Add-VellumPdfList — table-level default plus a per-cell FontHandle key. A colour-only cell in an embedded-font table inherits the embedded font instead of falling back to Helvetica.
  • Add-VellumPdfHeading -Color (RGB triple / hex / name).
  • Rich -Header cells on tables (same keys as data cells); per-cell Padding and Language keys; table-level -CellPadding.
  • -Language (BCP-47) on headings, paragraphs, and lists (per item).
  • -Conformance PdfUA1 on New-VellumPdfDocument (PDF/UA accessibility).
  • Custom page sizes via -PageWidthMm/-PageHeightMm, capped at 5080 mm = 14400 pt (the ISO 32000-1 Annex C default-user-space limit; the engine emits no UserUnit, and PDF 2.0 otherwise leaves size implementation-defined).
  • Save-VellumPdfDocument -PassThru (returns the live document, caller disposes) and -Force (creates a missing parent directory).
  • ~30 additional named colours in ConvertTo-VellumColor.

Changed

  • The README now ships in the package (build.ps1 Stage copies it) and renders on the PowerShell Gallery package page, with a runnable cookbook and an examples index.

Deferred

  • CMYK colour was investigated and dropped: no layout property consumes a ColorCmyk (every colour consumer — TextStyle.Color, Cell.Background, BorderColor, LineSeparator.Color — is ColorRgb). It would be a dead feature pending an upstream change.

Verification

  • ./build.ps1 Lint — clean
  • ./build.ps1 Test310 passed, 0 failed, coverage 95.5%
  • ./build.ps1 Docs — regenerated
  • ./build.ps1 Stageout/PSVellumPDF/README.md present
  • examples/05-accessible-tables-and-fonts.ps1 produces a valid PDF with an embedded font (/FontFile2) and a custom /MediaBox

New per-cmdlet test files added for headings, paragraphs, document, save, and colours; existing table/list test files extended.

Tim81 added 2 commits June 14, 2026 13:27
… README

Close the remaining layout-API gaps. All changes are additive.

Added
- Add-VellumPdfTable/Add-VellumPdfList accept -FontHandle, so Unicode text
  and PDF/A documents can contain styled tables and lists (table-level plus a
  per-cell FontHandle key).
- Add-VellumPdfHeading -Color.
- Rich -Header cells on tables; per-cell Padding and Language keys; table-level
  -CellPadding default.
- -Language (BCP-47) on headings, paragraphs, and lists.
- New-VellumPdfDocument -Conformance PdfUA1 (PDF/UA accessibility).
- Custom page sizes via -PageWidthMm/-PageHeightMm, capped at 5080 mm
  (14400 pt, the ISO 32000-1 Annex C default-user-space limit; the engine
  emits no UserUnit).
- Save-VellumPdfDocument -PassThru (returns the live document) and -Force
  (creates a missing parent directory).
- ~30 additional named colours in ConvertTo-VellumColor.

Changed
- README ships in the package and renders on the PowerShell Gallery page, with
  a runnable cookbook and an examples index (build.ps1 Stage copies it).

Notes
- CMYK colour was investigated and deferred: no layout property consumes a
  ColorCmyk; every colour consumer is ColorRgb.

Tests pass (310), lint clean, coverage 95.5%.
The agent-guidance file is no longer tracked (and is now gitignored).
README and CHANGELOG pointers that referenced it now point to
CONTRIBUTING.md for architecture and contribution conventions.
@Tim81
Tim81 force-pushed the feat/1.4.0-embedded-fonts-accessibility branch from a02ad4e to 8a41676 Compare June 14, 2026 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant