Konvertieren Sie in der Befehlszeile eine SFD-Datei (Fontforge) in TTF, OTF, WOFF, SVG

Konvertieren Sie in der Befehlszeile eine SFD-Datei (Fontforge) in TTF, OTF, WOFF, SVG

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 convertsfdwie 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.otfnach Bedarf in oder in andere Formate. Ich habe nur mit ttfund getestet otf.

Um das Skript von überall aufzurufen, platzieren Sie es einfach in Ihrem ~/.local/binoder einem anderen Verzeichnis in Ihrem PATH.

verwandte Informationen