文字セットの違いで生じる大量のフォントを自動で整理する
モリサワパスポートには大量のフォントが収録されているのだけど、その中には単なる収録文字セットの違い (Std, Pro, Pr5, Pr6など) によるvariantsも数多くある。例えば以下のような感じだ:
- A-OTF リュウミン Pro (Adobe Japan 1-4)
- A-OTF リュウミン Pr5 (Adobe Japan 1-5)
- A-OTF リュウミン Pr6 (Adobe Japan 1-6)
- A-OTF リュウミン Pr6N (Adobe Japan 1-6, JIS新字形)
これらのvariantsが統制なく使われると、結局、データをやりとりする全員がすべてのvariantsをインストールしなければならなくなる。これを避けるために、なるべく最小限のvariantsのみが使われるようにしておきたい。
具体的な方針としては…
- スーパーセット(例: Pr6N)のファミリが存在するなら、サブセット(例: ProN)のファミリは捨てる。つまり常にスーパーセットを使うようにする。(大きめの文字セットを使うと計算資源も食うようだけど、問題ないだろう)。
- 字形の違い(例: ProとProN)があるものについては、新字形のみを保持する。
- ついでにフォルダ分けもしておく: フォントファミリ名でフォルダ分けする。つまり、同じファミリ名のサブファミリ違いを、同一のフォルダにまとめる。
…という感じにしようと思う。さすがにこれを手動でやるわけにはいかないので、作業を自動化した。
Pythonスクリプトはこんな感じ: