前回の記事【解決】使用フォント一覧をテキストファイルにしたい!(1)により、ai/epsファイルから使用フォントを調べ、テキストファイルとして保存できるようになりました。
しかしこれは対象ファイルをダイアログで選択する必要があり、少々操作が面倒です。また、このスクリプトではフォントファイル名を記録するため、Adobe Fontsの書体は「.41309.otf」のような特定しにくい名前になります。
改善の余地があったので、次のように変更した新しいアプリを作ることにしました。
- macOS/Windows両方で動かせる
- ファイルのドロップでもダイアログでもフォント一覧を出力できる
- Adobe Fontsに対応
- フォントのPostScript名を取得する
そこで今回は、Illustratorファイルの使用フォント一覧をテキストとして保存するアプリ DocumentFonts を紹介します。
目次
あらましを教えて
ai/epsファイルから使用フォント名(PostScript名)を取り出し、できた一覧をテキストファイルとして保存するアプリです。名前はDocumentFontsといいます。IllustratorファイルのXMPメタデータから情報を取得するため、Illustratorアプリ自体は使わず開かず、高速に動きます。
Tauriと言う技術で作られたmacOS・Windows両対応のマルチプラットフォームアプリケーションで、どちらのOSでも動きます。インストーラはそれぞれのOS用に分かれています。
どのバージョンに対応してるの?
次の通りです。
- macOS 10.14以上に対応。macOS 10.14/10.15(Intel)、11.7/12.7/13.6/14.3/15.0(Apple Silicon)で動作を確認
- Windows 10以上に対応。Windows 11で動作を確認
どうやってインストールするの?
macOS用にはdmgファイルで、Windows用にはexeファイルでインストーラを用意してあります。ダウンロードして開けば指示が出るので、それに従って進めればOKです。
macOS
DocumentFonts-2-mac
Windows
DocumentFonts-2-win
インストールが済んだらDocumentFontsアプリを開いてみてください。ファイルをドロップできるウインドウが出てきたら成功しています。
どう使うの?
次のいずれかの方法で処理を呼び出してください。
- DocumentFontsアプリのウインドウにIllustratorファイルをドロップする
- DocumentFontsアプリのメニュー[File > Export…]を選択し、対象のIllustratorファイルを指定する
すると、特にファイルが開かれることなくフォント名を取得する処理が始まります。一覧ができたらテキストファイルの保存先を訊かれるので、お好みの場所・名前を指定してください。
フォント一覧テキストは例えばこんな感じになります。
Avenir-Heavy
DNPShueiNShogoMinStd-Hv
HiguminSmooth-Regular
SourceHanSans-Heavy
SourceHanSans-Regular
UDShinMGoPr6N-Light
応用
取得できるフォント名はPostScript名です。例えば次のようにそれを利用して、Illustratorスクリプト上のフォントと照合し、日本語での表示名などの情報を取得できます。
1 2 3 4 5 6 |
var tagretFont = app.textFonts['SourceHanSans-Regular'] ; var fontFamily = tagretFont.family ; var fontStyle = tagretFont.style ; var displayName = [fontFamily, fontStyle].join('\t') ; alert(displayName) ; // --> 源ノ角ゴシック Regular |
作者に感謝を伝えたい!
Buy me a coffeeは、クレジットカード払いなどでクリエイターにコーヒーをおごれるサービスです。ツール・情報が役に立った! 感謝の気持ちを表現したい! というかた、おごっていただけましたら嬉しいです☕️
これでまた少し仕事が速くなりました。今日もさっさと仕事を切り上げて好きなことをしましょう!
シリーズ記事:
- 【解決】使用フォント一覧をテキストファイルにしたい!(1)
- 【解決】使用フォント一覧をテキストファイルにしたい!(2)
このサイトで配布しているスクリプトやその他のファイルを、無断で転載・配布・販売することを禁じます。
それらの使用により生じたあらゆる損害について、私どもは責任を負いません。
スクリプトやファイルのダウンロードを行った時点で、上記の規定に同意したとみなします。