From aaa97edc16c5fd11591fa2a3a1aafabf0c86dd76 Mon Sep 17 00:00:00 2001 From: s4luorth Date: Thu, 24 Sep 2026 11:00:46 +0200 Subject: [PATCH] A6 quer: Bahnbreite auf 5 Zeichen je Reihe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Default proReihe/group von 10 auf 5 gesenkt (kleinere Bahnen → noch weniger Rollenweg). Weiterhin über ?group=N übersteuerbar. Co-Authored-By: Claude Opus 4.8 --- extensions/directus-extension-skrift-orders/dist/index.js | 4 ++-- extensions/directus-extension-skrift-produktion/dist/index.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/directus-extension-skrift-orders/dist/index.js b/extensions/directus-extension-skrift-orders/dist/index.js index 2f3b2b9..fa5ebfb 100644 --- a/extensions/directus-extension-skrift-orders/dist/index.js +++ b/extensions/directus-extension-skrift-orders/dist/index.js @@ -1100,7 +1100,7 @@ const handler = (router, { services, getSchema, logger }) => { // behalten ihre Position. Das sichtbare Ergebnis ist identisch – nur die // Druckreihenfolge ändert sich, sodass der rollengeführte Plotter monoton in // Vorschubrichtung fährt statt je Zeile die Rolle zurückzuspulen (A6 quer). - function svgSpaltenweise(svg, proReihe = 10) { + function svgSpaltenweise(svg, proReihe = 5) { // …-Blöcke (z. B. eingebettete Signaturen) als Ganzes schützen – deren // innere Pfade dürfen NICHT umsortiert werden (sie hängen an einem eigenen // Gruppen-Transform). Signaturen stehen hinter dem Text, daher greedy bis zum @@ -1160,7 +1160,7 @@ const handler = (router, { services, getSchema, logger }) => { // Optional: SVG spaltenweise umsortieren (rollenschonend, A6 quer). if (ziel.endsWith('.svg') && String(req.query.reorder || '') === 'column') { try { - const proReihe = Math.max(1, Math.min(100, parseInt(req.query.group, 10) || 10)); + const proReihe = Math.max(1, Math.min(100, parseInt(req.query.group, 10) || 5)); const umsortiert = svgSpaltenweise(fs.readFileSync(ziel, 'utf8'), proReihe); res.setHeader('Content-Type', 'image/svg+xml'); res.setHeader('Content-Disposition', `attachment; filename="${path.basename(ziel)}"`); diff --git a/extensions/directus-extension-skrift-produktion/dist/index.js b/extensions/directus-extension-skrift-produktion/dist/index.js index 775546f..1293a0e 100644 --- a/extensions/directus-extension-skrift-produktion/dist/index.js +++ b/extensions/directus-extension-skrift-produktion/dist/index.js @@ -1486,7 +1486,7 @@ const Board = defineComponent({ h('input', { type: 'checkbox', checked: druck.spaltenweise, onChange: (e) => { druck.spaltenweise = e.target.checked; }, style: 'width:18px;height:18px;' }), h('span', { style: 'font-weight:600;' }, 'Rollenschonend drucken (spaltenweise)'), ]), - subdued('Für A6 quer: es werden ~10 Zeichen je Reihe geschrieben, dann in derselben Bahn eine Zeile tiefer, erst danach die nächste Spalte. So spult die Rolle nur eine Bahnbreite zurück statt je Zeile die ganze Zeile. Sichtbares Ergebnis bleibt gleich – nur Schriftstücke, nicht Kuverts.', 'margin-top:6px;'), + subdued('Für A6 quer: es werden ~5 Zeichen je Reihe geschrieben, dann in derselben Bahn eine Zeile tiefer, erst danach die nächste Spalte. So spult die Rolle nur eine Bahnbreite zurück statt je Zeile die ganze Zeile. Sichtbares Ergebnis bleibt gleich – nur Schriftstücke, nicht Kuverts.', 'margin-top:6px;'), ]) : null, h('div', { style: 'margin:12px 0 4px;' }, [ segToggle(busy ? 'queue' : druck.mode, [