忍者ブログ

ぼんぷろぐ

InDesignとかイラレとかのスクリプトよもやま話

新しいブログに引っ越しました。

こちらのブログはもう更新しませんが、コメント欄は生きてますので疑問、ご指摘などありましたらどうぞ。

[InDesign]
再描画せずに長体(平体)をかけて1段落をn行に収めるスクリプト

またindesignスクリプトの話ですが
app.scriptPreferences.enableRedrawっていうのを見つけました。
「スクリプト実行中に再描画する?」って意味で、値はtrue/false。
falseにしといたらモノによっては実行速度が速くなりそう。

なお、いったんapp.scriptPreferences.enableRedraw=falseにしたらスクリプトが終了してもその値がアプリの設定として保持されるので、その後実行するすべてのスクリプトで再描画なしになる模様。それが問題あるならスクリプトの最後でtrueに戻せばいいだけだけど、まあ問題あることなんてなさそうだからそこまでしない。

てことで、これ(長体(平体)をかけて1段落を1行に収めるスクリプト)を改良。
上記の高速化に加え、
よそのスクリプトを真似て行数の指定と、水平(垂直)比率の最大値の指定ができるようにしました。
あと前のやつだと「横書きテキストフレーム中の縦書きセル」でうまくできなかったのでそれも修正。セル内にカーソルを置いて使用できます。

ホントはセルを選択した場合も使えるようにしたかったけど、スクリプトでのセルの扱いがさっぱり分からん。複数セルを選択してるのにselection.lengthは1、selection[0].constructor.nameはCellsじゃなくてCellってどゆこと???
PR

[InDesign]
フレームグリッドではグリッドフォーマットを適用せずにペーストするスクリプト

inDesignのフレームグリッドは世間でどういう使われ方してるんだろう。

自分が使ってる限りだと、段組みで行が完璧に揃うのは便利。というかこれだけのためにプレーンテキストフレームじゃなくフレームグリッドを使わざるを得ない。

でもグリッドフォーマットは有効な使い道を思い浮かばないどころか、勝手に適用されて迷惑な機能でしかない。書式は基本的に段落スタイルで制御したいものだもん。世の中にはグリッドフォーマットを便利に使いこなしてる人もいるんだろうか。もしかしたら別のソフトでフレームで書式を決めるのが主流のがあって、そこからindesignに移行してきた人向けなのかなあ…と思えるような取ってつけた感があります。

てなわけで、「ペーストするとき、そこがフレームグリッド内なら『フレームグリッドを適用せずにペースト』を、そうでなければ普通にペーストするスクリプト」を作って、Ctrl+Vに登録することにしました。

使い方

Scripts Panelフォルダに下のスクリプトをぶち込んで、キーボードショートカットのカスタマイズでそのスクリプトにキーを割り当てます。このとき、「内容」をデフォルトじゃなく「テキスト」にします。そうしないとテキスト編集中以外にコマンドを実行したらエラーになります。

[InDesign]
入れ子のないグループにするスクリプト

グループ内グループって、ちゃんと意味があるときもありますが(効果を使ってたり)、単にややこしいだけな場合が多いので、グループの入れ子状態を解除して一重のグループにするスクリプトを書きました。
特にグループ内アイテムを選択するのにダブルクリックを使ってる人は入れ子のグループにイラッとしてるはず。

使い方

・グループを選択して実行すると、グループ内のグループをすべてグループ解除して入れ子のない状態にします。
・複数のアイテムを選択して実行すると、それらをグループ化した上で、上記を実行します。

特徴

・「グループにアイテムを追加」や「複数のグループの統合」のようにも使えます。
・グループじゃないアイテムばかりを選択して実行すると単なる「グループ化」として機能します。いっそCtrl+Gに割り当ててデフォのグループ化として使ってもいいかもしれない。人にはおススメしないけど。でも全体を移動させるために一時的にグループ化したいときとかあるからやっぱり不便かも

[InDesign]
長体(平体)をかけて1段落を1行に収めるスクリプト

(14.05.07 改良しました→再描画せずに長体(平体)をかけて1段落をn行に収めるスクリプト

初めてのスクリプト晒し♪

横書きなら文字の水平比率、縦書きなら垂直比率を調整して、1行ぴったりに収めるスクリプトです。主に「1行だけのテキストフレームがオーバーフローしている」というような状況で使います。

この手のスクリプトは先達の方がけっこういらっしゃいます
選択テキストを長体(または平体)で指定ライン数に追い込む「shorten_line_selection 0.2」 - 名もないテクノ手
へなちょこ@すくりぷてぃんぐ  自動長平体
[InDesign]気になるところを長体平体で一行減らす | blog mg ☃ frozen
とかとか
特にmg ☃ frozenさんのコード
が超カッコイイ。プロパティ名を変数にして縦書きの場合と横書きの場合をひとつにまとめてるの。こういうのさらっと書けるようになりたいです。

使い方

・カーソルを置くか文字を範囲選択して実行すると、その段落を1行に収めます
・テキストフレームを選択して実行すると、その中の最初の段落を1行に収めます
・グループを選択して実行すると、グループ内のテキストフレームすべてに上記を行います。
・複数のテキストフレームまたはグループを選択して実行すると、それぞれに上記を行います。


特徴

・速い
 垂直・水平比率を100%から1ずつ下げていくのではなく、100%から最初に32引き、次に16、8、4、2、1を増減させるアルゴリズムです。たった5回のループで1ずつ下げたのと同じ結果が得られます(たぶん)。
・垂直・水平比率の下限は36%
 36%まで下げて1行にならなかったら諦めます
・1回の[Ctrl+z]でスクリプト使用前に戻る
・複数選択やグループ選択でいっぺんに処理できる
 入れ子のグループにも対応してます


プロフィール

kawamoto_α
(あるふぁ(仮))


InDesignで新聞組版のようなことをしています。

ツイッタ

※ブラウザによっては当ブログからDLしたzipファイルが拡張子なしになることがあるようですが、.zipを補って開いてください。



イラレ用トーンカーブスクリプト(¥1500)



クロソイド式角丸長方形スクリプト(¥500)
Illustrator用
InDesign用



イラレスクリプトをキーボードショートカットで実行するやつ(Win用)