コマンドラインからsfdファイル(fontforge)をttf、otf、woff、svgに変換する

コマンドラインから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

ベストアンサー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

おすすめ記事