HAKADORI Script開発

InDesignの使用フォントのバージョンを調べる

2016.07.26 火

InDesignの使用フォントのバージョンを調べる

こんにちは、CMB室の藤田です。

InDesignのファイルメニューに「ファイル情報」というコマンドがあります。この「ファイル情報」を選択すると、ドキュメントに関するさまざまな情報を確認することができます。いわゆるメタデータ(メタ情報)というものです。

画像はCS4

メタデータ(メタ情報)とは…

ファイルに関する標準化された情報のセットです。この情報には、作者名、解像度、カラースペース、著作権、ファイルに適用されているキーワードなどがあります。メタデータはワークフローの簡略化やファイルの整理に使用できます。

です(参考:InDesign でドキュメントを保存:メタデータの操作)。
このファイル情報ダイアログのいちばん最後に「Rawデータ」というタブがあります。タグで囲まれた情報らしき文字列がずらっと並んでおりよく見るとXMLのようですが、AdobeではXMP(Extensible Metadata Platform)標準という規格で使用されています。さらに「詳細」タブを確認してみると、プロパティツリーなるものがあらわれます。メタ情報をツリー表示で見ることができます。

「Dublin Core」「スキーマ」などメタ情報っぽい単語が出てきました

● 現在の環境とメタ情報との違い

前置きが長くなりましたが、今回はこのメタ情報からフォント情報を取得するという話です。以前弊社にて、同じドキュメントなのに違う環境で開いたら文字の字形が変わってしまったという事故がありました。どうやら原因はフォントのバージョンのせいとのことでフォント情報を調べる方法を探したという経緯があります。ちなみにフォント検索ダイアログで確認できる情報はインストールされている現在の環境についての情報です。それに対してメタ情報はドキュメントが作成された時の情報となるようです。フォント検索ダイアログの「詳細情報→バージョン」には現在のバージョンと前回の作成バージョンが表示されることがあります。この差異が現在の環境とメタ情報の違いです。

現在の環境と違う場合は「作成バージョン」という表示があらわれます。

Font Bookでバージョンを確認。

●フォントのバージョンを取得する

前述の「ファイル情報」でドキュメントが作成された時のフォントバージョンを調べることができます。「詳細」タブの「XMP ページ化テキストプロパティ」より「xmpTPg:Fonts」というツリーを表示します。すると、[1][2][3]...というツリー構造になっています。数が10以上ある場合は、ソートが文字列の順なので[10][11][12]...[18][19][1]という並び方の場合もあります。

ソートが文字列通りなので[10]から始まっている。

ちなみにこのツリーは使用フォントについての構造なのですが、どうやらドキュメントの今まで使用したフォント情報がすべて蓄積されているようで、古くから使い回しているドキュメントほど余計な情報が蓄えられてしまっています。できることならドキュメントは新しく作成してフレッシュにした方がよさそうです。それはともかく、ツリーから該当フォントの情報を見つけて表示します。

versionStringが「作成バージョン」と一致しています。

● スクリプトでメタ情報を取得する

フォント情報のメタ情報はスクリプトで取得することができます。get property(AppleScriptの場合)コマンドです。

InDesignのAppleScript用語説明

get propertyコマンドの引数namespaceはURL形式ですが、いわゆる名前空間です。ここに「http://ns.adobe.com/xap/1.0/t/pg/」を指定してもうひとつの引数pathで「Fonts」の各プロパティにアクセスすることができます。これでフォント名、ファミリー、スタイル、種類、バージョンを取得できました。

AppleScriptでメタ情報を取得する書き方

あとは現在の環境と比較して各情報が同じであるかどうかを判別すればいいのです。

● リンクファイルもメタ情報を読み取ることができる

InDesignのリンクパレットから「ユーティリティ」より「XMP ファイル情報」コマンドを実行するとリンクファイルのメタ情報を確認することができます。配置されたファイルがIllustratorやPhotoshopで作成されたXMPメタ情報を持ったファイルであれば確認できるようです。この情報もドキュメントと同様、スクリプトにてget propertyコマンドで取得できます。

この仕組みを利用してドキュメントやリンクファイルの使用フォントのバージョンをチェックするスクリプトを作成しました。今のところ公開予定はありませんが、もし興味のある方はお問い合わせください。

今回はメタ情報でフォント情報を取得しましたが、もちろんそれ以外にもスウォッチ情報やファイルの変更履歴などのさまざまな情報を確認することができます。さらにリンクファイルのパスをPOSIX形式で取得できるので、これを利用してInDesignの孫ファイルを収集することもできそうです。しかし、InDesignからはメタ情報を取得できるのにIllustratorやPhotoshopからはメタ情報を取得する手段がないのが不思議です。以前の記事で書きましたがIllustratorではメタ情報を知る手段がなかったのでXMP 情報を正規表現で読み込んでいます。
XMPはAdobe Systems, Inc. の米国及びその他の国における商標です。

-HAKADORI, Script開発
-, , ,