Aditya Mahajan wrote:
On Mon, 20 Jul 2009, Hans Hagen wrote:
Mojca Miklavec wrote:
With 2009.07.20 09:35 MKIV & latest TikZ I get (among many other
errors that follow)
! Undefined control sequence.
\pgfu...@addpdfresource@colorspaces ...olorspaces
{#1}
l.396 ...rspaces{ /pgfprgb [/Pattern /DeviceRGB] }
?
I don't know if that's a problem with TikZ or ConTeXt (no time to
debug now, but maybe I can try to prepare some minimal example that
fails; later). ConTeXt MKII works fine on the same document.
this has to do with the fact that tikz manipulates documents resources
it probably went unnnoticed in previous mkiv and mkii, but that way
tikz was obscuring regular context resource handling (i.e. when you
use mp an tikz mixed one of them wins with respect to resources so the
other kind's graphics fail to view i.e. shades, transparencies, etc)
therefore in mkiv all access is shielded and goes via special macros:
\pdfbackendsetextgstate {name}{legal pdf}
\pdfbackendsetcolorspace{name}{legal pdf}
\pdfbackendsetpattern {name}{legal pdf}
\pdfbackendsetshade {name}{legal pdf}
normal "legal pdf" is a reference like 123 0 R
If more access is needed, i can add it but it will always go via an
interface as in mkiv most \pdfcommands are going away.
So, tikz needs to be adapted to this. A few weeks ago I looked at it
but found out that i had an old version so delayed it.
I am using the latest context minimals with latest tikz.
Test file:
\logginall
\usemodule[tikz]
\starttext
\input knuth
\stoptext
The log file says
\pgfu...@addpdfresource@colorspaces #1->\appendtoPDFdocumentcolorspaces
{#1}
#1<- /pgfprgb [/Pattern /DeviceRGB]
{undefined}
hm, my logfile says nothing
So, \appendtoPDFdocumentcolorspaces is undefined.
Now, \append...colorspaces is defined in back-pdf.tex which AFAIU that
file is not loaded. It is redefined in spec-fdf.mkii, so mkii uses that
defininition. In mkiv, back-pdf.mkiv defines \pdfbackendsetcolorspace.
So, which command should tikz use so that it works with both mkii and
mkiv. Or should it do a \beginLUATEX redefinition of some macros for mkiv?
The relavant tikz file is tex/generic/pgf/pgfutil-context.def so the
changes there will not affect latex.
something
\ifnum\texengine=\luatexengine
\pdfbackendsetcolorspace{pgfprgb}{[/Pattern /DeviceRGB]}%
\else
\appendtoPDFdocumentcolorspaces{/pgfprgb [/Pattern /DeviceRGB]}%
\fi
but i didn't test it
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
_______________________________________________
dev-context mailing list
[email protected]
http://www.ntg.nl/mailman/listinfo/dev-context