PDF-export: een link van meerdere woorden wordt per woord onderstreept #1792
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#1792
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Wat is het probleem?
In de PDF-documentexport wordt een link die uit meerdere woorden bestaat woord voor woord onderstreept. De onderstreping stopt bij elke spatie en begint bij het volgende woord opnieuw. Eén link ziet er daardoor uit als een rij losse links.
Hoe te reproduceren
Verwacht gedrag
De onderstreping loopt door onder de hele linktekst, inclusief de spaties, en breekt alleen af aan een regeleinde.
Werkelijk gedrag
Waargenomen in OciDeck 0.4.10,
Beoordeling-van-de-beheersing-van-de-gehoste-technische-omgeving-van-RWM-volledig.pdf, §9 Bronnen, pagina 13 (op 220 dpi gerenderd en ingezoomd bevestigd): "Rijksoverheid, Cyberbeveiligingswet vanaf 15 augustus 2026 van kracht" heeft zeven losse onderstrepingen met zichtbare gaten op elke spatie.Ook zichtbaar in:
Incidentrapport-RWM-onjuiste-toegangsrechten-op-de-Q-schijf-volledig.pdf, pagina 10: "Autoriteit Persoonsgegevens — Datalek? Dit moet u doen";Incidentrapport-RWM-aanval-op-de-externe-werkomgeving-RDWebRD-Gateway-volledig.pdf, §20 Bronnenregister, pagina's 69–70.Vermoedelijke oorzaak
De linktekst wordt per woord als een eigen
pw.Text/span metdecoration: underlinegezet, waardoor de spatie ertussen buiten de gedecoreerde span valt. Waarschijnlijk hetzelfde pad dat deAnnotationUrlplaatst (zie #1642).Opgepakt. Tak
fix/pdf-linkonderstreping-1792. Verwacht te raken: het inline-tekstpad inlib/services/pdf/document_pdf_widgets.dartwaar een link zijn onderstreping enAnnotationUrlkrijgt, plus een regressietoets.Opgelost in
aa6d43bf2(PR #1795). De oorzaak lag niet bijpackage:pdfmaar bij de ontleder: in een tabelcel levert die de tekst van een link als één stuk per woord aan, terwijl dezelfde link in een alinea één stuk is.package:pdfvoegt de onderstreping alleen samen bij een identiek stijl- én annotatieobject, en die maakt de renderer per stuk vers. Aangrenzende stukken met gelijke opmaak worden nu in de ontleder samengevoegd, zodat elk uitvoerpad meeprofiteert.Twee doodlopende sporen, voor wie hier later komt: het lag niet aan
AnnotationUrl(één object delen per link verandert niets) en niet aan de lengte van de linktekst — een link van vier woorden viel in een tabel ook al uiteen.