Windows-Unterstützung: .bat-Skripte, Font-Werkzeuge in Python

- libs/glyphextract.py ersetzt die grep/sed/bc-Logik von extract-glyph.sh,
  extract-font.sh und fonttest.sh (die .sh rufen es nur noch auf);
  schreibt FONTNAME= und <font>.cfg nach $PICCREATE_OUT
- bin/*.bat: setenv, piccreate, svgconvert, webscan, extract-glyph,
  extract-font, fonttest, setup-venv; .gitattributes für CRLF
- piccreate.py: Hintergrund als file:// URL (Windows-Pfade)
- svgconvert.py: magick statt convert, Configs/CSV als UTF-8
- webscan.py: Installationshinweise für Windows
- doc/README.md: Abschnitt Windows, Font-Werkzeuge aktualisiert

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Michael Stangl
2026-10-09 09:29:02 +02:00
co-authored by Claude Opus 5.5
parent 4897883938
commit 29c066b45a
18 changed files with 471 additions and 209 deletions
+42 -8
View File
@@ -19,17 +19,20 @@ Die Punkte werden über das ganze Wort fortlaufend nummeriert (1–32).
## Voraussetzungen
- Python 3 (für `piccreate.py` und `svgconvert.py` keine weiteren Pakete nötig)
- ImageMagick (`convert`) für die Umwandlung SVG → JPG/PNG mit `svgconvert.py`
- `bash`, `bc`, `sed`, `grep` für die Font-Werkzeuge in `bin/`
- Python 3 (für `piccreate.py`, `svgconvert.py` und `glyphextract.py` keine
weiteren Pakete nötig)
- ImageMagick (`magick`, ältere Versionen `convert`) für die Umwandlung
SVG → JPG/PNG mit `svgconvert.py`
- nur für Webseiten-Vorschauen (`webscan`): Playwright, siehe unten
Alles läuft unter Linux und Windows, siehe [Windows](#windows).
## Verzeichnisse
| Verzeichnis | Inhalt |
|----------------|-----------------------------------------------------------|
| `bin/` | Shell-Skripte (Aufruf, Umgebung, Font-Extraktion) |
| `libs/` | Python-Programme `piccreate.py`, `svgconvert.py`, `webscan.py` |
| `bin/` | Startskripte: `.sh` für Linux, `.bat` für Windows |
| `libs/` | Python-Programme `piccreate.py`, `svgconvert.py`, `webscan.py`, `glyphextract.py` |
| `cfg/` | Auftrags-Konfigurationen (`*.cfg`) |
| `in/` | Eingabedateien (`*.csv`) und Rohglyphen für neue Fonts |
| `out/` | Ausgabe der erzeugten Bilder |
@@ -240,9 +243,40 @@ Neue Fonts entstehen aus in Inkscape gezeichneten Glyphen (Punkte als Kreise,
Nummern als Text `x1`, `x2`, …):
```sh
./extract-font.sh ausgangsschrift # Glyphen aus in/ausgangsschrift/ extrahieren
./extract-font.sh ausgangsschrift # Glyphen + ausgangsschrift.cfg erzeugen
./fonttest.sh ausgangsschrift # Testbilder der einzelnen Glyphen erzeugen
./extract-glyph.sh -i ../in/ausgangsschrift/a.svg -e # nur ein Buchstabe
```
Das Ergebnis (Glyph-SVGs und `.cfg`) wird anschließend nach `fonts/<name>/`
übernommen.
Alle drei rufen `libs/glyphextract.py` auf (`-f`, `-t` bzw. `-i [-e]`) und
schreiben nach `$PICCREATE_OUT` (oder `-o <ordner>`). Das Ergebnis
(Glyph-SVGs und `<name>.cfg`) wird anschließend nach `fonts/<name>/`
übernommen. Werte wie `XSTEP` kann man danach in der `.cfg` noch von Hand
anpassen.
## Windows
Für jedes Shell-Skript in `bin/` gibt es eine `.bat`-Datei mit denselben
Optionen: `piccreate.bat`, `svgconvert.bat`, `webscan.bat`,
`extract-glyph.bat`, `extract-font.bat`, `fonttest.bat`, `setup-venv.bat`.
`setenv.bat` setzt die Umgebung; das Projektverzeichnis ermittelt es selbst
(das Verzeichnis über `bin\`), ein fester Pfad ist nicht nötig.
Einrichten:
1. Python 3 installieren (https://www.python.org oder
`winget install Python.Python.3.13`)
2. ImageMagick installieren (https://imagemagick.org), nur für `svgconvert`
3. nur für `webscan`: `bin\setup-venv.bat` ausführen (legt `.venv` an und
installiert Playwright mit Chromium)
Beispiel:
```bat
cd bin
piccreate.bat -c punkteraetsel -i test
svgconvert.bat -c punkteraetsel.cfg --format png -p
```
Die `.bat`-Dateien nehmen das Python aus `.venv`, falls vorhanden, sonst den
Python Launcher `py` oder `python` aus dem `PATH`.