Python パッケージとして再構成された AFDKO 2.7 がリリース
AFDKO の新バージョン 2.7.0 が先週リリースされました。AFDKO は、フォント開発のための Adobe 製コマンドラインツール集です。
Python パッケージ化
今回の大きな変更点は、AFDKO の中身がひとつの Python パッケージへと、がらっと再構成された点です。
The AFDKO has been restructured so that it can be installed as a Python package. It now depends on the user's Python interpreter, and no longer contains its own Python interpreter.
https://github.com/adobe-type-tools/afdko/tree/2.7.0#major-changes
すでに PyPI へ afdko パッケージがアップロードされていますので、普段の Python パッケージと同じく、以下のコマンドでインストールすることができます。
$ pip install afdko
従来(2.5 まで)の AFDKO は、スクリプトやバイナリ等が Python インタプリタとともに ZIP で固められて配布されており、AFDKO 中の Python スクリプトは、必ずこのインタプリタを使って実行されるようになっていました。また、これを実現するためにインストール方法やパスの管理が独自のものになっており、少々扱いづらい面がありました。
Python パッケージへの再構成作業は2017年末ごろからスタートし、ベータ期間(2.6 がこれに相当)を経て、今回の 2.7.0 をもってめでたく正式リリースとなったようです。この Python パッケージ化によって、以下のようなメリットが享受できそうです。
- インストール/アンインストール/更新が、おなじみの pip で行えるようになる
- バージョンの固定や切り替えが容易になる
- 他の Python パッケージと組み合わせて使いやすくなる
- パッケージのビルド方法やテスト方法が整備・明文化される
AFDKO 開発の盛り上がり
AFDKO の開発は、Adobe のエンジニアが中心となって進められていますが、昨年まではあまり活発には見えませんでした。バリアブルフォントへの対応などは進められていたようですが、発展著しい fontTools などと比べてしまうと、地味な印象がありました。また、AFDKO には
などのつらい面も多々あり、個人的にはここ数年、fontTools の方を利用する機会が圧倒的に多くなっていました。
しかしながら、昨秋ごろから開発が加速し、現在に至るまで活発な状態が続いています。
内容としては、コードのリファクタリングやテスト・CIの整備といった基礎的な部分の改善が大きくなっており、前述の Python パッケージ化も、その流れの中で実施されたように見えます。Python 3 をサポートするための作業も始まり、明るい未来が見えてきた感じがします。
期待を込めつつ、これからも引き続き AFDKO の動きに注目していこうと思います。