忍者ブログ

ぼんぷろぐ

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

[InDesign]
InDesignの「隠された文字組みアキ量」をスクリプトでどうにかする

えーっとまずInDesignの文字組みアキ量設定には『隠された設定値』が存在してることが、『なんでやねんDTP』のworks014さんらの検証により明らかになってます。

InDesignの隠されたアキ量 - Togetterまとめ
http://togetter.com/li/676197


アキをツメるんじゃなくアケる方向で調整するとき、句読点や閉じカッコの後のアキが、文字組みアキ量設定ダイアログで最大値50%とかにしていても、最大値100%として調整されている…らしい(あってる?)。
追記:やっぱり間違ってた。100%を足して150%として調整されるらしい。
追記2:というのも厳密には間違いで、50%として調整した後、もっとも優先度の低い『優先度:なし』の段階でさらに100%を調整するってことか。



一方、文字組みアキ量設定をスクリプトから制御しようという話に関して、先人の知恵はこちらにまとめられてる通り。

文字組みアキ量設定、まとめ? - 名もないテクノ手
http://d.hatena.ne.jp/seuzo/20090730/1248890024


これによるとスクリプトからアキ量を設定する時に使う配列は
[文字クラス番号①, 文字クラス番号②, ②は後の文字か否か, 最小値, 最適値, 最大値, 優先度…]
という形式になっており、
たとえば句点(6)の後に平仮名(11)がくるときの間のアキを設定する配列は
[6,11,true,…]

[11,6,false,…]

2通りがあることになる。
そしてそれらはどっちを使ってもいいわけではなく、ちゃんと文字組みアキ量設定ダイアログに反映されるのは一方だけである…らしい。
PR

[InDesign]
フレームグリッドの行/字送りの分だけページアイテムを移動させるスクリプト

複数のページアイテムを選択しているとき、その中からさらに一つ、キーオブジェクトを選択できるというInDesign CS6以降の機能を使います。
フレームグリッドがキーオブジェクトとして選択されている場合、その行送りや字送りの分だけ、キーオブジェクト以外の選択されているオブジェクトを上下左右に移動させるというスクリプトです。

つまりはAJABONさんの『ギョギョモジャー』のようなことが、CS6以降かつフレームグリッド限定だけども、もっとお手軽にできるんじゃないかと書いてみたものです。


『字・行送り分上にずらす.jsx』、『字・行送り分左にずらす.jsx』、『字・行送り分下にずらす.jsx』、『字・行送り分右にずらす.jsx』の4点セットとなっております。
ずらす方向とフレームグリッドの組み方向に応じて、字送り分ずらすか行送り分ずらすか自動判別します。


『フレームグリッドがキーオブジェクトとして選択されている』という条件を満たさない場合、InDesignに標準の機能として備わってる『右にずらす』等(環境設定>単位と増減値で設定した量だけ移動させる)を実行するようになってます。標準の『右にずらす』等に成り代わって、キーボードショートカットの矢印キーに登録して使用することを想定した仕様です。

ついでに

ついでにテキストフレームorフレームグリッドの1段分(段間含む)ほど移動させるスクリプトも作りました。こちらはキーボードショートカットの[Shift+矢印キー]に登録して使用することを想定し、キーオブジェクトがテキストフレームじゃない場合は『10倍ずらす』を実行するようにしてます。非フレームグリッドのテキストフレームにも使えます。

ダウンロード

[ダウンロード]

ちゅうい

・回転したフレームグリッドおよびスプレッドビュー回転には対応してません。
・標準の『右にずらす』等よりも若干重いです。若干ですけど、矢印キーは頻繁に連打で使用したりもするのでその重さが許容できないかも…。やっぱり矢印キーのキーボードショートカットはデフォルトのままにしといて、[Shift+矢印キー]と[Ctrl+Shift+矢印キー]を使うべきかなあ

[InDesign]
フレーム調整オプションの自動フィットで「内容を中央に揃える」

「グラフィックを配置したフレームを変形したとき、グラフィックの拡大率は変化させずに、位置は自動的にフレームの中央に揃うようにする」っていうのがやりたかったのですが、
ここ↓にある『内容を中央に揃える』が

こっち↓に無いので困りました。


[InDesign]
スクリプトをフォルダ構造のままInDesignメニューにするスクリプト(と、細かいスクリプトいくつか)

置換クエリをメニューにするスクリプトってのを前に作ったのですが、設定が非常に面倒だし、いろいろと拙い点があって恥ずかしいので無かったことにさせていただきたいのです。
 で、その代替というか、もうちょっと汎用性を高くしたのを作りました。

 
 特定のフォルダ内にあるスクリプトをすべてメニューにするスクリプトです。サブフォルダはそのまんまサブメニューになります。
「Startup Scripts」フォルダに入れて使うのを想定してます。
例によってCS6@Win7でしか動作確認してませんが、CS3くらいから動く予感。

ダウンロード

[スクリプトフォルダをメニューに ver1.01]

(2015.7.17 1.0→1.01 同梱のテキスト置換スクリプトがグループ選択時にうまく動作しなかったのを修正)

仕様

・対象のフォルダは、デフォルトでは「Scripts Panel」フォルダ内の「menu」フォルダになってます。
変更する場合は、スクリプトの2行目にフォルダのパスを書きます。Windows式の、C:\…って形式で書く場合は\を\\に置き換えます。

var menuFolderName="C:\\Users\\mikan\\InDesignMenu";

・メニュー化されるのは拡張子js,jsx,vbsのスクリプトです。
・メニューの順番はファイルの名前順になります。
・拡張子はメニューには表示されません。
・ファイル名の先頭が半角数字+アンダーバーの場合、その部分はメニューには表示されません。

ファイル名:01_自動長体.jsx → メニュー名:自動長体

・半角数字+アンダーバーに拡張子がついただけのファイルはメニューにならずに区切り線になります。

えーとつまり
メニューの順番は勝手にファイルの名前順になってカスタマイズできないけど、ファイル名先頭の数字+アンダーバーはメニュー名に含まれないようにしたので、メニューの順番を制御したければ頭に数字をつけて、ファイル名順がそのまま目的のメニュー順になるようにうまくリネームしてくれ、ということです。そのときに区切り線を入れたい場合には10_.jsxみたいなダミーファイルを置いといてくれと。

なんか楽するつもりで作ったけど結局面倒くさくなってる気がするぞ。メニューの順番を気にしないならホントにフォルダ指定するだけなんですが。

プロフィール

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

InDesignスクリプトについて

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

twitter

フリーエリア