sfd ファイル (Fontforge の作業形式) を主要なフォント形式 (少なくとも otf、ttf、woof、svg) に自動的に変換する方法を探しています。
しかし、コマンドラインで実行する必要があり、GUI から実行する必要はありません。
残念ながら、Fontforge アプリケーションはこれをサポートしていないようです (マニュアルページを読みましたが、この使用法については何も触れられていません)。とにかく、コマンドラインから実行する必要がありますが、Fontforge から実行する必要はありません。Fontforge の作業形式「SFD」をメインのフォント形式に変換できる他のアプリケーションがあれば、それも使用できます。
では、次のようなコマンドを取得するにはどうすればよいでしょうか。
sfd2ttf input.sfd output.ttf
sfd2otf input.sfd output.otf
sfd2woff input.sfd output.woff
sfd2svg input.sfd output.svg
答え1
Fontforgeを使えばできます。ここ:
-c スクリプト文字列
FontForge の最初の引数 (最初の引数が -lang の場合は 2 番目の引数) が "-c" の場合、後続の引数はスクリプト コマンドを含む文字列として扱われ、それらのコマンドが実行されます。残りの引数はすべてスクリプトに渡されます。
$ fontforge -c 'Open($1); Generate($2)' foo.sfd foo.ttf
「foo.sfd」からフォントを読み取り、そこから「foo.ttf」というTrueTypeフォントを生成します。
convertsfd
あなたの場合は、次のようなスクリプトを作成できます。
#!/bin/bash
fontforge -lang=ff -c 'Open($1); Generate($2)' "$1" "$2"
実行可能にして、次のように呼び出します。
$ ./convertsfd foo.sfd foo.ttf
foo.otf
必要に応じて、2 番目の引数を または他の形式に変更します。私はttf
およびのみでテストしましたotf
。
どこからでもスクリプトを呼び出すには、スクリプトを~/.local/bin
または 内の他のディレクトリに配置するだけですPATH
。