FontForgeの機能をPythonから扱える Python bindings があるのだが、どうすれば使えるようになるのか分からない場合もあったのでメモ。
基本的に Python 2 系がベースになっていて、 Python 3 系で使いたい場合は自前でソースからコンパイルしないといけないらしい。
Linux(Ubuntuなど) / Cygwin
パッケージマネージャで、次のパッケージ
をインストール。 Python 2 から使用可能になる。
以下の出力はCygwinのもの。
$ python Python 2.7.8 (default, Jul 25 2014, 14:04:36) [GCC 4.8.3] on cygwin Type "help", "copyright", "credits" or "license" for more information. >>> import fontforge >>>
Windows (7 と 8.1で確認)
Fontforge の公式サイト(http://fontforge.github.io/en-US/)からWindows用のインストーラをダウンロードして実行、インストールする。
Fontforge の Python bindings が使える状態の Python が ffpython.exe として入っているのでそれを使用すると簡単。
具体的には、スタートメニューから
すべてのプログラム → FontForge → FontForge interactive console
とするとffpythonにパスが通ったコマンドプロンプトが立ち上がるので、そこから ffpython.exe を実行すればよい。
C:\Program Files (x86)\FontForgeBuilds>ffpython Python 2.7.9 (default, Dec 26 2014, 00:24:06) [GCC 4.9.2] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import fontforge >>>
Mac OS X (10.10 Yosemite)
パッケージマネージャを使わないでインストールする場合は Python bindings を使うのは大変そう。公式Webからダウンロードできるバイナリには含まれていない。
パッケージマネージャでインストールする場合には Homebrew が推奨されている。
Macports
すでにMacportsでFontforgeをインストールしている場合はアンインストールする
sudo port uninstall fontforge
- python27オプションを有効にしてインストールする
sudo port install fontforge +python27
すると、 python2.7 から使える(python で起動するとうまくいかなかった…バージョンが異なるらしい)
$ python2.7 Python 2.7.9 (default, Dec 14 2014, 10:02:06) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import fontforge >>>
$ python Python 2.7.6 (default, Sep 9 2014, 15:04:36) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import fontforge Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named fontforge >>>
Homebrew
Homebrewの場合は次の方法で使えるらしい(未検証)。上記Macportsのリンク参照。
# brew install python # brew install fontforge --HEAD