aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2026-08-23 10:00:24 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2026-08-23 10:00:24 +0200
commit93f586c97a3d436d90644b95c6910a20e69237cd (patch)
treed19f839c84d9568586975a974a9b50d015c2c9fb /src
parent4c8dee7ea32cd72188643f62021d903deb84aab2 (diff)
Die Hinterlegung der Änderungen trägt allein
Die Unterstreichung der Einfügungen zerschnitt die Unterlängen der Antiqua und ließ eingefügte Wortstücke wie Verweise aussehen. Sie entfällt. Damit fällt aber die Stütze weg, auf der das Farbgerüst bei Farbfehlsichtigkeit ruhte, und diese Stütze war nicht entbehrlich: Rot gegen Grün ist gerade das Paar, das bei Protanopie und Deuteranopie zusammenfällt. Die Messung bestätigt es — der Farbabstand der beiden bisherigen Hinterlegungen betrug bei Deuteranopie ΔE = 4,8 im hellen und ΔE = 4,4 im dunklen Gerüst; sie waren dort ununterscheidbar. An die Stelle des Grüns tritt deshalb ein Blau: Blau bleibt Blau, wo Rot zu Beige wird, und ist zugleich merklich dunkler. Das neue Paar hält in allen drei Formen der Dichromasie ΔE zwischen 24 und 58 und dazu ein Helligkeitsverhältnis von 1,10 bis 1,44; der Text steht überall über 4,5 zu 1. Die Unterstreichung ausdrücklich abzustellen ist geboten: Sie steht im Stilblatt des Browsers und bliebe sonst stehen — ein Mangel, der erst der Ansicht des Erzeugnisses anzusehen war, nicht dem Quelltext. Die Durchstreichung der Streichungen bleibt; sie trägt allein den Schwarzweiß-Ausdruck. Alte und neue Fassung stehen ferner auf demselben weißen Feld. Der Durchschlag-Raster unter der alten Spalte wiederholte nur, was der Spaltenkopf ohnehin sagt, und mindert den Abstand der Hinterlegungen zum Grund. Geprüft an der erzeugten Datei und nicht am Quelltext: Für die Synopse des Bayerischen Jagdgesetzes ist im hellen, im dunklen und im Druckgerüst erhoben, dass keine der achthundertachtzig Einfügungen unterstrichen ist und beide Spalten denselben Grund tragen; dreihundertsiebenundzwanzig Testfälle bestehen, mvnw verify läuft durch. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Change-Id: Iee91db7eb8ec13b5b51d8ad140691bba084971cc
Diffstat (limited to 'src')
-rw-r--r--src/main/java/eu/mulk/aendggner/synopse/HtmlRenderer.java54
1 files changed, 30 insertions, 24 deletions
diff --git a/src/main/java/eu/mulk/aendggner/synopse/HtmlRenderer.java b/src/main/java/eu/mulk/aendggner/synopse/HtmlRenderer.java
index 6357b29..03f61eb 100644
--- a/src/main/java/eu/mulk/aendggner/synopse/HtmlRenderer.java
+++ b/src/main/java/eu/mulk/aendggner/synopse/HtmlRenderer.java
@@ -267,10 +267,15 @@ public final class HtmlRenderer {
Normen in der Antiqua. Amtskopf und Vorschrift sind zweierlei, im Gesetzblatt wie
hier.
- Schmuckfarbe gibt es nicht. Farbe trägt allein die Änderung: rot heißt weg, grün
- heißt hinzu. Damit die Aussage auch im Schwarzweiß-Ausdruck und bei
- Farbfehlsichtigkeit erhalten bleibt, tritt zur Farbe stets die Form —
- durchgestrichen gegen unterstrichen — sowie die Spalte, in der sie steht. */
+ Schmuckfarbe gibt es nicht. Farbe trägt allein die Änderung: rot heißt weg, blau
+ heißt hinzu. Rot gegen Blau und nicht das naheliegendere Rot gegen Grün, weil
+ die Hinterlegung für sich allein tragen soll: Rot und Grün sind gerade das Paar,
+ das bei Protanopie und Deuteranopie zusammenfällt — beide erscheinen als
+ dasselbe blasse Beige. Blau bleibt Blau, wo Rot zu Beige wird, und ist zugleich
+ merklich dunkler; die Hinterlegungen sind damit nach Farbort wie nach Helligkeit
+ geschieden und brauchen keine Unterstreichung als Krücke. Die Durchstreichung
+ der Streichungen bleibt gleichwohl: Sie ist beim gestrichenen Wort die übliche
+ Auszeichnung und trägt den Schwarzweiß-Ausdruck. */
:root {
color-scheme: light dark;
--fg: #000;
@@ -281,10 +286,10 @@ public final class HtmlRenderer {
--linie: #000;
--muted: #444;
--tisch: #9a9a9a;
- --del-bg: #ffd7d7;
+ --del-bg: #ffdad6;
--del-fg: #8b0000;
- --ins-bg: #d7f5d7;
- --ins-fg: #005f00;
+ --ins-bg: #a8ccff;
+ --ins-fg: #003a75;
--grotesk: Arial, "Helvetica Neue", Helvetica, system-ui, sans-serif;
--antiqua: Georgia, "Times New Roman", serif;
}
@@ -300,10 +305,10 @@ public final class HtmlRenderer {
--linie: #7a7a7a;
--muted: #a8a8a8;
--tisch: #000;
- --del-bg: #5a1f1f;
+ --del-bg: #5a2320;
--del-fg: #ffb3b3;
- --ins-bg: #1f4a1f;
- --ins-fg: #b3ffb3;
+ --ins-bg: #1b3f74;
+ --ins-fg: #b3d4ff;
}
}
* { box-sizing: border-box; }
@@ -423,9 +428,9 @@ public final class HtmlRenderer {
align-items: start;
margin-top: 0.5rem;
}
- /* Die alte Fassung liegt auf dem hellen Raster wie ein Durchschlag, die neue auf dem
- weißen Feld; beim Springen zwischen den Spalten ist damit ohne Hinsehen klar, wo man
- steht. Die Hinterlegungen der Änderungen heben sich von beiden Gründen ab. */
+ /* Beide Fassungen stehen auf demselben weißen Feld. Welche Spalte welche ist, sagt
+ der Spaltenkopf; ihn durch zweierlei Grund zu wiederholen, kostete nur den Abstand,
+ den die Hinterlegungen der Änderungen zum Grund haben. */
.vergleich > div {
padding: 0.5rem 0.6rem;
border: 1px solid var(--linie);
@@ -434,19 +439,20 @@ public final class HtmlRenderer {
font-family: var(--antiqua);
font-size: 0.875rem;
line-height: 1.45;
+ background: var(--feld);
}
- .vergleich > .alt { background: var(--tint); }
- .vergleich > .neu { background: var(--feld); }
del, .alt del {
background: var(--del-bg);
color: var(--del-fg);
text-decoration: line-through;
}
+ /* text-decoration: none ist keine Zierde, sondern nötig: Die Unterstreichung von <ins>
+ steht im Stilblatt des Browsers und bliebe sonst stehen. */
ins, .neu ins {
background: var(--ins-bg);
color: var(--ins-fg);
- text-decoration: underline;
+ text-decoration: none;
}
.leer { font-family: var(--grotesk); font-size: 0.75rem; color: var(--muted); }
@@ -531,20 +537,20 @@ public final class HtmlRenderer {
--linie: #000;
--muted: #333;
--tisch: #fff;
- --del-bg: #ffd7d7;
+ --del-bg: #ffdad6;
--del-fg: #8b0000;
- --ins-bg: #d7f5d7;
- --ins-fg: #005f00;
+ --ins-bg: #a8ccff;
+ --ins-fg: #003a75;
}
body { padding: 0; font-size: 9pt; }
.bogen { max-width: none; padding: 0; }
.spaltenkopf { position: static; }
.vergleich, section.norm { break-inside: avoid; }
- /* Ohne diese Festlegung wirft der Druck die Hinterlegung weg. Durchstreichung und
- Unterstreichung überstehen ihn ohnehin und tragen die Aussage auch dort, wo
- schwarzweiß gedruckt wird; der Raster der Stelle aber hat keine solche zweite
- Gestalt — er sagt, was gedruckt und was eingetragen ist. */
- del, ins, .badge, .entwurfshinweis, .spaltenkopf div, .vergleich > .alt,
+ /* Ohne diese Festlegung wirft der Druck die Hinterlegung weg. Die Durchstreichung
+ übersteht ihn ohnehin und trägt die Streichung auch dort, wo schwarzweiß gedruckt
+ wird; die Einfügung aber hat keine solche zweite Gestalt mehr, und der Raster der
+ Stelle hatte nie eine — er sagt, was gedruckt und was eingetragen ist. */
+ del, ins, .badge, .entwurfshinweis, .spaltenkopf div,
.vorspann dt, section.norm::before,
section.gliederung-aenderungen > h2, section.manuell > h2 {
-webkit-print-color-adjust: exact;