オブジェクトを正確に整列させるIllustrator用スクリプトを作りました

イメージ

Illustratorには標準で整列機能がありますが、テキストオブジェクトについては「見た目」としての正確な整列ができません。これは昔からの仕様で、今後変更される可能性はかなり低いと思っています。そこで、テキストオブジェクトの正確な整列をサポートするスクリプトを作りました。うまく揃わないテキストに悩まされている方は、ぜひ使ってみてください。

更新履歴

対応バージョン

  • Illustrator CS5/CS6/CC/CC 2014/CC 2015/CC 2015.3/CC 2017

ダウンロード

インストール方法

  1. ダウンロードしたファイルを解凍します。
  2. 所定の場所に「オブジェクトを整列Plus.jsx」をコピーします。Windows版ではお使いのIllustratorの種類によって保存する場所が異なりますのでご注意ください。
  3. Illustratorを再起動します。
  4. ファイルスクリプトオブジェクトを整列Plusと表示されていればインストール成功です。

ファイルをコピーする場所

OSバージョンフォルダの場所
Mac/Applications/Adobe Illustrator (ver)/Presets/ja_JP/スクリプト/
32bit WinCS5までC:\Program Files\Adobe\Adobe Illustrator (ver)\Presets\ja_JP\スクリプト\
64bit WinCS5, CS6(32bit版)C:\Program Files (x86)\Adobe\Adobe Illustrator (ver)\Presets\ja_JP\スクリプト\
64bit WinCS6(64bit版)以降C:\Program Files\Adobe\Adobe Illustrator (ver) (64 Bit)\Presets\ja_JP\スクリプト\
  • (ver)にはお使いのIllustratorのバージョンが入ります
  • 本スクリプトは、CS4以前では動作を検証しておりません

標準の整列機能ではテキストオブジェクトが正確に揃わない

標準の整列機能ではテキストオブジェクトが正確に揃わない

Illustrator標準の整列機能を使ってテキストオブジェクトを揃えようとすると、以下2つの問題にぶつかります。

  • 横書きテキストの場合、下に隙間ができてしまう(期待する位置より上に揃う)
  • トラッキングされた文字の場合、右端(下端)にトラッキング分の隙間ができてしまう(期待するより左、または上に揃う)

いずれも、テキストのバウンディングボックス基準で整列位置が計算される仕様に基づくもので、Illustratorの整列がデタラメに処理されているわけではないのですが、おそらく現実として期待する結果になってないと感じることが多いのではないでしょうか。

このスクリプトを使うと

このスクリプトを使うと

文字の(仮想)ボディのサイズを想定してテキストオブジェクトの大きさを再計算し、それに基づいて整列を行います。バウンディングボックスで文字の下に大きな隙間ができてしまうフォント(源ノ角ゴシックなど)や、トラッキングが設定されたテキストオブジェクトでも比較的正確な整列が可能です。

なお、Illustratorのテキストとバウンディングボックスの関係について興味のある方は、ものかのさんさんのブログ記事を参考にしてみてください。

使い方

使い方
  1. オブジェクトを選択してスクリプトを実行すると、整列のダイアログが開きます
  2. [水平方向]、[垂直方向]で、整列したい位置のチェックボックスをクリックします。整列をしたくないときは、オンになっているチェックボックスを再度クリックして、チェックをオフにします
  3. [基準の範囲]から、整列の基準としたい対象を選択します。アートボード選択範囲最背面オブジェクト最前面オブジェクトの4つから選択可能です
  4. 整列基準の範囲を確認したいときは整列の範囲をハイライトのチェックをオンにします。対象範囲がピンクにハイライトされます
  5. 実行をクリックすると整列を実行します

基準となる範囲の詳細

項目説明
アートボード現在アクティブなアートボードの大きさ
選択範囲選択されたオブジェクト全体の範囲
最前面オブジェクト選択された中で最も前面にあるオブジェクトの大きさ
最背面オブジェクト選択された中で最も背面にあるオブジェクトの大きさ

