Skip to content

Align foundational Go conversion capabilities - #173

Draft
shps951023 wants to merge 9 commits into
mainfrom
feat/go-feature-parity
Draft

Align foundational Go conversion capabilities#173
shps951023 wants to merge 9 commits into
mainfrom
feat/go-feature-parity

Conversation

@shps951023

@shps951023 shps951023 commented Sep 13, 2026

Copy link
Copy Markdown
Member

Summary

This draft advances Go parity through nine independently validated stages:

  • bound OOXML ZIP loading and expose ErrInvalidPackage
  • add Reader/Writer conversion and complete font registry lifecycle APIs
  • embed registered TTF fonts as Type0/CID fonts with ToUnicode maps
  • add CLI --fonts support
  • fix one-byte PDF content stream length errors
  • remove synthetic XLSX sheet labels and paginate wide worksheets horizontally
  • add Flate-compressed PDF content streams and CLI --compress
  • parse DOCX section margins and support validated margin overrides
  • add XLSX row/column limits and portrait/landscape overrides in API and CLI

Validation

  • go vet ./...
  • go test ./...
  • go test -race ./...
  • real DOCX CLI conversion validated with pdfinfo and pdftotext
  • Go classic XLSX five-case visual benchmark: 0.8093 baseline to 0.9975
  • classic05_wide_table: 0.6867 at 1/3 pages to 0.9953 at 3/3 pages
  • PDF structure errors: present in all five baseline candidates, zero after the stream fix
  • Go classic DOCX five-case benchmark: 0.9872 baseline to 0.9889 after native margin parsing

Dependency

Adds golang.org/x/image v0.24.0 for SFNT parsing. Registered fonts are currently embedded in full; subsetting, TTC support, system font discovery, and complex-script shaping remain explicit follow-up work.

Remaining Go parity work

This PR remains draft because the matrix still tracks rendering and API gaps, including XLSX sheet selection, fit/scale, styles/merges/images, DOCX tables/images/styles, PPTX shapes/images, and complete benchmark evidence.

@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Comment @coderabbitai help to get the list of available commands.

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