Skip to content

Emboss v1.1.0

Choose a tag to compare

@vouchagent vouchagent released this 30 Jul 04:09
· 29 commits to main since this release

Added

  • CJK text support: register a CJK-capable font (Document.fonts.register) and Chinese, Japanese, and Korean text renders correctly -- real glyphs, correct widths, correct line wrapping. Root-caused and fixed two bugs: the line breaker only tokenized on ASCII spaces (a spaceless CJK paragraph overflowed instead of wrapping), and the oversized-run fallback fragmented CJK text one character per render fragment (corrupting extracted text with phantom spaces). RTL and complex-script shaping remain unsupported, stated honestly.
  • AI provenance / content credentials: GeneratorInfo records which model generated a document, from a hash of the prompt (never the raw text), plus generation parameters and an optional human reviewer, folded into the reproducibility manifest. read_generator_info(pdf_bytes) reads it back, or None when absent. MCP gains get_provenance.
  • Data binding: Document.table_from_csv / chart_from_csv build a table or chart directly from a CSV path, file object, CSV text, or a pandas DataFrame (duck-typed; pandas stays optional), composing with verify_totals and attach_data.
  • Interactive form fields: TextField, CheckboxField, DropdownField as real spec elements, producing genuine AcroForm widgets tagged as PDF/UA structure, for intake and KYC-style documents.

Full suite: 2127 passed, 5 skipped. ruff clean. veraPDF conformance green.