
任意のコーディングフォントに合字を追加してください!
このスクリプトは、FIRAコードから他のTrueTypeまたはOpenTypeフォントに結晶(グリフとレンダリング情報)をコピーします。 (結晶はスケール補正されていますが、それ以外の場合はFIRAコードからのようにコピーされています。変更しているフォントに基づいて新しいligatureグラフィックスを作成しないことに注意してください。)
このリポジトリには、FIRAコードの結晶を任意のフォントに追加するために使用できるFontForge Pythonスクリプト、いくつかの人気のあるコーディングフォントのサブモジュールと、それらすべてを一度に結晶化するための別のスクリプトが含まれています。
リガチュア化されたバージョンは、リリースの下で利用できます。
生成されたフォントのいくつかの例を次に示します。Ligatureを備えたSF Mono&Menlo( !=および-> ): 

このリポジトリ:リポジトリとそのサブモジュールが必要なので、 --recurse-submodulesを使用してgit clone必要です。
フォントの使用:サポートされている編集者のリストについては、Firacode Readmeを参照してください。
スクリプト:このスクリプトでは、fontforge pythonバインディングが必要です。 Debian/Ubuntuの場合、 python-fontforgeパッケージで利用できます。 OpenSuseとNixosの場合、それらはfontforgeパッケージに含まれています。 MacOSの場合、Brew( brew install fontforge )を介して利用できます。
自動モードを使用して、1つ以上のフォントを簡単に変換します。
fonts/に入れます。ligatures.pyを編集して、希望していない字字項を無効にしたり、firaコードから希望する(非系統の)文字を有効にしても有効にします。build.pyを編集して、新しいフォントをprefixed_fontsリストに追加します。グローブをサポートするので、(例えば)Foofontのすべての異なる重みを溶解したい場合は、リストに'FooFont*'を追加できます。makeします。fonts/output/から有糸分解フォントを取得します。指iturizeをfonts/ (または便利な場所)に移動/コピーします。
ligatures.pyを編集して、不要な字字を無効にします。
スクリプトを実行します:
$ fontforge -lang py -script ligaturize.py path/to/input/font.ttf
--output-dir=path/to/output/dir/
--output-name='Name of Ligaturized Font'
例えば
$ fontforge -lang py -script ligaturize.py fonts/Cousine-Regular.ttf
--output-dir='fonts/output/'
--output-name='Ligaturized Cousine'
fonts/output/LigaturizedCousine-Regular.ttfを生成します。
フォントの重みは、元のファイルから継承されます。フォント名は--output-nameで指定したものに置き換えられます。代わりに--prefixを使用することもできます。この場合、元の名前が保存され、 --prefixが入力されるものはすべて完成します。
ligatures.py 、個々のキャラクターグリフのコピーまたは有効化するフォントの字字層を変更するために、いくつかの追加のコマンドラインオプションをサポートします(例えば)変更します。 fontforge -lang=py ligaturize.py --helpを実行してください。
このスクリプトは、もともとIlyaskriblovskyによって書かれたもので、Dejavusans Mono(DV-Code-Font)に結晶を追加しました。 Navid Rojianiは、スクリプトを一般化するためにいくつかの変更を加えて、任意のフォントに機能するようにしました。 ToxicFrogは多くの貢献をしました。
貢献はいつも大歓迎です!機能/強化(またはバグ)のアイデアがある場合は、プルリクエストを送信するか、問題を作成してください。
結晶を備えたより素晴らしいプログラミングフォントについては、チェックしてください。