A6 quer: Bahnbreite auf 5 Zeichen je Reihe

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 <noreply@anthropic.com>
This commit is contained in:
s4luorth
2026-09-24 11:00:46 +02:00
parent 45e69c0c3a
commit aaa97edc16
2 changed files with 3 additions and 3 deletions

View File

@@ -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) {
// <g>…</g>-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)}"`);