- 古いFont Suitcaseをデスクトップにコピーしておく
(/Library/Fonts
にある) - ターミナルでデスクトップに移動し、
「cat {フォント名} /..namedfork/rsrc > {フォント名}.dfont
」 - https://onlinefontconverter.com/ でOTFやTTFに変換する1
1. 古いフォントを移動したら 0KBになった
前のMacBookには入れていたフォントを新しいMacBookに引き継ぐことはできませんか?
基本的には、ソフトに同梱されていたフォントは、ソフトと分けて移動できないライセンスのものが多いです2。
逆にいうと、フォント単体で購入したり、ソフトごと移動できるものは可能です。
しかし、古いMacBookにあるフォントファイルを、新しいMacBookに移動しようとしたら、うまく移動できませんでした。
コピー後のファイルが 0KB となって、空になるものがあるのです。
よく見ると、移動できなかったフォントファイルには拡張子がありません。
これは、Font Suitcaseという古い形式のフォントでした。
今のMacで使うには、Font Suitcase形式のファイルを、dFont形式、OTF形式へと変換していく必要があります。
2. リソースフォークを追加する
通常、フォントファイルは、/Library/Fontsフォルダにあります。
Font Suitcase形式のファイルを dFontSplitterで変換しようとしたら、エラーになりました。
まず、dFont形式に変換する必要があるのです。
- ターミナルでデスクトップに移動し、
「cat {フォント名} /..namedfork/rsrc > {フォント名}.dfont
」
catコマンドは、ファイルを連結するコマンドです。
Font Suitcase形式のファイルの末尾に「/..namedfork/rsrc
」の内容を追加することで、dFont形式にしています。
3. リソースフォークが消えていた
このような変換が必要なのは、過去のMacのファイル構造では、アイコンなどの情報が「リソースフォーク」として分けてあったからです。
Mac OS9のファイルは、大まかに言うと「リソースフォーク」と「データフォーク」から出来ています。多くのファイルはデータフォークにメインの情報が含まれていて、リソースフォークにはアイコンなどの付加情報の類が含まれています。
しかしこの構造はMac固有の構造のため、Windowsを含むMac OS以外のOSにはリソースフォークというものがありません。よって、MacのファイルがWindowsなどでコピー等されると、リソースフォークが欠落してファイルのアイコンがなくなるなどの現象が発生してしまいます。Mac用のType1フォントなどは前述と異なり、フォント情報の大部分がリソースフォークに含まれています。そのため、データコピー等でMac OS以外のOSを経由などすると、リソースフォークが欠落し、フォントとしての情報を持たないデータ容量が[0KB]のファイルになってしまいます。
DTPテクニカルガイド | Mac用フォントファイルの破損について
(補足)
- dfontと一口に言っても、古い形式だと dfontSplitter などでは対応していないこともあるようです – Macの古いFont SuitcaseをDFONTからのWindowsへ | 長野市SBC通りの【パソコン処】
- ソフトウェアからフォントファイル「のみ」を抜き出してはいけません。 – フォントのライセンスでできることの範囲を見る/広げる | フォント | 産業向け製品 | リコー