Here is an overdue progress report of the last few weeks. I will be committing a major code update by the end of the week. In the meantime, here is what is going on so far:
There was kind of a wall hit when it came to the colorspace tagging portion of the code. I had thought that there would be a direct solution in tagging the colorspace to an ICC one, but it turned out to be a little more difficult than I thought. The issue is in dealing with multiple images in the PDF – it is possible that each image will have its own DeviceXXX colorspace tagged in the PDF. This will mean that a solution will be needed to first read through the entire file, find the “/DeviceXXX” string in the PDF, and then replace *every* found instance of the tag with an appropriate “/DefaultXXX” string.
I am trying to tackle the multiple colorspace tagging issue by simply parsing a document by hand and replacing the “/DeviceXXX” tag with the appropriate ICC colorspace. It is not the most elegant solution, but since Ghostscript doesn’t seem to have a direct way of handling this, it is worth trying out.
Aside from the Renderer part of the code, I have continued work on the XCPD ‘Selector’ module code, and I hope to get as much done before the end of the month. This week will also begin the integration of the XCPDCM code with the actual XCPD UI, as well as completing the remaining documentation items in the XCPD manual (and then finally submitting them on ColourWiki).