diff options
Diffstat (limited to 'FASSUNGEN.txt')
| -rw-r--r-- | FASSUNGEN.txt | 52 |
1 files changed, 25 insertions, 27 deletions
diff --git a/FASSUNGEN.txt b/FASSUNGEN.txt index c8e4d19..d3195bb 100644 --- a/FASSUNGEN.txt +++ b/FASSUNGEN.txt @@ -25,14 +25,14 @@ Vorbemerkung zur Führung dieses Verzeichnisses zuletzt geändert durch die am 17. Juli 2026 vorgenommenen Änderungen ════════════════════════════════════════════════════════════════════════════════ -Auf Grund eines gemeldeten Wiedergabefehlers wird die Zusammenzugsheuristik des -Textbereinigers für markerlose Zeilenumbrüche um ein Spaltenbreiten-Kriterium -ergänzt; ferner wird die Neufassungs-Anweisung ohne Stellenbereich an die bereits -bestehende Zitat-Normalisierung angeschlossen. +Auf Grund eines gemeldeten Wiedergabefehlers wird der Textbereiniger um eine +geometrische Zeilenend-Klassifikation auf Basis von PDFBox-Koordinaten ergänzt; +ferner wird die Strukturierung hängend eingerückter Definitionslisten (z.B. im +UWG-Anhang) sowohl im PDF-Extraktor als auch im XML-Flattener vereinheitlicht. Artikel 1 -Spaltenbreiten-Kriterium für markerlose Zeilenumbruch-Zusammenzüge +Geometrische Spaltenbreiten-Klassifikation für markerlose Zeilenumbrüche Der Textbereiniger (TextBereiniger.verbindeUmbrueche) zog eine Zeile, die ohne Leerraum am Ende mit einem Buchstaben schließt und deren Folgezeile klein @@ -40,37 +40,35 @@ beginnt, bislang stets ohne Trennzeichen mit der Folgezeile zusammen, in der Annahme, es handle sich um eine bei der PDF-Extraktion um den Bindestrich gebrachte Silbentrennung. Diese Annahme trifft auf einen bewussten Wortgrenzen- Umbruch (etwa das Stichwort einer hängend eingerückten Definition, wie er im -Anhang zum UWG vorkommt) nicht zu und führte dort zu verklebten Wörtern ohne -jedes Leerzeichen. Die Heuristik (TextBereiniger.endetMarkerlos, -.typischeZeilenlaenge) wird deshalb um ein Spaltenbreiten-Kriterium ergänzt: Der -Zusammenzug unterbleibt, wenn die Zeile deutlich kürzer ist als die in ihrem -Umfeld übliche Zeilenlänge (neunzig vom Hundert-Perzentil eines Fensters von -zwanzig Zeilen davor und danach), da ein automatischer Umbruch stets nahe der -Spaltenbreite erfolgt und ein deutlich kürzeres Zeilenende mithin nicht auf eine -Silbentrennung, sondern auf einen gewollten Umbruch schließen lässt. Das Fenster -wird bewusst lokal statt dokumentweit bemessen, da ein und dasselbe Schriftstück -Abschnitte unterschiedlicher Spaltenbreite mischen kann (etwa Regelungstext und -Begründung eines Entwurfs). +Anhang zum UWG vorkommt) nicht zu. Zur Behebung bestimmt der PDF-Vorverarbeiter +(FontgroessenFilter) das geometrische End-X der Zeilenläufe und klassifiziert +die Zeilenenden anhand des lokalen rechten Randes (90. Perzentil in einem +Fenster von 20 Zeilen davor/danach) in weiche (am Rand endende), harte (deutlich +davor endende) oder unklassifizierte Umbrüche. Der Textbereiniger zieht nur noch +geometrisch weiche oder (in Ermangelung von Geometriedaten als Rückfalloption) +zeichenzahlnäherungsweise am Rand liegende markerlose Umbrüche zusammen. Harte +Umbrüche bleiben als gewollte Wortgrenzen-Umbrüche erhalten. Artikel 2 -Zitat-Normalisierung bei der stellenlosen Neufassung +Strukturierung und Normalisierung hängend eingerückter Definitionslisten -Der Befehlsanwender (BefehlAnwender.wendeNeufassungAn) übernahm den Zitatinhalt -bei der Neufassung eines Satzes, einer Nummer oder eines Buchstabens bislang -ungefiltert, während die übrigen mit Zitattext arbeitenden Anwendungsfälle ihn -durchweg der Normalisierung (normalisiereZitatText) unterziehen, welche -eingestreute Zeilenumbrüche zu einem Leerzeichen faltet. Damit ein durch -Artikel 1 nunmehr häufiger erhaltener Zeilenumbruch nicht unnormalisiert bis in -die Synopse durchschlägt und dort als unerwünschter Zeilenumbruch innerhalb -eines Satzes in Erscheinung tritt, wird auch dieser Anwendungsfall der -Normalisierung unterworfen. +Damit die nunmehr erhaltenen hängenden Zeilenenden in Definitionslisten (wie +beim UWG-Anhang) korrekt strukturiert werden: +1. Der Befehlsanwender (BefehlAnwender.normalisiereZitatText) unterwirft nunmehr + auch die stellenlose Neufassung (z.B. eines Satzes) der Zitat-Normalisierung + und rückt fortlaufende Zeilen innerhalb eines Aufzählungspunktes tiefer + (vier Leerzeichen) ein als den Aufzählungspunkt selbst (zwei Leerzeichen). +2. Der XML-Flattener (ContentFlattener) trennt mehrere <LA>-Geschwister innerhalb + eines <DD>-Elements durch Zeilenumbrüche und rückt sie tiefer ein. +Beide Wege erzeugen dieselbe kanonische Zeilenform, welche für die korrekte +Erkennung von Kindzeilen durch die Stellenauflösung erforderlich ist. Schlussbestimmung Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (einhun- -dertfünfundsiebzig an der Zahl) sowie durch die vollständige Erstellung (mvnw +dertvierundsiebzig an der Zahl) sowie durch die vollständige Erstellung (mvnw verify) bestätigt worden. Anlass war ein anhand der UWG-Novelle 2026 gemeldeter Wiedergabefehler; die Behebung wurde anhand der Beispieldaten (UWG-Anhang, Nummern 2a sowie 4a bis 4c) verifiziert. |
