Hi everyone. Here’s my update for Week 10:
At the moment, all of the pieces are in place for the XCPD CM Renderer module. This includes code to check for a PDF/X OutputIntent, embed a profile into a PDF/X, and tagging of the ICC colorspace. Some work still needs to be done with the ICC colorspace taggging and the changing of the color rendering, but the estimate is that 85% of the PDF rendering functionality is ready.
The changes to the XCPD Renderer code have been committed, which includes an improvement to the Renderer test dialog (a copy of the PDF will now be used to render a file, so it is safe to test any PDF). Progress was also made on the Selector module last week, but with the work done that was done recently, the code is still quite broken to be committed.
Much of the work done was actually in pin-pointing a solution for the ICC colorspace tagging, which turned out quite a bit of more work than I thought. The complication that needed to be solved was in handling the case of mixed colorspaces from within a PDF (say, images with both DeviceRGB and DeviceCMYK).
Ghostscript didn’t have a direct solution for this, which meant that I needed to implement solution to hand-code the parsing. A lot of lower-level code was implemented to accomodate parsing for the dictionary items, as well as for replacing the colorspace tags. It doesn’t quite work right at the moment, but the pieces are already in place and more testing needs to be done.
While doing that, I will be focusing next week on working on committing the updated Selector module code. Since we’re coming on the homestretch in August, the frequency of the blog updates will increase and a push towards finishing both modules will continue.