Files
skrift-programme/Webseite/skrift-app/public/fonts/README.md
Lucas Orth 06c4078290 Produktions-Modul, überarbeitete Preislogik und WordPress-Preisrechner
Directus
- Neues Modul „Produktion": Board mit Neu/Warteschlange/Im Druck/
  Kuvertierung/Versandfertig/Versendet/Archiv, zentraler Suche, Druck-Popup
  (Maschine, Template, Maße, Nummernbereich, Direktdruck vs. Warteschlange)
  und Empfängerliste mit Vorschau von Schriftstück und Kuvert.
- Interface-Plugins: Auftragsdateien, Drucken, Testdruck, Empfängersuche.
- Mailer-Hook für Auftrags- und Statusmails inkl. Signatur und AGB-Anhang.
- Auftrag: Empfängerzeilen inline, Produktionsstatus (inkl. storniert),
  Versanddatum, Brief-/Kuvert-Indikatoren, Insights-Dashboard.
- Absender aller Mails ist Skrift (Projektname + email_settings); die
  Angebotsanfrage nennt jetzt das angefragte Produkt.

Preislogik
- Eine gemeinsame Multiplikator-Formel; Normalpreis-Menge je Produkt
  (products.norm_qty). Alte B2B/B2C-Fallback-Felder entfernt.
- Mengenrabatt-Staffel (ab X Stück Y %) in den Preis-Einstellungen.
- Preis pro Stück ohne einmalige Kosten (unit_net_total).
- Einzelversand rechnet Kuvert und Beschriftung nicht mehr doppelt.
- Fehlerhafte Grundpreis-Formel legt die Preisauskunft nicht mehr lahm.
- Briefnummern 1-basiert: Dateiname entspricht der Briefnummer.

app.skrift.de
- Direktlinks für Muster, Unterschriftenservice und Follow-ups; Muster als
  eigene Seite, Kontaktprodukte direkt im Anfrageformular.
- Mehrere Adressen in den Stammdaten plus Adressauswahl im Konfigurator.
- Verbotene Zeichen werden bei der Eingabe entfernt und gemeldet.
- Zeilenüberlauf als Fehlerkasten vor „Weiter"; Mengenfeld leerbar,
  Standardmenge 100; Checkout-Checkboxen im Kartenstil.

Produktion
- skrift-agent: Poll-Modell je Maschine, Maß-Übersteuerung, Nummernfilter
  und automatischer Übergang in die Kuvertierung.

WordPress
- Neues Plugin „Skrift Preisrechner": Shortcodes inkl./exkl. MwSt,
  stündlicher Abgleich der Preisdaten in WordPress und ein sicherer
  Formel-Interpreter, damit Formeländerungen automatisch greifen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 13:24:12 +02:00

42 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Schriften (lokal, DSGVO-konform)
Work Sans wird **lokal** ausgeliefert. Es darf **keine** Anfrage an
`fonts.googleapis.com` oder `fonts.gstatic.com` gehen – sonst fließt die
IP-Adresse des Besuchers ohne Einwilligung an Google.
## Benötigte Datei
Wir nutzen die **Variable Font** – eine Datei deckt alle Gewichte (100–900) ab.
Abgelegt wird sie in diesem Ordner unter einem dieser Namen:
```
work-sans-variable.woff2 ← bevorzugt (klein)
WorkSans-VariableFont_wght.ttf ← Rückfall (funktioniert, aber groß)
```
Beide sind in `src/styles/global.css` als `@font-face` hinterlegt; der Browser
nimmt automatisch die erste verfügbare.
## Empfohlen: TTF nach woff2 umwandeln
Die Original-TTF von Google ist mehrere hundert KB, als woff2 bleiben davon
meist unter 100 KB übrig – bei gleicher Qualität. Einmalig:
```bash
pip install fonttools brotli
fonttools ttLib.woff2 compress WorkSans-VariableFont_wght.ttf
# Ergebnis umbenennen zu: work-sans-variable.woff2
```
Wer kein Python möchte, kann die woff2-Variante auch direkt beziehen:
<https://gwfh.mranftl.com/fonts/work-sans> (Charsets `latin` + `latin-ext`).
Work Sans steht unter der SIL Open Font License 1.1 – freie Nutzung, auch
kommerziell.
## Prüfen
Nach dem Start in den DevTools unter *Netzwerk* filtern: Es darf **kein**
Request an eine Google-Domain auftauchen. Die Schrift kommt von
`/fonts/work-sans-*`.