Een teveel aan escape in acht diagrammen
Over de inhoud en de controle ervan
In dit artikel
Een tijdlang toonden acht berichten op deze blog de zeven tekens — midden in een zin, binnen de diagrammen. Geen streepje. De letterlijke tekst. Het is inmiddels in elke taal hersteld.
81 regels, 91 keer. In het proza van diezelfde acht berichten: geen enkele keer.
Eén escape te veel
De diagrammen zijn inline SVG, in de tekst van het artikel geschreven. Een bijschrift dat een streepje wil, draagt —, en de browser maakt er een van, precies zoals in een alinea.
Wat er echter bewaard was, was —. De browser maakte daar plichtsgetrouw de zeven tekens van die een entiteit spellen en tekende ze. Het proza bleef ongemoeid omdat het proza nooit door datgene ging dat de extra escape toevoegde; alleen de bijschriften gingen dat, en alleen in de berichten waarvan de bijschriften in die tijd gebouwd werden.
De oorzaak is klein en saai. Het deel dat het opschrijven waard is, is waarom het zo lang in het volle zicht stond, en wat er een eind aan maakte.
De controle zag het en zei iets anders
Er is een controle die meet of een diagrambijschrift in zijn plaatje past. Die had deze bijschriften dagenlang gemeld — als te breed.
Wat ze ook waren. Een bijschrift dat zeven tekens tekent in plaats van één, is ongeveer vijfenveertig pixels breder dan bedoeld, dus de meting klopte en de melding klopte. De conclusie die een lezer van die melding zou trekken, klopte niet. Het getal zei dat de geometrie te krap was. De waarheid was dat de tekst niet was wat hij leek.
Zo zit het in elkaar. Een controle beantwoordt de vraag die haar gesteld is, en ze kan niet melden dat de vraag de verkeerde was. Er is hier niets verkeerd gemeten; de meting ging eenvoudigweg over een ander probleem dan het probleem waar ze op leek.
Wat het vond
Eén diagram tekenen en ernaar kijken. Chromium zonder venster, één schermafbeelding, tien seconden. De entiteit stond in de derde regel van het plaatje in letters van dezelfde grootte als al het andere.
De reparatie was een migratie die & door & verving voor een vaste lijst entiteitsnamen, en alleen binnen <svg class="dg">-blokken, zodat een ampersand die als ampersand bedoeld was er een bleef. Alles buiten die lijst is gemeld en met rust gelaten in plaats van geraden. Alle 81 regels zijn in elke taal hersteld; de enige keren dat het nog in de blog staat, zijn de citaten in dit bericht, met opzet.
Wat in het algemeen geldt
Elke automatische controle in dit project meet iets numerieks, want getallen zijn wat een programma kan vergelijken. Geen ervan kan zien dat een plaatje onzin is geworden, dat een vak leeg is, of dat een woord uitgeschreven staat waar een teken hoort.
De regel die eruit voortkwam, is dus kort: kijk na elke wijziging aan een diagram er één na, in de taal die de meeste ruimte nodig heeft. Dat heeft inmiddels twee dingen gevangen die geen enkele meting kon — dit, en een leeg vak dat achterbleef toen er een onderschrift uit gehaald werd.