diff --git a/Docker Backend/src/lib/svg-font-engine.js b/Docker Backend/src/lib/svg-font-engine.js index 0ae2362..d523572 100644 --- a/Docker Backend/src/lib/svg-font-engine.js +++ b/Docker Backend/src/lib/svg-font-engine.js @@ -174,15 +174,15 @@ function layoutTextToPaths({ for (const line of lines) { let x = startX; let drift = 0; - const lineSlope = (Math.random() - 0.5) * 0.012; // ±2.4px über 400px Zeilenbreite + const lineSlope = (Math.random() - 0.5) * 0.01; // ±4px über 400px Zeilenbreite (~0.6°) for (let i = 0; i < line.length; i++) { const ch = line[i]; const glyph = glyphs[ch]; if (!glyph) { - // Leerzeichen mit festem Abstand - const spacePx = fontSizePx * 0.4; + // Leerzeichen mit leicht variierender Breite + const spacePx = fontSizePx * 0.4 * (1 + (Math.random() - 0.5) * 0.08); x += spacePx; drift += (Math.random() - 0.5) * 0.3; drift = Math.max(-3, Math.min(3, drift)); @@ -198,11 +198,13 @@ function layoutTextToPaths({ const charY = baselineY + yJitter + drift + lineSlope * (x - startX); - const angleDeg = (Math.random() - 0.5) * 3; + const charScale = scale; + + const angleDeg = 5 + (Math.random() - 0.5) * 2; // 4–6° Neigung nach rechts const pivotX = x + advPx / 2; const pivotY = charY - fontSizePx * 0.3; - const transform = `rotate(${angleDeg.toFixed(3)},${pivotX.toFixed(1)},${pivotY.toFixed(1)}) matrix(${scale},0,0,${-scale},${x},${charY})`; + const transform = `rotate(${angleDeg.toFixed(3)},${pivotX.toFixed(1)},${pivotY.toFixed(1)}) matrix(${charScale},0,0,${-charScale},${x},${charY})`; resultPaths.push({ d, transform });