忍者ブログ

ぼんぷろぐ

InDesign、イラレ、フォトショ(CS6 Win)の勉強中。。。(旧まとめいみブログ)

[InDesign]
ツイッターに書いた小ネタを振り返ってみる InDesignスクリプト編

超絶便利なスクリプトです。私はShift+Zという打ちやすいショートカットキーを登録して頻繁に使ってます。
CS5あたりでInDesignのDOMが変更されて、pageItemの親がページじゃなくスプレッドになったことで動かなくなってますが、少しの修正で動きます。
PR

[InDesign]
ツイッターに書いた小ネタを振り返ってみる ExtendScript編

これESTKのインストールフォルダ内にあるjsxを眺めてて気づいたんですけど、JavaScript Tools Guideの23ページにもちゃんと書いてありました。
ScriptUIとかBridgeTalkに使うと便利そう。



少なくともCS6では、ScriptUIのListBoxはWindows8.1およびWindows10でまともに機能しません。ListBox使ったスクリプトを配布なさる方はご注意。

[InDesign]
ツイッターに書いた小ネタを振り返ってみる InDesign編


1年ちょい前の私によると、回り込みありのアンカー付きオブジェクトのある段落は、たとえ段落コンポーザーに設定されていたとしても単数行コンポーザーで処理されるそうです。なぜでしょうか。

アンカー付きオブジェクトに回り込みを設定しても、アンカーより前の部分のテキストは回り込みません。これは、もし回り込んでしまったら、それによってアンカーが動く→アンカー付きオブジェクトが動く→回り込みの範囲が変わってテキストが動く→アンカーが動くという無限ループにおちいってしまうからと考えられます。

同じように、アンカーのある行の、アンカーより後ろの部分も回りこみが効きません。ここもテキストが動くと、ジャスティファイや追い込み処理などの影響でアンカーが動く可能性がありますからね。

さらに段落コンポーザーであれば、アンカーのある行より後の行が動いてもアンカーを動かす可能性があります。しかし回り込みはアンカーより後の行には効く。これはどうなってんだろうと調べたところ、勝手に単数行コンポーザーにしてるっぽいことが分かったのでした。

(にしても「アンカーのある行の、アンカーより後ろの部分」については回りこんでもいいと思う。たとえばアンカーより前の部分を上揃え、アキ量最適値固定とすればアンカーは動かなくできる。実際「ここまでインデント文字」ではそういうことをやっている)

[InDesign]
レイアウトグリッドを選択フレームグリッドにあわせるスクリプト

久しぶりに普通に使えそうなInDesignスクリプトです。フレームグリッドを1つ選択して実行するとレイアウトグリッドがそのフレームグリッドのグリッドにピッタリ重なるようになるはず。


var page=app.layoutWindows[0].activePage;
var sel0=app.layoutWindows[0].selection[0];

page.gridData.properties=sel0.parentStory.gridData.properties;

var pb=page.bounds;
var vb=sel0.visibleBounds;
var tfp=sel0.textFramePreferences;
var we=sel0.strokeWeight;
var ma=tfp.insetSpacing;

page.marginPreferences.properties={top:0,left:0,bottom:0,right:0};//16.08.05追記

page.marginPreferences.properties={
    top:vb[0]-pb[0]+we+ma[0],
    left:page.side==1818653800?pb[3]-vb[3]+we+ma[3]:vb[1]-pb[1]+we+ma[1],
    bottom:pb[2]-vb[2]+we+ma[2],
    right:page.side==1818653800?vb[1]-pb[1]+we+ma[1]:pb[3]-vb[3]+we+ma[3],
    columnGutter:tfp.textColumnGutter,
    columnCount:tfp.textColumnCount,
    columnDirection:sel0.parentStory.storyPreferences.storyOrientation
}




気づいたこと
・page.marginPreferencesの『left』は必ずしも左じゃなく、ノド・小口でいうところのノド
・gridDataプロパティはTextFrameにもある(CS6から?)けどこいつはgridViewとかの数個のプロパティしか持っていない。本物はTextFrame.parentStory.gridData
・夏のかつおのたたきはおいしい



(2016.08.05)レイアウトグリッドをページの上の方から下の方に変更しようとすると失敗する問題を修正

プロフィール

あるふぁ(仮)
InDesignで新聞組版のようなことをしてる人です。

InDesignスクリプトについて

つくったInDesignスクリプトのまとめ

twitter

フリーエリア