From d3daa17fd3ba38e140323100580ee3cba56c58f5 Mon Sep 17 00:00:00 2001 From: tannevaled Date: Sun, 11 Oct 2026 12:02:32 +0200 Subject: [PATCH] Word comes through, and the format we cannot read is named MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit word-to-pdf is claimed, through go-ooxml/ooxml v0.1.0 — a new organisation, because nothing in 2033 repositories matched "ooxml", "docx", "office" or "excel", and the fleet's convention puts a packaged format in its own organisation (go-odf/odf, go-rtf/rtf) while keeping the text formats in go-richdoc. ⛔ BentoPDF's own page says this tool takes "DOC, DOCX, ODT, and RTF". Three of the four are read — DOCX by go-ooxml/ooxml, ODT by go-odf/odf, RTF by go-rtf/rtf — and the fourth is NOT: DOC is the pre-2007 binary format, an OLE compound file, and nothing in the fleet reads one. The gap is named in the table rather than passed over, the way cbz-to-pdf names CBR, because a claim whose shortfall is written down can be closed by whoever reads it. The claim names ParseWord rather than the repository: a "go-ooxml/ooxml exists" claim would go on saying yes after the Word reader had been dropped in favour of the other two. Pasted from the tool's own output: covered 77 not covered 37 parity 67.5% (77/114), every claim verified Measured 2026-10-11 against BentoPDF 3a5f146 (v2.8.8, 114 tools), pdfops and ops at a376bb2 (= v0.13.0), ooxml at v0.1.0, opc at v0.1.0, odf 3d1deee (= v0.7.0), convert 45fbb5d, render 3bb5dcf, app 1feda5d, rtf 6bc4897, markdown eafebfd, data 128b6c7. Co-Authored-By: Claude Opus 5 --- README.md | 6 +++--- parity/table.go | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a25e6a6..cc45ca1 100644 --- a/README.md +++ b/README.md @@ -766,9 +766,9 @@ bentoparity -tools ~/src/bentopdf/docs/tools -pdfops ./pdfops -src ~/src/go-pdfk ``` ``` -covered 76 -not covered 38 -parity 66.7% (76/114), every claim verified +covered 77 +not covered 37 +parity 67.5% (77/114), every claim verified ``` ⛔ **It refuses to report a figure if a single claim cannot be checked.** A diff --git a/parity/table.go b/parity/table.go index b04dbbc..9291643 100644 --- a/parity/table.go +++ b/parity/table.go @@ -100,6 +100,20 @@ var BentoPDF = []Claim{ // arrows is not that drawing. Absence is the conservative direction, and // this must never make the fleet look better than it is. {Tool: "rtf-to-pdf", Claim: "go-rtf/rtf#func Parse"}, + + // --- Word, through go-ooxml ------------------------------------------- + // ⛔ BentoPDF's own page says this tool takes "DOC, DOCX, ODT, and RTF". + // Three of the four are read here — DOCX by go-ooxml/ooxml, ODT by + // go-odf/odf, RTF by go-rtf/rtf — and the fourth, DOC, is NOT: the + // pre-2007 binary format is an OLE compound file and nothing in the fleet + // reads one. The gap is named rather than passed over, the way cbz-to-pdf + // names CBR, because a claim whose shortfall is written down can be + // closed by whoever reads it. + // + // The claim names the WordprocessingML reader rather than the repository: + // a "go-ooxml/ooxml exists" claim would go on saying yes after the Word + // reader had been dropped in favour of the other two. + {Tool: "word-to-pdf", Claim: "go-ooxml/ooxml#func ParseWord"}, {Tool: "markdown-to-pdf", Claim: "go-richdoc/markdown#func Parse"}, // --- the data formats, through go-richdoc/data -------------------------