Illustrator:文字の位置そのままで揃え方向を変えたい時に使うやつ

というわけでですね(何が)

しばらくスクリプトのことだらっだら書いてたんですけど、
今ウチの業務ってIllustratorばっかりなんですよな。。
InDesignほとんど出番ないんですよ。。
思い起こせば、Illustratorでドヤ顔できるスクリプトってまだ書いたことなくて。
あるかも知れないけどパッと思い出せないレベル。非公開配布したやつぐらいしか。

とりあえずで、自分にすぐ必要になったやつを書きました。
どんな物かって、むかしInDesign用に書いたやつの劣化移植版ですけども。
概要はリンク先から ↑ 基本機能の使い方を参照してくだされば。



ai_JustificationSwitcher.jsx

CS3以降ならなんでもてきとうに動くはず。

2016.11.01 ダイアログ出現座標を[450, 450]に指定。画面中央までマウス持っていくの大変だったので(自己都合)
2016.06.30 ボタンクリックが煩わしいので、使用頻度の高い「右 / 下揃え」をOKボタンに指定。つまり、リターンキーを叩くと「右 / 下揃え」が押されたことになります
2016.06.27 ドロップダウンリストが煩わしいので(スクリプトは書きやすかったのだが)ボタン操作に変更しました。また、アピャランスヘビーユーザのために単一オブジェクトからなるグループオブジェクトもサポートするよう改良しました。
2016.06.20 左揃えがうまくいっていない件、回避案をコメントいただき反映しました。再度ダウンロードいただき上書きお願いします。
すーませんすーません。
2016.06.17 CS4以降で「左/上揃え」がうまくいかないようです。古くからあるバグみたい…
回避策が出るまで不便なままお待ちください。すーみません。


あそびかた

こういう、かわいいデータがあります。
このままだと、とても直しにくい。

160520a

いい感じにしたいテキストをまとめて選択します。
テキスト以外も選択しちゃっていいです(グループの場合、その内容までは掘り下げてないので白矢印とかでどうぞ)。
そんでスクリプト実行。

160520f
なんか出ます。

リストから目的の揃え方向を選択してプリーズボタンをカチ。
プリーズボタンって久々に出たなあw

160520c

やったー。
という内容。

コードはこちら

ついでにフローチャートも。
原型がコレ

160520d

それをループにして、
ついでにパレットとかつけました。
ってInDesign版のコピペ流用だけど。

160520e

どやっ(自己満足)

ちなみに今回(も)「おーけー流星号」の呪文を唱えました。。
プロパティさえわかればあとはカンタンなんですよ。
(と言いつつ他の箇所を2回書き間違えたんですが)
(しかもフタ開けてみたら当てズッポでも正解しそうな浅い所の簡単なプロパティだったんですが)
(忙しかったんですもの)
コードのやり取りにGitHubを使ってみたんですが、あのーグダグダでしたw

でーす。

Facebooktwittergoogle_plus

12 thoughts on “Illustrator:文字の位置そのままで揃え方向を変えたい時に使うやつ

  1. 今回のも実務的で良いですね。
    引出線や寸法線にぶら下がっている文字列の方向整理なんかに使おうと思います。これまでは変形パレットを使って修正していたので、随分楽になります。いやホント、大助かりです。
    サンプルとしても随所にコメントが記述されているおかげで、理解する手助けになります。特にダイアログ周りの記述が参考になりました。
    いやー、まだまだ知らないことだらけです。

    • 毎度どーもどーも。
      ScriptUIはダイアログならいいんですけどパレットにしてしまうと特にイラスターではいろいろ面倒が多いので最近はConfiguratorを使ってます。これもオワコンですけどorz

  2. すばらしい! 公開ありがとうございます!
    作例のような「左揃えのまま手動でがんばってセンター揃えにしました」みたいな
    データをいただくことが多いので、とても助かります。

    このスクリプトを使うのは、左揃えのデータを直すことがほとんどでしょうから
    実用上あまり影響はないような気はするのですが、
    自分の環境では「左 / 上揃え」になってくれないようです。
    (「中央揃え」「右 / 下揃え」にはなってくれます)

    試しに、10行目の

      pepsi [“左 / 上揃え”] = Justification.LEFT;

    のところを

      pepsi [“均等配置(最終行左揃え)”] = Justification.FULLJUSTIFYLASTLINELEFT;

    にしてみたら(31行目も直しました)、
    とりあえず「均等配置(最終行左揃え)」にはなるようです。

    ……もうちょっと役に立ちそうなことを書いてみたかったのですが、
    このあたりで頭が割れそうになってきましたので、このまま送信してしまいます。
    なんにせよ、ありがとうございました!

    • ぎゃ、ほんとだCS3では動いたけどCS6ではダメでした!
      流星号めー(←自分で確認しとけや)
      すみません直ししだいアナウンスします、ありがとうございます!

      • 調査中……
        どうも未解決事案のようです。。
        https://forums.adobe.com/thread/1010981
        うわーどうしましょだよもう

        • 思ったより恐ろしい展開にぶるぶるしています……。

          テスト環境を書いてなかったのに気づいたので、
          すごく今さらですが書いておきます。

           ・OS X 10.10 Yosemite
           ・Illustrator CS6 および CC2014

          とりあえず、(箱組じゃない)バラ打ちのテキストなら
          均等配置(最終行左揃え)にしておいてから
          手動で左揃えにしてもいいような気はしますけど。

          でも、バグが直ってくれる方がいいですよねぇ……。

          • マサ某さんありがとうございます。
            手元の環境ではCS4以降がダメでした。CC以降は帰宅まで未チェックです。
            ほんっとにイラスターのスクリプトは地雷が多い…orz

  3. 解決方法あります。

    1 テキストフレームに resize() をかける。文字サイズなどはオーバーライド扱いになる。以下例
    var pointText = app.documents[0].selection[0] ;
    pointText.resize(100.1, 100.1) ;
    pointText.story.textRange.justification = Justification.LEFT ;
    pointText.resize(99.9001, 99.9001) ;

    2 アクション doScript() で左揃えにする。結構動きが遅い。アクションのソースコードをいじる必要がある

    3 AppleScript で cmd+shift+L のキーを送る。事前にアクセシビリティのセキュリティ設定の許可がいる

    ※ excuteMenuCommand(‘leftAlign’) は動かない

    といった感じです。

    • ありがとうございます! リサイズ案で解決しました。
      先のリンクの米フォーラムでもなんだかリサイズしてたなあと思いつつも、試しておりませんでした。。
      どうも助かりました!

  4. はじめまして。
    良いスクリプトですね!使用させていただいております。
    中央揃えになっているものを左に揃えるのに使用させていただいています。
    かなり作業がラクになりました。

    まだまだ私の作業には以下の問題があり。。。
    ・500ファイルあり、膨大
    ・文字数が1文字の箇所のみ適用

    なんとか一括で1文字の箇所だけを選択して左揃えにしたいと思って、頑張っていましたが、頭がパンクして無理でした。
    しかし、このスクリプトがなければもっと時間かかっていたので本当に感謝しております。
    ありがとうございます。

    • どうもどうも。お役に立ててれば何よりです。ご報告ありがとうございます。
      膨大な量の一括作業にはスクリプト便利ですけど、条件が特殊だとハンドメイドかオーダーメイドになりますねー。
      浅く広く使える物はこうして配布などしてますが。。
      お気持ち程度でもご予算が立つようであればメールなどでご相談ください。
      もしくはヒマで親切なひとの集まる掲示板ですねw

  5. […] Illustrator:文字の位置そのままで揃え方向を変えたい時に使うやつ|車車車く本牛勿 -Rollin’ Real- […]

コメントを残す

メールアドレスが公開されることはありません。


*