セグメントと文字の角度を合わせるIllustratorのスクリプトを作りました
Illustratorで地図などを作成するとき、路線の角度に合わせてテキストを配置することは少なくありません。一般的には、セグメントの角度を計測して同じだけ回転したり、パス上文字をぴったり重ねたりしますが、セグメントの角度が変わるたびに文字の角度も調整しなければならず、なかなか面倒です。そこで、これらの工程を自動化するスクリプトを作りました。文字の傾きをリセットして、垂直/水平に戻すおまけ機能も搭載しています。ぜひ使ってみてください。
更新履歴
GitHubのリポジトリをご覧ください
対応バージョン
Illustrator CS5 〜 CC 2018(一部バージョンは未検証)
ダウンロード
スクリプトをダウンロードする
インストール方法
ダウンロードしたファイルを解凍します。
所定の場所(後述)に「文字の角度をセグメントに合わせる.jsx」をコピーします。Windows版ではお使いのIllustratorの種類によって保存する場所が異なりますのでご注意ください。
Illustratorを再起動します。
ファイル > スクリプト > 文字の角度をセグメントに合わせると表示されていればインストール成功です。
ファイルをコピーする場所
OS バージョン フォルダの場所 Mac 全 /Applications/Adobe Illustrator (ver)/Presets/ja_JP/スクリプト/ 32bit Win CS5まで C:\Program Files\Adobe\Adobe Illustrator (ver)\Presets\ja_JP\スクリプト\ 64bit Win CS5, CS6(32bit版) C:\Program Files (x86)\Adobe\Adobe Illustrator (ver)\Presets\ja_JP\スクリプト\ 64bit Win CS6(64bit版)以降 C:\Program Files\Adobe\Adobe Illustrator (ver) (64 Bit)\Presets\ja_JP\スクリプト\
(ver)にはお使いのIllustratorのバージョンが入ります
本スクリプトは、CS5、CC 2018以外での動作を検証しておりません
このスクリプトでできること
1. セグメントと文字オブジェクトの角度を合わせる
選択したセグメントの角度を自動で計測し、文字オブジェクトをそれに合わせて回転させます。地図を作成するときなど、文字の角度を道路や線路に合わせるのに便利です。
セグメントが曲線の場合は両端アンカーポイントを直線で結んだ角度が基準になります
2. 文字オブジェクトの傾きをリセットする
傾いた文字オブジェクトの角度をリセットして、垂直/水平に戻します。ポイント文字とエリア内文字、縦書きと横書き、複数の同時処理に対応しています。
スクリプト実行に必要な選択
選択したセグメントの角度に文字オブジェクトを合わせる場合は、1つのセグメントと文字オブジェクトを同時に選択します。文字オブジェクトの傾きをリセットする場合は、文字オブジェクトのみを選択します。いずれも、文字オブジェクトは複数の同時処理に対応しています。
セグメントの選択方法
[ダイレクト選択ツール]を使って、セグメントのみ、または、セグメント両端のアンカーポイント2点を選択します。これ以外の選択は無効です。適切に選択できていないときは警告を表示します(警告はカスタマイズで非表示にできます)。
設定をカスタマイズする
スクリプトの5〜7行目にあるfollowPathDirection、keepAnchor、showAlertの値を変更することで、挙動をカスタマイズできます。
キー 初期値 型 内容 followPathDirection false boolean セグメントの方向に従って回転する(trueセグメントの方向に合わせる|falseなるべく文字の向きが上下逆にならないように調整する) keepAnchor true boolean ポイント文字の回転時にアンカーの位置を固定する(true固定する|false固定しない) showAlert true boolean オブジェクトやセグメントなどの選択などが適切でない場合に警告を表示する(trueする|falseしない)
keepAnchorに対応しているのはポイント文字だけです。エリア内文字では挙動は変わりません。
カスタマイズの詳細
followPathDirection(初期値:false)
trueにすると、パスの方向に従って回転の向きを決定します。横書きでは「パスの方向に向かって左」、縦書きでは「パスの方向」が文字の上になります。falseにすると、なるべく文字の上下が逆にならないように回転を調整します。
keepAnchor(初期値:true)
この項目に対応しているのは、ポイント文字だけです。trueにすると、文字揃えのアンカーの位置が回転の中心になり、結果としてアンカーの位置が固定されます。falseにすると、文字オブジェクトのバウンディングボックス中央が回転の中心になります。
showAlert(初期値:true)
trueにすると、有効な選択ができていない場合などに警告を表示し、処理を中断したり実行するかどうかを選択できます。falseにすると、一切の警告を表示せず、必要に応じて処理を実行、または中止します。
免責事項
グループ内のオブジェクトなどにも対応していますが、オブジェクトの構造(特に複雑なグループやマスク、複合パス、複合シェイプなど)によっては、期待する動作をしないこともあります。
数値の演算で内部的にわずかな端数が残ってしまうことがあり、ごくまれに傾きをリセットしても完全な垂直/水平にならないことがあります。
このスクリプトを使って起こったいかなる現象についても制作者は責任を負えません。すべて自己責任にてお使いください。
Mac版のCS5とCC 2018で動作の確認はしましたが、OSのバージョンやその他の状況によって実行できないことがあるかもしれません。もし動かなかったらごめんなさい。
ライセンス
文字の角度をセグメントに合わせる.jsx
Copyright (c) 2018 Toshiyuki Takahashi
Released under the MIT license
http://opensource.org/licenses/mit-license.php
Created by Toshiyuki Takahashi (Graphic Arts Unit)
Illustratorの書籍を執筆しました。基本操作をマスターしたあと次のステップへ進みたい「2年目のIllustratorユーザー」にぴったりの内容です。それぞれのテーマに基づきポイントを絞ったテクニックが載ってます。超時短と言いつつ時短技だけではないので、ぜひチェックしてみてください!
超時短Illustrator「デザイン&レイアウト」速攻アップ! [CC 2018対応]
著者:高橋としゆき
出版社:技術評論社/サイズ:A5判/ページ:256P/本体価格:本体1,980円+税
ISBN:978-4-7741-9606-0











