
フォントには同じ名前でバリエーションがいくつか存在するものがあります。例えば中ゴシックBBBは Pro/Pr5/Pr6/Pr6N/Upr/NewCID のバージョンに別れ,さらに学参,学参 常改などの種類も用意されています。ややこしいですね。
FontExplorer X ProやNexusFontなどのフォント管理アプリで使うものだけ有効にしておけば選び間違いは減りますが,それを使わないかたのデータを受け取ると統一されていないことがしばしば。
もし制作業務を引き継ぐ場合は安全のために気持ち悪さをこらえ,そのまま進めるでしょう。しかし,支給されたデータをこれから改造するときは1種類に揃えたいのではないでしょうか。
そこで今回は開いている書類のフォントを,ProやPr6など指定した文字セットの書体に置換するIllustrator用JavaScriptを紹介します。
動画で見てみたい
あらましを教えて
開いている書類のすべてのフォントを,ProやPr6など指定した種類の書体に置換するIllustrator用スクリプトです。モリサワパスポートに含まれていて,変換先の種類が存在する書体が置換対象になります。
例えば書類にA-OTF 中ゴシックBBB Pro MediumとA-OTF UD新ゴ Pro Lがあり,文字セットにPr6Nを指定した場合,A-OTF 中ゴシックBBB Pr6N MedとA-OTF UD新ゴ Pr6N Lに変更されます。
どのバージョンに対応してるの?
macOSのIllustrator CS6(16)〜2022(26) に対応しています。Windowsはテスト不足のためわかりませんが,動くと報告はありました。
- macOS 10.14(Intel),Illustrator CS6, CC2015.3〜2021
- macOS 11.6(Apple Silicon),Illustrator 2022
※macOSのIllustrator 2021(25.4.1) はIllustratorのバグにより基本的に動作不可
Illustrator 2021(25.4.1) では,AdobeXMPScript.frameworkというパーツが不足しているため基本的には動きません。ただし,2021(25.4.1) 以外のIllustratorやInDesign・Photoshopなどがインストールしてある場合,例外的に正常に動きます。足りないパーツはそれらから拝借します。
どうやって種類を指定するの?
スクリプトのファイル名を characterSet=オプション文字.jsx のような特定の形式にすることで,変換先の種類を指定します。ファイル名の再編集により,それらの設定を変えられます。
どんな種類が指定できるの?
次のようになっています。
オプション文字 | 動作説明 |
---|---|
Pro | フォントの種類をProに統一する |
Pr5 | フォントの種類をPr5に統一する |
Pr6 | フォントの種類をPr6に統一する |
Pr6N | フォントの種類をPr6Nに統一する |
Std | フォントの種類をStdに統一する |
StdN | フォントの種類をStdNに統一する |
ProN | フォントの種類をProNに統一する |
Upr | フォントの種類をUprに統一する |
Max | Nのつかない文字セット(Pr6, Pr5, Pro, Std)の中で最も収録文字数の多い種類に設定する |
MaxN | 文字セット(Pr6N, Pr6, Pr5N, Pr5, ProN, Pro, StdN, Std)の中で最も収録文字数の多い種類に設定する |
argv | オプション文字をスクリプト実行時の引数で指定する |
使いかた
- 変換先のフォントをアクティブ(使用可能)にする
- 置換対象にしたいテキストのロックを解除し,非表示なら表示に切り替える
- 書類が保存されていなければ保存する(書類のメタデータから使用中の書体を取得するため,保存しないと正しい書体がとれない)
- スクリプトを実行する
すると書式メニューの[フォント検索…]相当の機能で,指定した種類の書体に置換されます。
注意点
- 字形が変わるので,繊細な校正が必要な状況では使わないでください。支給されたフォーマットデータを洗浄するような用途に最適です
- 合成フォント内の書体は変換できません
- ヒラギノ角ゴシックなどもモリサワパスポートに含まれるため,指定した種類が存在すれば置換対象になります
- G-OTFで始まる学参書体はA-OTFに統合します
- UD新ゴNTはNTでないUD新ゴに統合します
- A-OTFとA P-OTFがあったら,A P-OTFに統合します
買いたい!
今回のスクリプトはnoteで販売しています。
これでまた少し仕事が速くなりました。今日もさっさと仕事を切り上げて好きなことをしましょう!
このサイトで配布しているスクリプトやその他のファイルを,無断で転載・配布・販売することを禁じます。
それらの使用により生じたあらゆる損害について,私どもは責任を負いません。
スクリプトやファイルのダウンロードを行った時点で,上記の規定に同意したとみなします。
スクリプトを実行したところ
「Unable to load the AdobeXMPScript Library」と出てしまうのですが、どのようにしたら実行できますでしょうか。
Illustrator 25.4はバグ(仕様?)により,スクリプトに必要なパーツが含まれていません。25.2.3などに戻して実行していただけますでしょうか。
また,よろしければ修正を早めるためにUserVoiceに投票をお願いいたします。
reading XMP data in scripts broken by 25.4 update.