ダイアログについて

スクリプトは最後に実行したダイアログの状態を記憶しますので、スクリプトを起動したあとにすぐreturn(enter)キーを押せば前回と同じ設定で整列を実行できます。さらに、スクリプトの設定をカスタマイズすれば、ダイアログを省略して整列を実行することも可能です(次項参照)。

カスタマイズ

カスタマイズ

10行目あたりにあるsettingsの各値を変更することで、ダイアログを省略した整列ができます。ダイアログを省略するには、showDialogfalseにしたうえで、その他の値を希望する挙動に合わせておきます。また、withAltKeytrueにしておくことで、ダイアログ省略設定時でも一時的に表示可能です。下記を参考に、テキストエディタでスクリプトを直接編集してください。

キー説明
verticalNumber水平方向の揃え-1:移動なし|0:左|1:中央|2:右
horizontalNumber垂直方向の揃え-1:移動なし|0:左|1:中央|2:右
baseNumber整列の基準0:アートボード|1:選択範囲|2:最前面オブジェクト|3:最背面オブジェクト
previewAreaBoolean整列基準範囲のハイライト表示false:しない|true:する
showDialogBooleanダイアログを表示false:しない|true:する
withAltKeyBooleanoption(Alt)キーを押しながら実行でダイアログを強制表示false:しない|true:する
  • ダイアログ表示をカットしたい場合は、showDialogfalseにしてください
  • withAltKeyの値はshowDialogfalseのときのみ有効です

キーボードショートカットのすすめ

ダイアログを省略して実行するときは特にですが、スクリプトをキーボードショートカットで実行できるようにしておくことをおすすめします。Illustrator標準ではスクリプトにショートカットキーを割り当てできないので、Macの方は、ものかのさんの「SPAi」や、Keyboard Maestroなどのツールを使うといいでしょう。Keyboard Maestroは、三階ラボさんの記事が詳しくて参考になります。Windowsの方は……なんとか頑張ってください!(ツールがあるのかどうか知らないです。すみません)

なお、ショートカットキーの中にoption(Alt)キーが含まれる場合、強制的にダイアログが表示されます。強制表示を無効にしたいときは、カスタマイズでwithAltKeyfalseに設定してください。ただし、この場合はダイアログの強制表示機能は使えませんのでご注意ください。

その他

  • クリッピングマスクされたオブジェクトは、クリッピングパスの大きさを基準とします
  • エリア内文字はテキストエリアを整列の基準とします

注意

  • CS6ではダイアログ表示直後のプレビューが乱れることがありますが、何かの設定を一度変更すれば正常に戻ります(原因不明)
  • 必要なオブジェクトが選択されていないときは、警告を表示して処理を中断します
  • オブジェクトの種類や構造によって意図しない結果になる可能性もゼロではありません
  • 大量のオブジェクトでは処理に時間がかかることがあります

免責事項

  • このスクリプトを使って起こったいかなる現象についても制作者は責任を負えません。すべて自己責任にてお使いください。
  • CS5からCC 2017(いずれもMac版)で動作の確認はしましたが、OSのバージョンやその他の状況によって実行できないことがあるかもしれません。もし動かなかったらごめんなさい。

ライセンス


Illustratorの書籍を執筆しています。基本機能を重点的に紹介している内容で、初心者がつまづきやすいポイントは特に詳しく解説しています。ベジェ曲線の基本となる、ペンツールについても取り上げていますので、ぜひチェックしてみてください!

Illustratorプロフェッショナルの教科書 デザイン作成とパス・文字を正しく扱う技術 CC 2014/CC/CS6対応版

著者:高橋としゆき

出版社:エムディエヌコーポレーション/サイズ:B5判/ページ:208P/本体価格:本体2,800円+税

ISBN:978-4-8443-6473-3

Recent Posts

Loading...