RORO

ふつうの日記(移転したい)

文字セットの違いで生じる大量のフォントを自動で整理する

モリサワパスポートには大量のフォントが収録されているのだけど、その中には単なる収録文字セットの違い (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スクリプトはこんな感じ: