Ich suche nach einer Möglichkeit, eine SFD-Datei (das Arbeitsformat von Fontforge) automatisch in das Hauptschriftformat (zumindest OTF, TTF, Woof, SVG) zu konvertieren.
Aber ich muss es in der Befehlszeile tun, nicht über die GUI.
Leider scheint die Fontforge-Anwendung dies nicht zu unterstützen (ich habe die Manpage gelesen und dort wird diese Verwendung nicht erwähnt). Wie auch immer, ich muss es über die Befehlszeile tun, aber es ist nicht notwendig, es über Fontforge zu tun. Jede andere Anwendung, die das Fontforge-Arbeitsformat „SFD“ in das Hauptschriftformat konvertieren kann.
Wie kann ich also Befehle wie diese erhalten:
sfd2ttf input.sfd output.ttf
sfd2otf input.sfd output.otf
sfd2woff input.sfd output.woff
sfd2svg input.sfd output.svg
Antwort1
Sie können dies mit Fontforge tun, sieheHier:
-c Skriptzeichenfolge
Wenn das erste Argument von FontForge (oder das zweite, wenn das erste -lang ist) "-c" ist, wird das folgende Argument als Zeichenfolge behandelt, die Skriptbefehle enthält, und diese Befehle werden ausgeführt. Alle verbleibenden Argumente werden an das Skript übergeben.
$ fontforge -c 'Open($1); Generate($2)' foo.sfd foo.ttf
Liest eine Schriftart aus „foo.sfd“ und generiert daraus dann eine TrueType-Schriftart mit dem Namen „foo.ttf“.
In Ihrem Fall können Sie beispielsweise ein Skript convertsfd
wie dieses erstellen.
#!/bin/bash
fontforge -lang=ff -c 'Open($1); Generate($2)' "$1" "$2"
Machen Sie es ausführbar und rufen Sie es folgendermaßen auf:
$ ./convertsfd foo.sfd foo.ttf
Ändern Sie das zweite Argument foo.otf
nach Bedarf in oder in andere Formate. Ich habe nur mit ttf
und getestet otf
.
Um das Skript von überall aufzurufen, platzieren Sie es einfach in Ihrem ~/.local/bin
oder einem anderen Verzeichnis in Ihrem PATH
.