batchTextEdit.jsx

Illustratorでポイントテキストをいちいちクリックしながら編集するのって、とても面倒。
一気に編集してしまいたい、という時に使える日常業務補助系スクリプトを書きました。
CS3とCS6のWindows版で動作確認しています。

使い方:
1.テキストオブジェクトを選択して、スクリプトを実行します。ポイントテキストだけでなく、エリアテキストやパステキストが混ざっててもOKです。テキストオブジェクト以外は無視するので一緒に選択されていても構いません。
2.ダイアログでテキストを編集します。内容をいったんエディタにコピーして、編集してからペーストしてもよいかもしれません。終わったらOKを押すと反映されます。

注意:

  • 編集結果を反映する際に、元のテキストにいろいろな書式が設定してあってもまったく考慮されません。1文字目の書式が全体に適用されます。
  • テキストオブジェクトが複数行の場合、改行文字は「@/」に変換されて表示されます。編集結果を反映する際に、「@/」が改行文字に戻されます。テキストを編集する際に、改行を使いたい場合もこの文字列を入れてください。逆に、「@/」という文字列自体は使えないことになります。それでは困るという場合、スクリプト内の設定を変えてください。
  • ダイアログに表示されるテキストの順番は、選択範囲(選択中のテキストオブジェクトの左上の点を囲む四角)の幅と高さによって決めています。高さのほうが大きい場合、上から下の順番です。上下位置が同じ場合は左が優先されます。幅が大きい場合は左から右で、左位置が同じ場合は上が優先されます。
  • 元のテキストオブジェクトの数より、編集後の行数が多い場合、多い部分は無視されます。少ない場合は、対応する行がないテキストオブジェクトは変更されません。

githubに置きました。
github.com/shspage/illustrator-scripts

Forkして貴方仕様に改造するのも大歓迎です。こう、1つのリポジトリに詰め合わせみたいにすると扱いにくいかもしれませんが、小さいスクリプトだしね。ライセンスファイルも1箇所に置いといたほうが気が楽というか。

メモ:
multilineのedittext内に改行が入力できないでつまづきました。調べたらFAQっぽくて、Ctrl+ENTERで入る、CS6ではwantReturnという追加された属性を指定すれば普通にENTERで入るとのこと。

追記 (2013.01.27 15:34) グループ化されたオブジェクトの扱いをミスっていました。修正いたしました。