Bug 692505

Summary: fts_4201.xps and fts_3300.xps
Product: GhostXPS Reporter: Marcos H. Woehrmann <marcos.woehrmann>
Component: GeneralAssignee: Michael Vrhel <michael.vrhel>
Status: NOTIFIED FIXED    
Severity: normal CC: michael.vrhel
Priority: P2    
Version: master   
Hardware: PC   
OS: All   
Customer: 661 Word Size: ---

Description Marcos H. Woehrmann 2011-09-17 19:35:13 UTC
The customer reports and I've verified:

In fts_4201.xps and fts_3300.xps the last figure is rendered with the wrong pattern (seems to come from the previous figure on the sheet) and does not appear as it should do.

I've verified this by comparing output from GhostXPS Master to the XPS viewer that comes with Net Framework 3.5 SP1 for Windows XP.
Comment 1 Michael Vrhel 2011-10-21 06:52:06 UTC
Taking over to have a look.
Comment 2 Michael Vrhel 2011-10-22 05:44:39 UTC
OK.  The proper pattern is being used but the transparency aspect of the image in the pattern is wrong.  This particular TIFF file, which is the image, has an associated alpha which is to say the alpha is premultiplied with the image data.  This shows up in an incorrect rendering of the image on page 5 of fts_43xx.xps.  I will fix that first, then correct for the messed up transparency on the pattern.
Comment 3 Michael Vrhel 2011-10-22 06:57:51 UTC
OK.  The premultiply alpha fix has been committed with http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=a298a05dcf4ce3f1f530759680a2f65c3e72e3fc.  

However, there is still an issue with the pattern case of this.  I will dig into that next.
Comment 4 Michael Vrhel 2011-10-23 06:57:26 UTC
Made some progress on this.  There are essentially two issues one in the xps interpreter and one in the graphics library.  First in the xps interpreter we need to know if the pattern object has transparency and to set up the pattern object for the graphics library so that the graphics library will know to push the pdf14 device on the pattern accumulator object.  

Second issue is related to this, in that in ghostscript, we call pattern_paint_finish from the pdf interpreter when we are all done setting things up for the pattern.  currently working on fixing that part as the whole pattern accumulator and pdf14 device interaction is a little complex.  I have something that works right now, but I need to do some testing.
Comment 5 Michael Vrhel 2011-10-27 18:22:41 UTC
Fixed with http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=2b91a85069d421465220a83c82ea491733d15017.

This results in a number of progressions in the XPS FTS test suite.