GSoC’11 Update – Weeks 8/9

Hi everyone.

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).




2 thoughts on “GSoC’11 Update – Weeks 8/9

    • Pretty much so, although not just for /DeviceRGB. There will, however, be the case where the images stored in a PDF file might have different colorspaces, so the code will actually check for ‘/DeviceCMYK’ and ‘/DeviceGray’, and convert those into the appropriate ICC-based colorspaces.

      It will be a little clunky, especially when using stdio.h functions, but I would like to give it a try.

      (The mentioned code is actually the “Set DeviceXXX** to Default Colour Spaces” part in the workflow diagram.)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s