TTCファイルを分解(分割)する  

構造解析とは全く関係ありませんが・・・
通常ほとんど意識することはありませんが、フォントファイルの中にはTTC(TrueType Collection)という形式のファイルがあります。これはその名の通りTrueTypeフォントをいくつかまとめたものですが、フォントファイルをいじくりたいときには扱えなかったり、Linuxで扱いたくても扱えなかったりということがあります。そんな時は通常のTTFファイルに分割すれば操作できるようになるようです。
以前はMicrosoftから分割用のプログラムが配布されていたようですが、最近は公開されていない(まあ、ネットで探せば転がってますが)のでPerlで作ってみました。単純にTTCを分割したい場合に使えます。
動作保証もサポートもしません。また、著作権のあるフォントファイルを扱う場合はその規約に従って下さい。

内容  

TTC形式はシンプルなフォーマットで、TTFファイルをまとめただけ、というような形式です。本スクリプトでは以下のような処理をしています。もっと細かい動作はスクリプトを読んでください。なお、対応しているTTCはVersion 1のみです(2にも使えるかもしれませんが、手元に確認環境がありません・・・)。
エラー処理などはほとんどしていないので、ヘンなファイルを読み込ませると誤動作の恐れがあります。動作確認はWinXP付属のmsgothic.ttcでしか行っていないので他のファイルではどうなるかはわかりませんので注意して下さい [huh]

  1. TTCのヘッダ読み込み
  2. 含まれているTTFのヘッダ読み込み
  3. TTFの書き出し

ってなところです。

SplitTTC  

使い方  

モジュールは使っていないのでPerlがインストールされていれば使えるはずです。

% perl splitttc.pl msgothic.ttc
Writing out00.ttf ... Done
Writing out01.ttf ... Done
Writing out02.ttf ... Done

こんな風に書き出されます。

参考  

コメント  

コメントなどありましたらよろしくお願いします。

添付ファイル: filesplitttc.pl 3202件 [詳細]