オーバープリントブラックのかわりを…

コミュニティーで発覚した、スタイルを当てた部分に更にCMYKブラックをオーバーライドした状態のものに対して「オーバープリントブラック…」を当てちゃうとブラックがスタイルカラーに戻っちゃうやつなんですけど、検証の結果グレースケールのブラックなら起きない不具合だってことがわかりました。
くわしくは以下を
で、スクリプトを用意した次第なんですけど…
一気に処理しようと思えば出来るんですけど、結果を確認しながらスクリプトを当てられるように選択範囲だけに絞りました。
var clr= new GrayColor();
clr.gray = 100;
var tg = app.selection;
for (var i=0; i<tg.length; i++)
{
for (var k=0; k<tg[i].characters.length; k++)
{
var ch = tg[i].characters[k];
var attr = ch.characterAttributes;
if (attr.fillColor.typename=="CMYKColor")
{
var c = attr.fillColor;
if (c.cyan==0&&c.magenta==0&&c.yellow==0&&c.black==100)
{
attr.overprintFill = true;
attr.fillColor = clr;
app.redraw()
}
}
if (attr.strokeColor.typename=="CMYKColor")
{
var c = attr.strokeColor;
if (c.cyan==0&&c.magenta==0&&c.yellow==0&&c.black==100)
{
attr.overprintStroke = true;
attr.strokeColor = clr;
app.redraw()
}
}
}
}こちらのスクリプトをテキストエディタにコピペして保存し、Illustratorのスクリプトメニューから実行ください。
テキストフレーム中のCMYKブラックを1文字ずつ検索してグレースケールブラックに変更しオーバープリントを設定します。