Skip to content

Cannot set knockout mode once overprint is on #7

@jmwilson

Description

@jmwilson

In the code section for overprinting, there is this:

\def\spc@op@no{2}
\@namedef{spc@op@1}{1}
\@namedef{spc@op@0}{0}

...

\def\spc@getop{%
  \ifcase\spc@op
    /SPCmz gs
  \or
    /SPCop gs
  \or
    /SPCko gs
  \fi}

The first part only defines \spc@op@1 and \spc@op@0, consequently it is not possible to reach the last branch of the \ifcase statement. As a workaround, I found I could add \@namedef{spc@op@2}{2} in my local copy of colorspace.sty and invoking \overprintstate{2} will restore knockout mode.

As a example and test, the following should show two filled squares with the center knocked out in white and the letter 'A'. The right fill should overprint a black rectangle inside the fill.

\documentclass[tikz]{standalone}
\usepackage[overprint]{colorspace}
\definespotcolor{spotcyan}{Spot Cyan}{1,0,0,0}
\begin{document}
\begin{tikzpicture}
    \fill (0,0) rectangle (2,2);
    \node [fill=white] at (1,1) {A};
    \draw (3.5,0.5) rectangle (4.5,1.5);
    \color{spotcyan}\fill (3,0) rectangle (5,2);
    \overprintstate{2}
    \node [fill=white] at (4,1) {A};
\end{tikzpicture}
\end{document}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions