見出し画像

Illustrator 「さらに便利になりました! 選択アイテムを囲み枠の中央に正確に揃えてくれる」 スクリプト

以前ご紹介させていただいたスクリプト(Illustrator「1クリックで、テキストを囲み枠の中央に揃えられる」スクリプト)を使用している際に、「面倒だな、これ。テキストだけを選択して揃えられないかな?」と思ったのがきっかけで、このスクリプトが生まれました。
以前のスクリプトでは、囲み枠の中央にテキストを揃えるのに、テキストと囲み枠の両方を選択してスクリプトを実行する必要がありましたが、今回のスクリプトではテキストのみを選択してスクリプトを実行するだけで、囲み枠の中央に正確に揃えられます。

その上、一度に複数アイテムの処理が可能です。
今までみたいに、1テキストずつ処理しないといけないということは無くなりました(今回のスクリプトでも、今まで通り1テキストずつの処理はできます

◆ テキストを囲み枠の内側に配置(入力)する必要がある

これが今回のスクリプトが正しく動作する条件です。
ただし、この条件には少しゆとりを持たせてあります。

このスクリプトのファイル名「選択アイテムを囲み枠の中央に正確に揃える_v100-2.jsx」の拡張子(jsx)直前の「 - 」(ハイフン)と「 」(ピリオド)の間に「2」という数字がありますが、これはスクリプトが「囲み枠の端から+2mmの範囲まで、テキストが囲み枠の内側にあると認識します」という意味です。
ですので、囲み枠の端から+2mmまでの範囲内でしたら、テキストが囲み枠からはみ出していても、スクリプト実行後テキストは正しく囲み枠の中央に揃います

例えば、オブジェクトがゴチャゴチャ込み入ったドキュメントでこのスクリプトを実行すると、「2」では想定した囲み枠の中央に揃わないで、隣の囲み枠の中央に揃ってしまっりすることが起こります。
その場合は、ファイル名を変更して「選択アイテムを囲み枠の中央に正確に揃える_v100-1.jsx」とするか、「-2.jsx」の部分を削除して「選択アイテムを囲み枠の中央に正確に揃える_100.jsx」にするか(「選択アイテムを囲み枠の中央に正確に揃える_v100-0.jsx」でもかまいません)してみてください。

逆に空間的にあまりゴチャゴチャしていない作業をされている方は、ここの数値を大きくすることもできます。
その場合、テキストの配置や入力は比較的楽になりますが、意図しない囲み枠へテキストが揃ってしまうということが起こるかもしれません。
(なお、ファイル名全体を変更されたい方は、変更したファイル名の最後に「-2.jsx」などを付ければ、設定通りにゆとり幅を持たせることができます)

ファイル名変更後は、Illustratorの再起動が必要です(PCの再起動では無くて、Illustratorの再起動です)

◆ テキスト以外のオブジェクトの中央揃えにも使用できます

以前ご紹介させていただいたスクリプト(Illustrator「1クリックで、テキストを囲み枠の中央に揃えられる」スクリプト)はテキストしか揃えられませんでしたが、今回のスクリプトではテキスト以外のオブジェクトも揃えられます
グループ化されたオブジェクトも大丈夫です。
ただ、グループ化されたオブジェクトの中にテキストが含まれていると、警告が表示されます。
これは、テキストはスクリプトがアウトライン化してサイズを取得しないとならないのですが、グループはサブグループの数に際限が無く、どこまで階層を掘り下げれば良いのか明確に定義ができないためです。
そのため、テキストを含んだグループアイテムが選択されていた場合には、そのアイテムの処理を未処理にして次の処理に移るようにしました。
スクリプト実行後に「グループ化されているテキストがあります」と警告が表示されて、テキストを含んだグループアイテムは、元の位置に残ったままになっています。

◆ スクリプトを実行しても、選択アイテムが囲み枠の中央に揃わなかった場合は……

設定した囲み枠の幅から、選択アイテムがはみ出していることがほとんどです。
囲み枠の端から+2mmに設定してあるのに、実際には+3mmはみ出していた……とか。

あと考えられるのは、見出し画像のように囲み枠が入れ子になってる場合です。
見出し画像では、緑色の大きい囲み枠の中に個々の黒い小さい囲み枠が存在しています。
もしこの黒い小さい囲み枠の中心が、緑色の大きい囲み枠の中心近くにあれば、スクリプトが選択アイテムを緑色の大きい囲み枠の中心に揃えてしまうということがあり得ます。
これは、選択アイテムの中心が、最短距離の囲み枠の中心に揃うように作ってあるからです。
しかし、回避方法を思い付かなかったので、めったにあることでも無いし、そのままにしてあります。
今後、回避方法がわかればバージョンアップで対応していきます。
(入れ子になっている外側の大きい囲み枠というのは、ドキュメントの背面に敷いた地紋という可能性もあるので、もし選択アイテムが意図しない位置に移動してしまったら「地紋の中央に揃ったのでは?」ということも考えてみてください)

◆ スクリプトの動作は若干重め

これは、スクリプトがドキュメント上の全てのオブジェクトの座標を取得しているためです。
ですので、スーパーのチラシなどドキュメン上に膨大な数のオブジェクトが存在しているような場合には処理に時間がかかります。
あと、選択アイテムが1つの場合はたいしたことはありませんが、選択アイテムが複数になると処理に時間がかかります。

そのような場合には、Illustratorのメニューバーの位置に「(応答なし)」と表示されてアプリがフリーズしてしまったような状態なりますが、実際にはIllustratorはただの計算中で、このスクリプトの場合、しばらくすると何事も無かったように復帰して、選択アイテムが囲み枠の中央に揃っているということがほとんどです。
ですので、メニューバーに「(応答なし)」が表示されても、1分くらいは待ってみてください
もし、それだけ待ってもフリーズしたままだったり、「これでは時間がかかりすぎて使い物のならない」と感じられるようでしたら、複数の選択アイテムの処理を止めて選択アイテムを1つずつ処理するようにするか、このスクリプトの使用をあきらめて以前のスクリプト(Illustrator「1クリックで、テキストを囲み枠の中央に揃えられる」スクリプト)をお使いください。
以前のスクリプトは、テキストと囲み枠の合計2つのオブジェクトの座標を計算するだけなので高速です。
とにかく、動作が重いと感じられるかどうかには個人差があると思いますので、実際に重いかどうか、ぜひ一度体験してみてください。

◆ ダウンロードはこちらから

ここから先は

0字 / 1ファイル

¥ 500

この記事が気に入ったらサポートをしてみませんか?