Short question: I have SVG files with CMYK colours, specified as according to the SVG specs. I want to get this into a design program - any design program - to finalise the design and prepare it to print. However, I can't find anything that actually pays attention to the CMYK colours in the SVG (not Illustrator or Inkscape, anyway).
The colours are complicated and not easy to just convert: imagine hundreds of shades dynamically generated, as tints and blends of brand-guidelines-specified CMYK that has to be just right.
Background: Something that's becoming more common is designing data-driven graphics that are generated from data using javascript and SVG, then, publishing one variant for the web using javascript and SVG, for example via D3 (or via Raphael / D34Raphael for IE support), then using the same code to produce a variant for print, which is finished in Illustrator (or Inkscape) and sent to the printers or layout people as a PDF.
Here's an example from the New York Times graphics blog talking through this workflow. The below graphic was coded for the web, then the SVG was copied from the browser into Illustrator then finalised as a print graphic (for them, the colours are simple so they don't have my problem, they can just convert from the RGB):
SVG can specify CMYK colours (for any SVG coders out there, the syntax looks like this: <circle fill="#CD853F device-cmyk(0.11, 0.48, 0.83, 0.00)"/>
). But most design software ignores this. I've seen talk in the Inkscape community of thinking about supporting CMYK SVG, and something complicated involving Scribus ("the open-source InDesign"), but I've not managed to get either to work (I might have misunderstood the Scribus one - edit: this article suggests that Scribus can import CMYK SVG if it defines it as an ICC colour profile... not quite mades sense of it yet but it looks promising).
So, I can create code that generates RGB SVG visualisations in 'web mode' and CMYK SVG in 'print mode', dynamically generating colours that are just right. The problem is, I can't do anything with these CMYK SVG files - Illustrator and Inkscape just treat them as black.
Is there any graphics program, plugin or method that can take an SVG image with CMYK shapes and convert it to any vector format (ai
,pdf
,eps
...) where design software will listen to the CMYK colours?
Here's a simple SVG file with some text with colours specified in CMYK. Just copy and paste and save as an .svg file.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="176.18px"
height="111.59px" viewBox="0 0 176.18 111.59" enable-background="new 0 0 176.18 111.59" xml:space="preserve">
<switch>
<g>
<text transform="matrix(1 0 0 1 31.5986 34.522)" fill="#dddddd device-cmyk(0.00, 0.00, 0.00, 0.60)" font-family="'MyriadPro-Regular'" font-size="12">TEST FILE...</text>
<text transform="matrix(1 0 0 1 31.5986 59.3633)" fill="#dddddd device-cmyk(0.00, 0.85, 0.65, 0.00)" font-family="'MyriadPro-Regular'" font-size="12">This should be red</text>
<text transform="matrix(1 0 0 1 31.5986 84.2041)" fill="#dddddd device-cmyk(0.90, 0.55, 0.00, 0.00)" font-family="'MyriadPro-Regular'" font-size="12">This should be blue</text>
</g>
</switch>
</svg>