From 65eff08b32a0f00ff0f5e4bda3fe5793f631ed64 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Sat, 18 Jul 2026 12:24:32 +0200 Subject: =?UTF-8?q?Support=20Bavarian=20state=20law=20(BayJG)=20with=20Art?= =?UTF-8?q?./=C2=A7=20inversion=20and=20superscripts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extend ÄndGgner from federal-only to Bavarian state law. Bavarian base laws are structured in Artikel while their amending acts are structured in Paragraphen (inverted from the Bund); official sentence numbers and footnote markers are carried as Unicode superscripts (¹²³, ⁶)). - Generalise Stelle.Paragraph to carry a sigil ("§" or "Art.") and route it through recogniser, applier and resolver (bit-identical Bund output). - Superscript pipeline: geometric detection in FontgroessenFilter (SuperskriptModus BEHALTEN), Superskript util, exact sentence splitting in SatzTeiler, label-based sentence resolution. - BayRechtLoader/BayRechtTextParser for gesetze-bayern.de PDF/plaintext. - §-structured amending acts, GVBl/Landtag column titles, non-breaking spaces, the GVBl continuation quote; Bavarian command forms (footnote aufhebung, Satznummerierung streichung, Wortlaut forms, Halbsatz, gapping chains). Acceptance (EndToEndTest.bayJgGvblAcceptance): the pre-2026 BayJG fassung (BayJG-alt.txt, reconstructed from Wayback single-article snapshots) with GVBl 6/2026 §§ 1-2 applied — 154 commands, 0 unknown, 149 applied automatically, 5 pinned residuals (follow-up edits inside two multi-step renumbering sequences in Art. 29a and Art. 56). Application-side fixes surfaced by the acceptance run (all Bund-safe): sentence-start superscript before §; sentence boundaries = {0} ∪ {each number ≥ 2}; gapping scope inheritance for bare word operations; footnote definition lines hidden from word operations; absatz aufhebung marks "(weggefallen)" keeping its number, and absatz renumbering overwrites an empty placeholder (weggefallen/gegenstandslos) target. 211 tests green (mvnw verify); federal reference numbers unchanged. Co-Authored-By: Claude Opus 4.8 Change-Id: Iebae4c17ca90755c5fd36251362042f3d5796fd0 --- src/main/resources/sampledata/BayJG/SOURCES | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/main/resources/sampledata/BayJG/SOURCES') diff --git a/src/main/resources/sampledata/BayJG/SOURCES b/src/main/resources/sampledata/BayJG/SOURCES index cff1afe..964ecc4 100644 --- a/src/main/resources/sampledata/BayJG/SOURCES +++ b/src/main/resources/sampledata/BayJG/SOURCES @@ -2,6 +2,16 @@ Stammgesetz (Landesrecht Bayern): - Bayerisches Jagdgesetz (BayJG) vom 13. Oktober 1978 (BayRS 792-1-W) - https://www.gesetze-bayern.de/Content/Document/BayJG (BayJG.pdf, konsolidierte Fassung nach dem Änderungsgesetz) +- BayJG-alt.txt: die vor dem Änderungsgesetz geltende Fassung (Stand + nach der Änderung vom 23.07.2024, GVBl. S. 247) im kanonischen + Klartext-Format des BayRechtLoaders. Abgeleitet am 17.07.2026 aus den + in der Wayback Machine archivierten Einzelnorm-Seiten + http://web.archive.org/web//https://www.gesetze-bayern.de/Content/Document/BayJG- + (je Artikel der jüngste Schnappschuss vor dem 31.03.2026; + -Satznummern und Fußnotenmarker als Unicode-Superskripte, + Aufzählungen in gii-üblicher Einrückung, Gliederungs-Überschriften aus + den BayJG-G-Abschnittsseiten). Basis des Akzeptanztests + EndToEndTest.bayJgGvblAcceptance. Änderungsgesetz: - Gesetz zur Änderung des Bayerischen Jagdgesetzes und weiterer -- cgit v1.2.1