web-dev-qa-db-ja.com

コマンドラインでsfdファイル(fontforge)をttf、otf、woff、svgに変換します

私は、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
6
fauve

Fontforgeでそれを行うことができます ここ を参照してください:

-cスクリプト文字列

FontForgeの最初の(または1番目が-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

2番目の引数をfoo.otfまたは必要に応じて他の形式に変更します。私はttfotfでのみテストしました。

どこからでもスクリプトを呼び出すには、スクリプトを~/.local/bin、またはPATH内の他のディレクトリに配置します。

8
resc