[poppler] Overprint implementation in postscript and splash device

Thomas Freitag Thomas.Freitag at kabelmail.de
Sat Feb 11 23:43:58 PST 2012


Hi!

As announced, here my overprint patch. It is an enhancement patch, a 
merge fix and a bug fix in one: an enhancement, because it now completes 
the implementation overprint mode and devicen in postscript, a merge 
fix, because it fixes some bugs in the overprint implementation in 
splash of xpdf 3.0.3 and has now the complete functionality (and more!) 
of my implementation back again and a bug fix, because it fixes the use 
of splash cmyk in postscript which never had worked.

1. Overprint implementation in postscript
To have a complete overprint implementation in the (pure) postscript 
device there were just two things missing: overprint mode and the 
implementation of the DeviceN colorspace in PostScript. I double checked 
my implementation with the Ghent Test Suite with GhostScript (device 
pdfwrite) and Acrobat X distiller, and all the tests now succeeds, 
either in Acrobat X distiller or in GhostScript. As overprint is a 
device dependent feature, it is up to the output device if it supports 
overprint and what features of overprint are supported, and often You 
have various configuration possibilities there. Nearly all PostScript 
output of the Ghent tests show now the desired results if converting it 
back to PDF with ghostscript pdfwrite, the implementation in ghostscript 
is complete. On the other hand a few tests failed when using Acrobat X 
distiller, all of them with the overprint mode switch. Funny, because 
overprint mode 1 is often also called the illustrator overprint mode 
because it was introduced by illustrator, but probably the destiller 
only handles EPS correctly which comes from illustrator :-)

2. Overprint implementation in postscript if using splash rasterization
Of course the postscript overprint implementation will only work if 
pdftops doesn't decide to use splash to rasterize it because of the use 
of transparencies in the PDF. But because overprint is device dependent 
I decided to spend an additional parameter "overprint" to pdftops 
(simular to pdftoppm). Switching it on (only available if compiled with 
SPLASH_CMYK, because overprint is only in CMYK colorspace showable) will 
use the overprint implementation in splash also if rasterizing the PDF.

3. Overprint implementation in splash
The overprint implementation in splash now uses the better designed 
interface of xpdf and therefore now also works in transparency groups. 
Thanks to the developper team of xpdf. I just fixed a small bug in it, 
where it defies the technical specification. Of course it is still in 
the nature of the splash implementation that it fails if CMYK values 
should overprint spot colors, because spot colors are converted 
immediately in their CMYK alternates. And in the implementation of 
overprinting spot colors over CMYK colors I made a small assumption to 
get it running which causes undesired results if this assumption fails, 
but I didn't want to implement more and more configuration switches. I 
still plan to implement a DeviceN output in splash and make a complete 
implementation there, but this is of course a bigger task (but doable).
The overprint switch in pdftoppm is still only available if compiled 
with the SPLASH_CMYK directive.

If someone wants to know more about overprint, just contact me directly. 
Then I'll send the technical papers and/or hints to specifications.

Cheers,
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: overprint.diff
Type: text/x-patch
Size: 21697 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/poppler/attachments/20120212/99d2f1d9/attachment-0001.bin>


More information about the poppler mailing list