公開日:2018年2月24日
過去のエントリ(【InDesign】グループオブジェクトと「オブジェクトスタイル」の怪しい関係)に記載したように、オブジェクトスタイルはグループに対して適用した場合にはグループ内の各オブジェクトに適用されてしまうため、グループ全体に対してはかかってくれません。
一方、[効果]パネルからはグループを対象とした適用が可能です。
オブジェクトスタイルではグループ内の各オブジェクトに効果が適用されてしまう、かといってグループオブジェクト全体に対してはスタイルで効果を適用できない、となると逐一[効果]パネルによる設定が必要になります。
[グループの抜き]を使う手もありますが、この場合は囲みの内側にフチがついてくれません。
とはいえ、「囲み+引き出し線」で構成されているグループは、制作している内容によってはドキュメントに存在するのは1つや2つではありません。一つずつ数値を設定するのは面倒なので、「グループオブジェクトを選択しているとき、そのグループに対して光彩(外側)の効果を適用する」スクリプトを作成しました。
[効果]パネルの操作をスクリプトにした感じです。スクリプトにキーボードショートカットを設定しておけば、擬似的なスタイルとして使えます。
/*このスクリプトで使用しているouterGlowSettingsの設定値
applied:効果を適用するか否か。trueかfalse
opacity:不透明度。0-100
blendMode:描画モード。1852797549は「通常」に指定する値
2020625762:乗算
2020625764:オーバーレイ
2020625763:スクリーン
effectColor:カラー。スウォッチかカラー値を定義しておく
size:サイズ。数値で指定。スクリプトで再設定していない場合、単位はドキュメントの設定に準ずる
spread:スプレッドの値。0-100
technique:「精細」か「ソフト」の選択
2020618338:精細
2020618337:ソフト
2018.05.30 v2:複数オブジェクトを選択に対応。そのときはグループオブジェクトのみに効果が適用される。
*/
var doc=app.activeDocument;
var sels=doc.selection;
var edge=doc.swatches.itemByName("Paper");
for(var i=0;i < sels.length;i++){
if(sels[i].constructor.name=="Group"){
var glow=sels[i].transparencySettings.outerGlowSettings;
glow.applied=true;
glow.opacity=100;
glow.blendMode=1852797549;
glow.effectColor=edge;
glow.size=0.7;
glow.spread=100;
glow.technique=2020618338;
}
else{
//グループでないオブジェクトの場合は何も起こらない
}
};
スクリプト版では、フチ幅が0.7に決め打ちでしたが、これを「フチ幅をカスタマイズ可能なグループ白フチスクリプト」としてエクステンション化しました。
2018.06.01 | v1。リリース
2018.07.04 | v2アップデート。「パネルをクリックすると入力フィールドにフォーカス」「入力フィールドでenterキーを押下すると実行」など操作性の向上
2018.12.12 | v3アップデート。CC 2019に対応
InDesign CC 2015~2019に対応しています。
オブジェクトを選択して[グループ白フチちゃん]パネルの入力フィールドに任意の数値※を入力します。
※「0」を入力することで光彩効果をオフにできます。
[フチをつける]ボタンをクリックすると、選択しているオブジェクトのうち「グループ化されたオブジェクト」にのみ白フチがつきます。