Skip to main content
Participant
February 1, 2018
Resuelto

オーバープリントの変更でアピアランスで非表示になっているものが表示されます

  • February 1, 2018
  • 1 respuesta
  • 6952 visualizaciones

アピアランスパレットで非表示にされているものが、

属性パレットのオーバープリントのチェックをオン/オフで勝手に表示に変更されます。

オブジェクト単体では発生しませんが、以下の条件で発生しました。

1.塗りと線を設定したオブジェクトがある。

2.文字をアウトライン化したオブジェクトがある。

3.1.のオブジェクトの線がアピアランスパレットで非表示になっている。

この状態で、全てのオブジェクトを選択して、属性パレットの「塗りのオーバープリント」

のチェックをオン/オフすると、非表示のはずの線が表示されてしまいます。

RIPで処理するための前処理で、全てのオブジェクトのオーバープリントを解除するときなどに

思わぬ線や塗りが出現します。

Windows10(1709) / Illustrator CC(2018)22.0.1 共に64bitで発生しました。

回避方法などありましたら、教えて下さい。

    Este tema ha sido cerrado para respuestas.
    Mejor respuesta de monokano

    発生状況を探ってみたところ、

    • 複数のオブジェクトを選択し、属性パネルのオーバープリントチェックボックスをクリックすると、前面オブジェクトの「アピアランスの線と塗り」の表示/非表示状態が、選択オブジェクトすべてに反映される

    こういうことだと思うのですが、どうでしょうか。

    なお、オブジェクトがパスでもテキストでも、この発生状況になります。

    1 respuesta

    monokano
    Community Expert
    Community Expert
    February 1, 2018

    OS X 10.10.5

    CS6、CC 2017

    再現しました。おそろしい…おそろしい…

    再現条件 2 は、パスオブジェクトであれば何でも構わないようで、

    選択しているオブジェクトが複数であることが条件のようです。

    回避方法は…スクリプトで実行すれば回避できそうな気がします。

    monokano
    Community Expert
    monokanoCommunity ExpertRespuesta
    Community Expert
    February 1, 2018

    発生状況を探ってみたところ、

    • 複数のオブジェクトを選択し、属性パネルのオーバープリントチェックボックスをクリックすると、前面オブジェクトの「アピアランスの線と塗り」の表示/非表示状態が、選択オブジェクトすべてに反映される

    こういうことだと思うのですが、どうでしょうか。

    なお、オブジェクトがパスでもテキストでも、この発生状況になります。

    jdash2000
    Inspiring
    February 2, 2018

    今まで「運が良かった」だけで、いつ事故ってもおかしくない処理

    本当にそうですよね。

    属性パネルの不具合なのでしょうけど、この現状だと一括変更は禁忌。

    スクリプトですが、どうやら「アピアランス内の属性」にはアクセスできないらしく、そこは対象外にならざるをえないようです。ただし「オーバープリント属性があるかどうかだけを調べるスクリプト」が有難いことに公開されていますので、これを利用しながら対処するのが現実的かもしれません。

    【解決】ファイルごとにオーバープリントの有無を確認したい!


    オーバープリントってスクリプトで解除できないのでしょうか。

    以下のスクリプトを実行したらオーバープリントの解除はできましたが、何か違うのでしょうか?

    // 全ての図形のオーバープリント(塗り・線)をクリアする (function(){ var count = 0; var items = app.activeDocument.pageItems; for(var j=0; j<items.length; j++){ var t = items.typename; // 文字の場合は1文字単位で処理をする if (t == "TextFrame"){ for(var i=0; i<items.characters.length; i++){ var f1 = items.characters.overprintFill; var f2 = items.characters.overprintStroke; items.characters.overprintFill = false; items.characters.overprintStroke = false; if (f1 || f2){ count = count + 1; } } }else{ var f1 = items.fillOverprint; var f2 = items.strokeOverprint; // 塗りのオーバープリントを解除 items.fillOverprint = false; // 線のオーバープリントを解除 items.strokeOverprint = false; if (f1 || f2){ count = count + 1; } } } if (count > 0){ alert(count+"ヶ所のオーバープリントを解除しました"); }else{ alert("オーバープリントが設定されているものはありませんでした"); } })();
    クリエイター手抜きプロジェクト[428]Adobe Illustrator CS4〜CC 2014編 特定の条件でオーバープリントを解除する/古籏一浩(日刊デジクリ)