summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Sharp <ken.sharp@artifex.com>2014-03-04 15:30:02 +0000
committerKen Sharp <ken.sharp@artifex.com>2014-03-04 15:30:50 +0000
commit5b2adda7468241123d9559a98cd469f527dd7e3c (patch)
tree7c9dfde3bcc9ea30a67a1a6c07c597dd660ec81a
parent2621110f37eb0c94a732578acd24634caec1c25b (diff)
downloadghostpdl-5b2adda7468241123d9559a98cd469f527dd7e3c.tar.gz
pdfwrite - do not apply the 'Default*' colour spaces
Noticed while testing by Chris. The PDF spec says that if any of DefaultGray, DefaultRGB or DefaultCMYK are present in a PDF page, then we should use those to do a conversion to device-independent colour space for colours specified in the matching Device* space. This is broadly equivalent to the UseCIEColor PostScript user parameter but unlike that parameter the user has no control over it. Previously we applied this conversion but it seems unreasonable to do this for pdfwrite as this will convert a PDF using device spaces into a PDF using ICCBased spaces. Accordingly we now test the device properties and for HigLevel devices we do *not* perform this conversion. If the conversion really is desired then setting -dUseCIEColor will perform it. This results in a very few files showing differences, neither progressions nor regressions, merely different. However the pdfwrite warning about use of UseCIEColor does go away.
-rw-r--r--gs/Resource/Init/pdf_main.ps4
1 files changed, 4 insertions, 0 deletions
diff --git a/gs/Resource/Init/pdf_main.ps b/gs/Resource/Init/pdf_main.ps
index f46e92854..ce7c587bb 100644
--- a/gs/Resource/Init/pdf_main.ps
+++ b/gs/Resource/Init/pdf_main.ps
@@ -2392,6 +2392,10 @@ currentdict /PDF2PS_matrix_key undef
pop //true
} if
} if
+
+ currentdevice 1 dict dup /HighLevelDevice dup put .getdeviceparams
+ dup type /booleantype eq not {cleartomark}{3 1 roll cleartomark not exch pop}ifelse
+
} bind def
%