Illustrator 「表のテキストを、InDesignのように揃えられる」 スクリプト
アップデート!
Ver 1.1.1 ……
外枠が長方形、縦横罫が直線のパスで作成された表で、Macからスクリプトを実行した場合、距離測定用のダミーの赤い表が表示される問題を修正しました(目立ちすぎるので、白い表に変更しました)
Ver 1.1.0 ……
外枠が長方形、縦横罫が直線のパスで作成された表でも、テキストを揃えられるようになりました(「グリッドに分割」で作成された表も、引き続き使用できます)
テキスト全体では無くて、一部のテキストだけ揃えたい場合でも、一部のテキストと表全体(全セル)を選択して、スクリプトを実行してください(「グリッドに分割」で作成された表のみ、一部のテキストとそのテキストが入った一部のセルのみの選択でも正しく動作します)
必要な方は、ダウンロードをして、以前のバージョンのスクリプトと入れ替えてください。
先日Xで、Illustratorで表を作成する方法についてのアンケートをお願いしました。
こういう結果になりましたが、今回は、Illustratorで表を作成されている方向けに、セル内のテキストをInDesignのように揃えられるスクリプトを作成してみました。
「グリッドに分割」で作成された表か、外枠(クローズドパス)を長方形ツールかペンツール、縦横罫を直線ツールかペンツールで作成した表でのみ正常に動作します
「グリッドに分割」で作成された表か、長方形ツールやペンツールなどを使って、長方形と直線の交差で作成された表でのみ、このスクリプトは正常に動作します。
セルの内側にテキストを入力、または配置します
テキストは、ポイント文字でもエリア内文字でもかまいません。何行でも正常に処理されますが、基本的に1つのセル内に1つのテキストフレームを配置してください。また、セルの内側のテキストと認識されるのは、セルの周囲から外へ2mmまでの範囲です。つまり、セルの周囲から外へ2mmまでは、テキストがセルからはみ出していても大丈夫です。このはみ出しは、スクリプトのファイル名の末尾に「(ファイル名)-3.jsx」のように付け足すことで拡張できます。「(ファイル名)-3.jsx」だと3mmという意味です。ただこの数値を大きくしすぎると、予想しなかった隣のテキストまで、こちらのセルに揃ってしまうというようなことが起こるので注意してください。何も付けない「(ファイル名).jsx」だと、セルの周囲から外へ2mmまでは、テキストがセルからはみ出していてもOKという状態になります。
揃えたいテキストと、表全体(全セル)を選択してスクリプトを実行
表全体を揃えたい場合は、全テキストと全セルを選択してスクリプトを実行してください。一部のみ揃えたい場合は、揃えたい一部のテキストと表全体(全セル)を選択してスクリプトを実行してください(「グリッドに分割」で作成された表のみ、一部のテキストとそのテキストが入った一部のセルのみの選択でもOK)
するとダイアログが表示されるので、希望の項目を選択、または入力して、最後に「OK」をクリックしてください。ダイアログの項目の内容は、InDesignの表パネルとほぼ同じなので、使い方がわからない場合は、Googleなどで「InDesign 表パネル」で検索してください。
ダイアログの「行揃え」は、選択したテキストの行揃えを変更します。スクリプト実行前の行揃えの状態から変更したくない場合は「変更なし」を選択してください。
ダイアログに、InDesignにはある「均等配置」がありません…
Illustratorのテキストの入力システムがポイント文字のみだったら、均等配置も実現できそうだったのですが、エリア内文字をセル内で均等配置する方法を思い付きませんでした…。今後、何か良いアイデアがあれば、アップデートで対応します。
アクションパネルにスクリプトを登録した場合、外枠を長方形、縦横罫を直線のパスで作成された表では正しく動作しません
これは、スクリプト内でIllustratorメニュー→「効果」→「パスファインダー」→「分割」を実行しているのですが、アクションパネルに登録してからスクリプトを実行すると、この部分だけが正しく処理されないためです。「グリッドに分割」で作成された表では、アクションパネルにスクリプトを登録しても正しく処理されます。
外枠を長方形、縦横罫を直線のパスで作成された表の外枠は、クローズドパスでないと正しく動作しません
外枠がオープンパスになっていると、スクリプトが正しく動作しません。長方形ツールで外枠を作成すると、必ずクローズドパスになるので大丈夫です。
下余白を入力してテキストを下揃えで揃えた場合、実際の下余白の幅と、変形パネルから計算した下余白の幅が違います
変形パネルは、テキストのバウンティングボックス下辺のY座標の位置を表示するのですが、実際のテキストの下辺とバウンティングボックスの下辺の位置が違っています。バウンティングボックスの下辺の方がより下にあります。ですので、ダイアログに入力した下余白の数値と、変形パネルから計算した下余白の幅が違っていても、これはバグではありません。テキストをアウトライン化してから、変形パネルを使って下余白の幅を計算してみてください。ダイアログに入力した数値と、ぴったり同じになっていると思います。
たまに、スクリプト処理後に、赤いテキストや白い表(セル)が残ってしまいます…
スクリプト実行後に「テキストをコピー → 判別しやすくするために、コピーしたテキストを赤くする → コピーした赤いテキストをアウトライン化 → セルとの正確な距離を測る → 必要の無くなった赤いアウトライン・テキストを削除」という一連の処理をしているのですが、何かの不具合で「赤くしたアウトライン・テキストを削除」の部分が実行されなくて、スクリプト処理後に赤いテキストが残ってしまうことがあります。
そういったことが起こった場合は、赤いテキストを削除して、未処理になっている、セルに揃っていないテキストとセルの部分だけを選択して、再びスクリプトを実行してください。
また、頻繁に赤いテキストが残ってしまって煩わしいというような場合は、スクリプトの使用を中止してください。アウトライン化したテキストが削除されないで残ってしまう原因は、今のところ不明です…
また、白い表(セル)が残ってしまう場合もありますが、これも単に距離を測定するために元の表をコピーしただけですので、同様に白い表(セル)を削除しただけで大丈夫です。
動作テスト用の表サンプルファイルをスクリプトに同梱しました
「グリッドに分割」や「長方形と直線で作成」した簡単な表のaiファイルをスクリプトに同梱したので、これをIllustratorで開いてスクリプトを実行、動作テストをしてみてください。
ダウンロードはこちらから
ここから先は
¥ 500
Amazonギフトカード5,000円分が当たる
この記事が気に入ったらチップで応援してみませんか?