Optionsschalter vereinheitlicht, .sh-Skripte von überall aufrufbar
- gleiche Aufgabe = gleicher Schalter in allen Programmen: -c/--config (Alias --cfg), -i, -o/--outdir, --section, --format, -f/--force, -j, -t/--test, -y/--dry, -v - svgconvert: -o statt -s (Alias --svgfolder), --section statt --format für die Sektion (Standard png), --format überschreibt das Bildformat - webscan: --timeout und --browser nur noch lang (kollidierten mit -t/-b) - glyphextract: -i nimmt Glyph oder Font, -e extrahiert (statt -f/-t) - setenv.sh ermittelt das Projektverzeichnis selbst, alle .sh laden es relativ zum Skript; extract-font/fonttest reichen weitere Optionen durch - Hilfetexte korrigiert, doc/README.md: Abschnitt "Gemeinsame Optionen" Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
28f2bcdb32
commit
6bdaa62a7d
+52
-14
@@ -43,14 +43,37 @@ Alles läuft unter Linux und Windows, siehe [Windows](#windows).
|
||||
|
||||
Alle Pfade werden über Umgebungsvariablen gefunden, die `bin/setenv.sh` setzt
|
||||
(`PICCREATE`, `PICCREATE_CFG`, `PICCREATE_IN`, `PICCREATE_OUT`,
|
||||
`PICCREATE_FONTS`, `PICCREATE_BACKGROUNDS`, …). Der Installationspfad steht
|
||||
dort fest auf `~/develop/python/piccreate`.
|
||||
`PICCREATE_FONTS`, `PICCREATE_BACKGROUNDS`, …). Das Projektverzeichnis ermittelt
|
||||
`setenv.sh` selbst (das Verzeichnis über `bin/`), die Skripte in `bin/` lassen
|
||||
sich deshalb von überall aufrufen. Nur wer die Variablen in der eigenen Shell
|
||||
braucht, lädt `setenv.sh` selbst (bash oder zsh):
|
||||
|
||||
```sh
|
||||
cd bin
|
||||
. ./setenv.sh
|
||||
```
|
||||
|
||||
## Gemeinsame Optionen
|
||||
|
||||
Alle Programme benutzen für dieselbe Aufgabe denselben Schalter:
|
||||
|
||||
| Option | Bedeutung | piccreate | svgconvert | webscan | glyphextract |
|
||||
|---------------------|----------------------------------------------------|:-:|:-:|:-:|:-:|
|
||||
| `-c`, `--config` | Konfiguration aus `cfg/` (Endung `.cfg` optional) | ✓ | ✓ | ✓ | |
|
||||
| `-i`, `--infile` | Eingabe (CSV, URL-Liste, Glyph oder Font) | ✓ | ✓ | ✓ | ✓ |
|
||||
| `-o`, `--outdir` | Ordner für die erzeugten Bilder (Standard `$PICCREATE_OUT`) | ✓ | ✓ | ✓ | ✓ |
|
||||
| `--section` | Sektion der Konfiguration mit den Bildmaßen | | ✓ | ✓ | |
|
||||
| `--format` | Bildformat `jpg` oder `png` (überschreibt die Konfiguration) | | ✓ | ✓ | |
|
||||
| `-f`, `--force` | vorhandene Bilder überschreiben | | ✓ | ✓ | |
|
||||
| `-j`, `--jobs` | Anzahl paralleler Jobs | | ✓ | ✓ | |
|
||||
| `-t`, `--test` | Testbilder erzeugen | | ✓ | | |
|
||||
| `-y`, `--dry` | Probelauf, keine Dateien schreiben | ✓ | ✓ | | |
|
||||
| `-v`, `--verbose` | ausführliche Ausgabe | | ✓ | ✓ | |
|
||||
| `-h`, `--help` | Hilfe | ✓ | ✓ | ✓ | ✓ |
|
||||
|
||||
Ältere Namen funktionieren weiter: `--cfg` für `--config` und bei svgconvert
|
||||
`--svgfolder` für `--outdir`.
|
||||
|
||||
## Bilder erzeugen
|
||||
|
||||
```sh
|
||||
@@ -59,7 +82,7 @@ cd bin
|
||||
|
||||
| Option | Bedeutung |
|
||||
|-------------------|------------------------------------------------------------|
|
||||
| `-c`, `--cfg` | Konfiguration aus `cfg/` (Endung `.cfg` optional) |
|
||||
| `-c`, `--config` | Konfiguration aus `cfg/` (Endung `.cfg` optional) |
|
||||
| `-i`, `--infile` | CSV-Datei aus `in/` (Endung `.csv` optional) |
|
||||
| `-o`, `--outdir` | Ausgabeverzeichnis (Standard: `$PICCREATE_OUT`) |
|
||||
| `-s`, `--startfrom` | Nummerierung bei jedem Wort / Großbuchstaben neu beginnen |
|
||||
@@ -129,22 +152,26 @@ Die Sektionen `[jpgs]`, `[png]` usw. beschreiben die Rastergrafiken für
|
||||
## SVG in JPG/PNG umwandeln
|
||||
|
||||
```sh
|
||||
./svgconvert.sh -c punkteraetsel --format png -p
|
||||
./svgconvert.sh -c punkteraetsel -p
|
||||
```
|
||||
|
||||
Wandelt alle SVGs in `$PICCREATE_OUT` (oder `-s <ordner>`) parallel mit
|
||||
ImageMagick um. `--format` wählt die Sektion aus der Konfiguration.
|
||||
Wandelt alle SVGs in `$PICCREATE_OUT` (oder `-o <ordner>`) parallel mit
|
||||
ImageMagick um; die Bilder landen im selben Ordner. Breite, Höhe, Format und
|
||||
Auflösung kommen aus der Sektion `--section` der Konfiguration (Standard
|
||||
`[png]`, für große JPGs z. B. `--section jpgs`).
|
||||
|
||||
| Option | Bedeutung |
|
||||
|-----------------|--------------------------------------------------------|
|
||||
| `-c` | Konfiguration aus `cfg/` (Endung `.cfg` optional) |
|
||||
| `--format` | Sektion/Format, z. B. `png` oder `jpgs` (Standard `jpg`) |
|
||||
| `-o` | Ordner mit den SVGs, auch für die Bilder (Standard `$PICCREATE_OUT`) |
|
||||
| `--section` | Sektion mit den Bildmaßen (Standard `png`) |
|
||||
| `--format` | `jpg` oder `png` (überschreibt die Konfiguration) |
|
||||
| `-i` | CSV aus `in/` prüfen: fehlende Bilder melden, nur diese umwandeln |
|
||||
| `-j` | Anzahl paralleler Jobs (Standard 8) |
|
||||
| `-b` | Hintergrundfarbe, `none` für transparent |
|
||||
| `-f` | vorhandene Bilder überschreiben |
|
||||
| `-p` / `-v` | Fortschrittsbalken / ausführliche Ausgabe |
|
||||
| `-s` | Ordner mit den SVGs (Standard `$PICCREATE_OUT`) |
|
||||
| `-t <n>` | `n` Test-SVGs erzeugen und umwandeln |
|
||||
| `-y` | Probelauf ohne Umwandlung |
|
||||
|
||||
## Vorschaubilder von Webseiten (webscan)
|
||||
@@ -182,7 +209,7 @@ besser das Chromium der Distribution):
|
||||
|
||||
```sh
|
||||
sudo pacman -S chromium
|
||||
export PICCREATE_BROWSER=/usr/bin/chromium # oder Option -b /usr/bin/chromium
|
||||
export PICCREATE_BROWSER=/usr/bin/chromium # oder Option --browser /usr/bin/chromium
|
||||
```
|
||||
|
||||
Fehlen Playwright oder der Browser, gibt `webscan.py` die passenden Befehle
|
||||
@@ -208,11 +235,12 @@ Aufruf:
|
||||
| `-c` | Konfiguration (Standard `webscan`) |
|
||||
| `-i` | Eingabedatei aus `in/` oder mit Pfad |
|
||||
| `-o` | Ausgabeverzeichnis (Standard `$PICCREATE_OUT`) |
|
||||
| `--section` | Sektion mit den Bildmaßen (Standard `webscan`) |
|
||||
| `--format` | `jpg` oder `png` (überschreibt die Konfiguration) |
|
||||
| `-j` | Anzahl gleichzeitig geladener Seiten (Standard 4) |
|
||||
| `-t` | Wartezeit pro Seite in Sekunden (Standard 20) |
|
||||
| `--timeout` | Wartezeit pro Seite in Sekunden (Standard 20) |
|
||||
| `-f` | vorhandene Bilder überschreiben |
|
||||
| `-b` | Pfad zu einem eigenen Chromium |
|
||||
| `--browser` | Pfad zu einem eigenen Chromium |
|
||||
| `-v` | ausführliche Ausgabe |
|
||||
|
||||
Seiten ohne URL oder mit Ladefehler werden übersprungen und am Ende
|
||||
@@ -248,8 +276,18 @@ Nummern als Text `x1`, `x2`, …):
|
||||
./extract-glyph.sh -i ../in/ausgangsschrift/a.svg -e # nur ein Buchstabe
|
||||
```
|
||||
|
||||
Alle drei rufen `libs/glyphextract.py` auf (`-f`, `-t` bzw. `-i [-e]`) und
|
||||
schreiben nach `$PICCREATE_OUT` (oder `-o <ordner>`). Das Ergebnis
|
||||
Alle drei rufen `libs/glyphextract.py` auf. Dort ist `-i` ein einzelner
|
||||
Buchstabe oder ein Font (Ordner in `in/` oder Pfad); mit `-e` werden die
|
||||
Glyphen für den Font extrahiert (bei einem Font zusätzlich `<name>.cfg`),
|
||||
ohne `-e` entstehen Testbilder zum Prüfen in Inkscape:
|
||||
|
||||
```sh
|
||||
python3 glyphextract.py -i ausgangsschrift -e # = extract-font.sh
|
||||
python3 glyphextract.py -i ausgangsschrift # = fonttest.sh
|
||||
python3 glyphextract.py -i ../in/ausgangsschrift/a.svg -e
|
||||
```
|
||||
|
||||
Alle 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.
|
||||
@@ -275,7 +313,7 @@ Beispiel:
|
||||
```bat
|
||||
cd bin
|
||||
piccreate.bat -c punkteraetsel -i test
|
||||
svgconvert.bat -c punkteraetsel --format png -p
|
||||
svgconvert.bat -c punkteraetsel -p
|
||||
```
|
||||
|
||||
Die `.bat`-Dateien nehmen das Python aus `.venv`, falls vorhanden, sonst den
|
||||
|
||||
Reference in New Issue
Block a user