セグメントと文字の角度を合わせるIllustrator用スクリプト
選択したパスのセグメントに文字の角度を合わせるスクリプトです。また、文字の傾きをリセットして、垂直水平に戻すおまけ機能も搭載しています。ぜひ使ってみてください。
更新履歴
GitHubのリポジトリをご覧ください
対応バージョン
Illustrator CS5 〜 2020(一部バージョンは未検証)
ダウンロード
インストール方法
1. ダウンロードしたファイルを解凍します。
2. 所定の場所(後述)に「文字の角度をセグメントに合わせる.jsx」をコピーします。Windows版ではお使いのIllustratorの種類によって保存する場所が異なりますのでご注意ください。
3. Illustratorを再起動します。
4. [ファイル]→[スクリプト]→[文字の角度をセグメントに合わせる]と表示されていればインストール成功です。
ファイルをコピーする場所
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 64bit版):
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のバージョンが入ります
このスクリプトでできること
1. セグメントと文字の角度を合わせる
選択したセグメントの角度を自動で計測し、文字オブジェクトをそれに合わせて回転させます。地図を作成するときなど、文字の角度を道路や線路に合わせるのに便利です。
※セグメントが曲線の場合は両端アンカーポイントを直線で結んだ角度が基準になります
2. 文字の傾きをリセットする
傾いた文字オブジェクトの角度をリセットして、垂直/水平に戻します。ポイント文字とエリア内文字、縦書きと横書き、複数の同時処理に対応しています。
スクリプト実行に必要な選択
選択したセグメントの角度に文字オブジェクトを合わせる場合は、1つのセグメントと文字オブジェクトを同時に選択します。文字オブジェクトの傾きをリセットする場合は、文字オブジェクトのみを選択します。いずれも、文字オブジェクトは複数の同時処理に対応しています。
セグメントの選択方法
[ダイレクト選択ツール]を使って、セグメントのみ、または、セグメント両端のアンカーポイント2点を選択します。これ以外の選択は無効です。適切に選択できていないときは警告を表示します(警告はカスタマイズで非表示にできます)。
設定をカスタマイズする
スクリプトの5〜7行目にある「followPathDirection」、「keepAnchor」、「showAlert」の値を変更することで、挙動をカスタマイズできます。
followPathDirection(初期値:false)
trueにすると、パスの方向に従って回転の向きを決定します。横書きでは「パスの方向に向かって左」、縦書きでは「パスの方向」が文字の上になります。falseにすると、なるべく文字の上下が逆にならないように回転を調整します。
keepAnchor(初期値:true)
この項目に対応しているのは、ポイント文字だけです。trueにすると、文字揃えのアンカーの位置が回転の中心になり、結果としてアンカーの位置が固定されます。falseにすると、文字オブジェクトのバウンディングボックス中央が回転の中心になります。
showAlert(初期値:true)
trueにすると、有効な選択ができていない場合などに警告を表示し、処理を中断したり実行するかどうかを選択できます。falseにすると、一切の警告を表示せず、必要に応じて処理を実行、または中止します。
免責事項
・グループ内のオブジェクトなどにも対応していますが、オブジェクトの構造(特に複雑なグループやマスク、複合パス、複合シェイプなど)によっては、期待する動作をしないこともあります。
・数値の演算で内部的にわずかな端数が残ってしまうことがあり、ごくまれに傾きをリセットしても完全な垂直/水平にならないことがあります。
・このスクリプトを使って起こったいかなる現象についても制作者は責任を負えません。すべて自己責任にてお使いください。
・Mac版のCS5、CC 2018、2020で動作の確認はしましたが、OSのバージョンやその他の状況によって実行できないことがあるかもしれません。もし動かなかったらごめんなさい。