|
From: Ethan M. <merritt@u.washington.edu> - 2006-10-12 17:34:36
|
On Thursday 12 October 2006 09:12 am, Daniel J Sebald wrote:
> > "settransfer" is Level 2 PostScript, so your patch needs to
> > check the "level1" flag and/or check for support dynamically.
>
> I thought I read "settransfer" is Level 1 and "setcolortransfer" is
> Level 2.
You are correct.
I had not realized there was a distinction between them.
So "settransfer" should be OK by itself.
However, there is a little more to it...
The PostScript Language Reference Manual (3rd Edition) says:
Because the effect of the transfer function is device-dependent
settransfer should not be used in a page description that is intended
to be device-independent. Execution of this operator is not permitted
in certain circumstances; see Section 4.8.1, Types of Color Space.
Section 4.8.1 is rather long, but the relevant bit seems to be:
In certain circumstances, it is illegal to invoke operators that
specify colors or other color-related parameters in the graphics
state. This restriction occurs when defining graphical figures whose
colors are to be specified separately each time they are used.
Specifically, the restriction applies:
* After execution of setcachedevice or setcachedevice2 in a
BuildGlyph, BuildChar, or CharStrings procedure of a font dictionary
* In the PaintProc procedure of an uncolored tiling pattern
I don't think the setcachedevice restriction is relevant to gnuplot,
but gnuplot's pattern-fill does use PaintProc in uncolored tiling
patterns.
No idea what this means in practice, however. Perhaps it just means
that the gamma correction wouldn't affect the color of pattern fill
areas. That would be no big deal.
--
Ethan A Merritt
Biomolecular Structure Center
University of Washington, Seattle WA
|