CMYK and Spot Colors
Migrated from https://bugs.launchpad.net/inkscape/+bug/170366
WARNING: this has tl;dr written all over it. Have fun!
The Idea, tl;dr version (original text edited):
Inkscape should be able to manage and print spot colors.
Simple enough...you'd think.
Additional Information/Comments (possibly edited for content):
- From 2004-08-13. Assigned Jon A. Cruz.
- dcberg wrote on 2004-10-17:
...together with a pdf export working for all objects this is crucial for professional use. Maybe it's possible to save all fills in the defs and have a (quoted) color definition in CMYK color space along with an RGB equivalent? This def would be read by inkscape, causing to ignore the RGB.
- Mental-users wrote on 2004-10-23:
I think the right way to do CMYK and possibly spot colors is to implement support for ICC color profiles. They're part of the SVG standard and would basically look something like this:
fill:#ff0000 icc-color(genericCYMK, 1.0, 1.0, 0.0, 0.0);
i.e. after the normal color specification, SVG permits an icc-color() which can specify a color in an arbitrary ICC color profile. This works pretty much anywhere in SVG that you can specify a color.
The catch is that you can't really just say "CMYK" any more than you can "RGB" -- there are many CMYK color profiles, just as there are many RGB color profiles (at least for RGB, SVG specifically specifies sRGB). I don't know what a good real standard CMYK color profile ("genericCMYK" is just a placeholder) would be.
We might also be able to cope with spot colors in that way, giving each spot color its own ICC profile or something.
- Centromedia wrote on 2007-05-18:
Color profiles must be the latest part to do and are needed only view/translate properly colors on different devices (monitor/printer).
The user must select first the color mode he wants to use, and then each object must have their color values stored in the current color mode. You can't store simply RGB values and then convert them in the output file. This conversion is too relative to the user. CMYK values must be given as absolute value, and they don't differ if you use color profile A or color profile B !
Color profile are needed to make a conversion layer between the original RGB/CMYK/LAB values and the output device. Another thing again is how RGB values are converted to CMYK and viceversa, there exist curves for this and they can be adapted also by the user depending for the needs.
- Bug Importer wrote on 2007-05-18:
Might as well stick with RGB, and let Inkscape convert to CMYK on the fly when necessary. If Photoshop can do it, why can't Inkscape? What would be useful is the ability to attach an ICC profile to the document as a whole. That would address any issues of CMYK colours not representable in sRGB. I personally don't see the point of repeating the ICC profile on every single colour used, it will merely bloat the document and usually all colours are specified relative to the same profile.
- Jon A. Cruz wrote on 2007-05-18:
...centromedia is not on target with many assertions about proper CMYK in regards to vector graphics.
First and foremost, we have had far more people needing spot color support (such as Pantone) than CMYK. For those, the workflow is very different.
Secondly CMYK color does not exist itself as an absolute concept. CMYK truly only makes sense as a way to describe the color behavior of a specific print or output device. Even the CMYK of two different printers of the same model are usually different.
Finally, centromedia was incorrect about how CMYK should work in SVG. Mental's comment describes exactly what needs to be done and the proper way to do it. This has also been coordinated with other projects such as Scribus.
- ...and the debate continued on until the issue died 2011-03-17.
Migrator's Notes:
-
Firstly, apologies for the length of this issue. I felt it important to include the above original comments as they were essential to the matter at hand. Likewise for the migration: I didn't find anything (at least in INBOX) quite duplicating the issue. It's probable that the developers are and have been discussing this issue for quite some time.
-
Related: #2480
-
Some of the various commenters above miss the point: Spot-color is not CMYK. Spot-color is an ink by itself, pure, and not converted to line screen percentages like the CMYK process. If used in conjunction with CMYK it becomes a fifth separation/ink.
-
With changes and advances in printing as of (at least) the last 20 years, the RGB-to-CMYK problem is almost becoming moot. Print houses for a while now, while always preferring CMYK/CMYK + spot color files, have been converting RGB-to-CMYK successfully with little to no modification. This, though, does not address the spot-color isolation problem.
-
Another problem is although Inkscape does implement CVS specifications regarding icc-color profiles (since at least 0.92.x?), there is no such animal as a spot-color icc-profile, by default converted to some color model. Exacerbating the problem is Inkscape's implementation up to of 1.0beta/rc/1.1dev having no way to preview any colormetric changes on screen. "Color-Managed View" does nothing perceptually as far as I can tell -- please correct me if I'm in error.
-
Opening Inkscape-generated files (SVG, PDF) in other applications so far do not recognize the embedded color profiles (my own limited research and tests -- again I invite you all to elaborate/refute/deny if possible).
This is such a complicated, byzantine issue and I will admit that after years in the industries I still don't understand it as well as I probably should, preferring to go "by eye" and take it out on my printing facility!