aboutsummaryrefslogtreecommitdiff
path: root/FASSUNGEN.txt
diff options
context:
space:
mode:
Diffstat (limited to 'FASSUNGEN.txt')
-rw-r--r--FASSUNGEN.txt52
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.