OTC から OTF を抽出(自動化)

FontForge を使えば、新しい(拡張子が ttc の)ヒラギノから単体の(拡張子が otf の)ヒラギノを抽出できることが分かったので、それを自動化しようとする試みです。

FontForge のインストール

まず、FontForge をアプリケーションフォルダに設置しておきます。FontForge は時々バグったものがアップされているので、念のため、「右クリック→開く」で起動できることを確かめておいたほうが良いでしょう。

自動化スクリプトの作成

次に、OTC から OTF を抽出するスクリプト「OTC2OTF.pe」(内容は下記、文字コードは UTF-8)を作成します。個別にフォントを開いて「Open」、生成する「Generate」だけの単純なものです。

#!/Applications/FontForge.app/Contents/Resources/opt/local/bin/fontforge

a = "/Library/Fonts/ヒラギノ丸ゴ ProN W4.ttc"
b = "/System/Library/Fonts/ヒラギノ明朝 ProN W3.ttc"
c = "/System/Library/Fonts/ヒラギノ明朝 ProN W6.ttc"
d = "/System/Library/Fonts/ヒラギノ角ゴシック W3.ttc"
e = "/System/Library/Fonts/ヒラギノ角ゴシック W6.ttc"
f = "/System/Library/Fonts/ヒラギノ角ゴシック W8.ttc"

Open(a + "(ヒラギノ丸ゴ Pro W4)")
Generate("HiraMaruPro-W4.otf")
Open(a + "(ヒラギノ丸ゴ ProN W4)")
Generate("HiraMaruProN-W4.otf")
Open(b + "(ヒラギノ明朝 Pro W3)")
Generate("HiraMinPro-W3.otf")
Open(b + "(ヒラギノ明朝 ProN W3)")
Generate("HiraMinProN-W3.otf")
Open(c + "(ヒラギノ明朝 Pro W6)")
Generate("HiraMinPro-W6.otf")
Open(c + "(ヒラギノ明朝 ProN W6)")
Generate("HiraMinProN-W6.otf")
Open(d + "(ヒラギノ角ゴ Pro W3)")
Generate("HiraKakuPro-W3.otf")
Open(d + "(ヒラギノ角ゴ ProN W3)")
Generate("HiraKakuProN-W3.otf")
Open(e + "(ヒラギノ角ゴ Pro W6)")
Generate("HiraKakuPro-W6.otf")
Open(e + "(ヒラギノ角ゴ ProN W6)")
Generate("HiraKakuProN-W6.otf")
Open(f + "(ヒラギノ角ゴ Std W8)")
Generate("HiraKakuStd-W8.otf")
Open(f + "(ヒラギノ角ゴ StdN W8)")
Generate("HiraKakuStdN-W8.otf")

(注意)拡張子「.otf」は、Ghostscript には不要ですが、FontForge が出力フォーマットを特定するために不可欠です。

スクリプトを実行

ターミナル(Terminal.app)で先のスクリプトを実行すれば、完成です。

[~]> chmod +x OTC2OTF.pe
[~]> ./OTC2OTF.pe

スクリプトの終了におよそ 3 分ほどかかると思います。その間

The following table(s) in the font have been ignored by FontForge
  Ignoring 'VORG' vertical origin table
  Ignoring 'kerx'
  Ignoring 'xref'
This font contains both a 'mor[tx]' table and a 'GSUB' table.
  FF will only read feature/settings in 'morx' which do not match features
  found in 'GSUB'.
警告: 'name' テーブルの文字列 ファミリー の 英語(アメリカ) 言語版において,
  Mac 文字列は Windows の文字列のサブセットです
警告: 'name' テーブルの Mac と Windows の項目で文字列 スタイル(サブファミリー) が言語 英語(アメリカ)版において一致しません.
  Mac の文字列: W4
  Windows の文字列: Regular

のような警告が大量に表示されます。