feat(pdf): de export zegt het wanneer een tabel niet op het blad past (#1789) #1797

Merged
brenno merged 1 commit from fix/tabelwaarschuwing-1789 into main 2026-08-26 14:56:13 +00:00
Owner

Waarom

Het restpunt van #1789. De letter van een tabel krimpt sinds #1795 tot elke kolom haar langste woord draagt, maar onder minTableFontScale houdt dat op — daar wordt een tabel eerder onleesbaar dan behulpzaam. Een tabel die dáár nog te breed is krijgt zijn waarden alsnog middenin doorgehakt.

Bij een hash of IP-adres is dat geen schoonheidsfout maar verlies: de lezer kan de waarde niet meer overnemen of vergelijken, en juist daarvoor staat hij er. Wat er dan nog te doen valt is het zeggen.

Wat er is gebouwd

pdfTablesThatCannotFit loopt de blokken langs (ook door lijstpunten heen) en meldt de tabellen die op de ondergrens blijven steken. De export telt ze en meldt ze na afloop, langs dezelfde route als een ontbrekend teken of een te grof logo: een terugroep vanuit de renderer, een teller op DocumentPdfResult, een zin in de schil.

De melding noemt de schade én de twee vormen die wél passen — "maak de tabel smaller" is geen handeling die iemand kan uitvoeren.

Een afslag die ik heb laten liggen

De eerste opzet was een kwaliteitsregel in slide_quality_analyzer, met een nieuwe SlideQualityIssueKind. Die laag kent het paginaformaat niet en had dus op een A4-aanname moeten rekenen — ernaast zodra iemand liggend of op A3 zet. De exportroute is zowel korter als nauwkeuriger, want daar is de bladbreedte een gemeten waarde.

Toetsen

Drie op de detectie (gewone tabel wordt niet gemeld, SHA-512 naast SHA-256 wel, een tabel in een lijstpunt telt mee), twee op de melding (enkelvoud/meervoud, en dat hij schade én handeling noemt), en een bronpoort dat het bewerkscherm de terugroep werkelijk doorgeeft — een melding die de dienst wél vuurt maar de schil niet doorgeeft bereikt niemand.

Toetsplan

  • make check groen (MAKE_CHECK_EXIT=0, nul fouten in het log)
  • make l10n-check groen — 4 strings x 31 talen via make add-l10n
  • make check-secrets en make sast — 0 bevindingen
## Waarom Het restpunt van #1789. De letter van een tabel krimpt sinds #1795 tot elke kolom haar langste woord draagt, maar onder `minTableFontScale` houdt dat op — daar wordt een tabel eerder onleesbaar dan behulpzaam. Een tabel die dáár nog te breed is krijgt zijn waarden alsnog middenin doorgehakt. Bij een hash of IP-adres is dat geen schoonheidsfout maar verlies: de lezer kan de waarde niet meer overnemen of vergelijken, en juist daarvoor staat hij er. Wat er dan nog te doen valt is het zeggen. ## Wat er is gebouwd `pdfTablesThatCannotFit` loopt de blokken langs (ook door lijstpunten heen) en meldt de tabellen die op de ondergrens blijven steken. De export telt ze en meldt ze na afloop, langs dezelfde route als een ontbrekend teken of een te grof logo: een terugroep vanuit de renderer, een teller op `DocumentPdfResult`, een zin in de schil. De melding noemt de schade én de twee vormen die wél passen — "maak de tabel smaller" is geen handeling die iemand kan uitvoeren. ## Een afslag die ik heb laten liggen De eerste opzet was een kwaliteitsregel in `slide_quality_analyzer`, met een nieuwe `SlideQualityIssueKind`. Die laag kent het paginaformaat niet en had dus op een A4-aanname moeten rekenen — ernaast zodra iemand liggend of op A3 zet. De exportroute is zowel korter als nauwkeuriger, want daar is de bladbreedte een gemeten waarde. ## Toetsen Drie op de detectie (gewone tabel wordt niet gemeld, SHA-512 naast SHA-256 wel, een tabel in een lijstpunt telt mee), twee op de melding (enkelvoud/meervoud, en dat hij schade én handeling noemt), en een bronpoort dat het bewerkscherm de terugroep werkelijk doorgeeft — een melding die de dienst wél vuurt maar de schil niet doorgeeft bereikt niemand. ## Toetsplan - [x] `make check` groen (`MAKE_CHECK_EXIT=0`, nul fouten in het log) - [x] `make l10n-check` groen — 4 strings x 31 talen via `make add-l10n` - [x] `make check-secrets` en `make sast` — 0 bevindingen
feat(pdf): de export zegt het wanneer een tabel niet op het blad past (#1789)
All checks were successful
scans / scans (pull_request) Successful in 2m1s
static-gate / static-gate (pull_request) Successful in 4m56s
e31234e47e
De letter van een tabel krimpt sinds #1795 tot elke kolom haar langste woord
draagt, maar niet onbeperkt: onder de ondergrens wordt een tabel eerder
onleesbaar dan behulpzaam. Een tabel die dáár nog te breed is — een SHA-512 van
128 tekens is breder dan een A4 ooit kan zijn — krijgt zijn waarden alsnog
middenin doorgehakt.

Bij een hash of IP-adres is dat geen schoonheidsfout maar verlies: de lezer kan
de waarde niet meer overnemen of vergelijken, en juist daarvoor staat hij er.
Wat er dan nog te doen valt is het zéggen.

De export telt zulke tabellen en meldt ze na afloop, langs dezelfde route als
een ontbrekend teken of een te grof logo — een terugroep vanuit de renderer,
een teller op `DocumentPdfResult`, een zin in de schil. De melding noemt de
schade én de twee vormen die wél passen, want "maak de tabel smaller" is geen
handeling die iemand kan uitvoeren.

Gemeten met de échte bladbreedte tijdens de export en niet met een A4-aanname
in het kwaliteitspaneel: die laag kent het paginaformaat niet en zou ernaast
zitten zodra iemand liggend of op A3 zet. Dat was de eerste opzet; de
exportroute bleek zowel korter als nauwkeuriger.

Vier nieuwe interfaceteksten, in 31 talen gezet via `make add-l10n`.
brenno merged commit 86452abf98 into main 2026-08-26 14:56:13 +00:00
Sign in to join this conversation.
No description provided.