windowsのPILでフォント読み込もうとしたらImportErrorが出るバグの修正パッチ作った。
PILで画像に文字を書こうと思ってImageFont.truetypeでフォントを読み込んだら、
ImportError: The _imagingft C module is not installed
なんて言って怒られた。
聞けばこれはPIL 1.17だけで発生するバグのようで、しかもwindows用の公式インストーラーにしか含まれないもののようです。 んー、何かわからないけれど、めんどい。 古いバージョンをインストールするとか、非公式インストーラーを使うという手もあるようだけれど、めんどい。
という訳で、無理やり修正するパッチを作成しました。 ただし、もしかしたらすごい危ないかもしれません。自己責任でどうぞ。
PILがインストールされているディレクトリ(通常はpythonのディレクトリ\Lib\site-packages\PIL\
)にダウンロードしたexeファイルをコピーして、そこで実行してください。
それだけで動くようになるはずです。
正常に終了したらパッチのexeファイルは削除して構いませんが、_imagingft.OLDという名前で作成されるバックアップファイルは削除しないでください。 問題があった時には_imagingft.OLDを_imagingft.pydに上書きすれば元に戻ります。
参考: