IllustratorのスクリプトとKeyboard Maestroの合わせ技で「メイン+サブ」のような2行のテキストを一瞬でいい感じに仕上げる
「メイン+サブ」のような2行のテキストがあるとき、横幅を揃えつつ、念のため行揃えを中央揃えにする場面があります。私の場合、むっちゃ多いのですが、IllustratorのスクリプトとKeyboard Maestroの合わせ技にて一瞬で実現しています。
※定型作業なので、そのものズバリのスクリプトが書けると思うのですが…
Keyboard Maestroマクロ
次の手順をKeyboard Maestroのマクロとして設定しています。
① テキスト編集中の場合には抜ける(⌘ + return)
② 位置を変更せずに行揃えを中央揃えに
③ 複数行をバラす
④ テキストの横幅を揃える
⑤ テキストの間隔を0に
位置を変更せずに行揃えを中央揃えに
古くからJohnさんのスクリプトが使われてきましたが、したたか企画さんのを使わせていただいています。
複数行をバラす
定番中の定番。説明不要ですね。ただし、テキスト編集モードになっていると発動しないので、「⌘ + return」でテキスト編集モードを抜けるようにします。
テキストの横幅を揃える
これがちょっと難関。
2つのオブジェクトの大きさを合わせるスクリプトには、Gorolib Designさん謹製のものがあります。大きさの基準を「高さ・横幅」を順番に実行してくれる優れものなのですが、「2行のテキストの横幅を合わせたい」場合には、この便利さが仇に。
そこで @rocappa さんの「サイズを指定してオブジェクトの大きさを揃えるスクリプト(縦横固定)」を次のように改造することで使わせていただいています。
・ダイアログが出ないように
・高さ揃え(kijyun=sel[i].height;)を削除
かれこれ、10年以上お世話になっています!
テキストの間隔を0に
こちらのスクリプトは環境設定の[キー入力]の値を参照して間隔を調整してくるというものです。ひとまず、0にしたいので、
CKL = app.preferences.getRealPreference("cursorKeyLength")
を「CKL = 0」に変更して利用。
ちょっと困ってしまうのがテキストの高さ。[オブジェクトのアウトライン]効果を適用し、かつ、プレビュー境界をONにしても、テキストの高さで揃ってしまうんです… 貂明朝や源ノ角ゴシックでは致命的…
3行はイケるの?
3行で実行すると順番が狂ってしまいます…
謝辞
改めてスクリプトを書いてくださった方に感謝!!!
ありがとうございます!
マクロのダウンロード
スクリプトは入っていませんので、ご自身でダウンロードしてください。
マクロの調整
読み込んだマクロの「アプリ指定Aiエンジン」を開き、スクリプトを置くフォルダーを指定します。
デフォルトでは次のように指定されています。ここをスクリプトを格納している親フォルダーに指定してください。
~/Dropbox/Dropbox-shared/sync-setting/Ai/スクリプト/
親フォルダー内にカテゴリごとのフォルダーを作成し、その中にスクリプトファイルを入れます。
まとめると次のように管理しています。
ご自身の管理方法があれば、そちらに応じて変更してください。