GIMP/CMYK support

From ArchWiki
Revision as of 15:31, 28 November 2006 by Foxbunny (talk | contribs)
Jump to navigation Jump to search


Before you read

Before you install the Separate plugin for The GIMP, you need to know if you really need it.

There has been much debate about the merits of using The GIMP. Most of the heated discussions revolve around the fact that The GIMP does not support CMYK mode. However, you have to understand that the topic is more important to DTP professionals than other users (photographers, web artists, home users). CMYK color model (or CMYK mode) is used mostly by DTP professionals that need to output images intended for printing on a commercial press. For an average home user or even professional photographers, support for separating images using CMYK color is not necessary. Most ink-jet and color laser printers print color images using sRGB color, so you do not need CMYK support.

Required software

You need The GIMP (of course), and lcms (Little CMS). Both can be obtained from the Arch package repositories. You also need to download the source tarball for Separate plugin.

Root access

You will need root access in order to install the plugin.

Note on Adobe ICC profiles

Adobe Systems offers a nice set of standard color profiles for professional use. However, before you use the products, please read the end user license agreement supplied with the .zip file. The zip file (Windows version is a zip file, and it is the preferred way to get ICC profiles) is located at Adobe's support page.

NOTE: If you opt for Windows version of the package, you will need unzip to extract the files. Unzip tool can be obtained from Arch repositories.

Note on Timo Autiokari's linear gamma profiles

The profiles found on Timo Autiokari's Accurate Image Manipulation website are not the RGB color-space profiles. These profiles are meant to be used in a linear workflow. The linear workflow is a powerful concept that yields superior results in some cases, but it is out of scope of this article. The original author of this article has no plans of writing an article about the linear workflow, but some Photoshop-related articles may be found in the Photoshop section of Timo Autiokari's web site.

Note on Scribus

Images separated using Separate plugin are not handled correctly by Scribus. This issue is confirmed in a bug report filed at Scribus' bug tracker. This is not a Separate bug. The image created using Separate is, indeed, a valid CMYK image.

Although Scribus does not handle separated images well, it does separation on its own, so it is not an unsurmountable problem. It is still advisable to downgrade to earlier versions for a more complete workflow.

About CMYK color model

If you are not interested in the theory, you may skip straight to the heading on CMYK color support in The GIMP.

First off, the proper name for CMYK mode, as it is commonly known, is CMYK color model. It is called a color model, because it represents a standard way of describing colors.

The color model is also called a subtractive color model, as opposed to additive (that is RGB) color model. Words additive and subtractive suggest that light, which is essential for perception of color, is either added or subtracted before it reaches the eye. The choice of primary colors is based on belief that the combination of Red, Green, and Blue (for RGB) or Cyan, Magenta, Yellow (for CMYK) produce the greatest range visible colors.

Subtraction of light occurs when an ink absorbs part of the light that falls on it. The rest is reflected and reaches our eyes. Different inks absorb different parts of the light's spectrum, and the combination of C-M-Y inks yields the greatest range of different colors.

Ideally, subtraction of all light, that is when Cyan, Magenta, and Yellow are mixed together at their full density, we should get black (i.e., no light reflected, fully absorbed by ink). However, this is usually not true in the real world because the inks are semi-transparent and the white paper below reflects some of the light. The use of additional Black ink in printing (K in CMYK stands for Key, or blacK) is due to this fact. It adds the necessary density to the image and makes black a black.

When printing an image on a commercial press, it needs to be printed one primary (or Black) at a time. Therefore the original (usually a digital RGB image, or a printed photograph) needs to be separated into Cyan, Magenta, Yellow, and Black components.

The lack of support for this kind of separation made The GIMP unattractive to DTP professionals.

ICC color profiles

Since reproduction of both RGB and CMYK colors are specific to the device (or inks) used to produce images, a concept of color-spaces was invented. Color-spaces formulate the relationship of physical color and the color model that we use to describe them. Those relationships (functions) can be packaged as a file in the form of ICC profiles.

The ICC profiles are used to describe the way colors are reproduced in a system, be it a monitor, a scanner, or a printing press. When separating images for press, we use the source profile (the color-space of the image to be separated) and the target profile (the color-space of the printing press the image is intended for).

CMYK color and The GIMP

The GIMP still lacks full CMYK color model support. The ability to separate and then edit an image in CMYK mode is still a long way down the list of features to be added (if on the list at all). However, there is a plugin called Separate that offers a partial solution to the problem.

Separate plugin has following abilities:

  • separate a RGB image
  • color management (using ICC profiles and lcms)
  • soft-proofing colors
  • attach ICC profiles to separated image files

The GIMP itself offers a smaller set of CMYK-related functions:

  • display of CMYK values when using color picker
  • soft-proofing colors (via Display Filters)

Separate plugin for The GIMP

Installing Separate

Once you have obtained the source tarball, you can unpack it using the usual tar command:

tar xvf separate-VERSION.tar.gz

where VERSION would be the version of Separate plugin (0.1 at the time of this writing).

Copy a file called separate (located inside the extracted separate directory) into The GIMP's plugin directory:

cp separate/separate /usr/lib/gimp/GIMPVERSION/plug-ins/

where GIMPVERSION would be the major version number of The GIMP (2.0 at the time of this writing).

When you start The GIMP the Separate will be recognized and reachable through Image > Separate menu.

Install Adobe ICC profiles

Download the ICC profiles from Adobe's support page (read the agreement and click Accept at the bottom of the page).

Create a directory for the profiles:

mkdir -p /usr/share/color/icc

extract the downloaded zip file and copy the contents of CMYK and RGB directories into the created folder.

cd Adobe\ ICC\ Profiles\ \(end-user\)/
cp CMYK\ Profiles/* /RGB\ Profiles/* /usr/share/color/icc

Separating a RGB image

Open an image in The GIMP. From the Image menu, open the Separate sub-menu and pick Separate (to Colour).

Choose a source (RGB) and destination (target, CMYK) profile and click OK.

This will open another window with the CMYK color version. You can see that there are 5 layers total.

Pick Save... from the Separate sub-menu and save the file in TIFF format with an attached (embedded) ICC profile.

Working on a separated image

If you want to work on a separated image you need to be intimately familiar with the way CMYK images work. If you look at The GIMP's Layers window after separating an image, you will witness the ingenious way in which the separation is done. However, editing the image is not as simple as with commercial software like Adobe's Photoshop.

Basically, you need to work with grayscale values of each primary color (plus Black). All the tools are available, but you only get apply them layer by layer and in grayscale.

Soft-proofing with Display Filters

Given the circumstances, the best way to create a solid CMYK image would be to work in RGB mode, but enable soft-proofing. Soft-proofing is the method of adjusting the on-screen display of colors to match the final print. In the newer versions of The GIMP, soft-proofing is made possible via Display Filters.

Go to the View menu and pick Display Filters... option. From the list of available filters, pick Color Proof (at the bottom in The GIMP version 2.2.13). Click on the right arrow button between the two lists and the Color Proof filter will be placed into the list of active filters. Click on it (the one in the active filters list) and you will get a few options below.


The color proof (rendering) intent can be one of the following:

  • perceptual
  • relative colorimetric
  • saturation
  • absolute colorimetric

Perceptual and relative colorimetric are most common.

Perceptual compresses or expands the full color range of source color-space into the full color range of target color-space.

Relative colorimetric intent adjusts the white (white point) of source space and then adjusts the rest of the source colors accordingly. Source colors outside the target space are mapped to closest reproducible colors. In some software, this is also called proof intent.

Saturation intent keeps the saturation of the source colors even if the colors get distorted in the target space. This intent is still considered experimental and you may get unexpected (if not undesirable) results.

Absolute colorimetric leaves overlap of source and target space intact and maps source colors outside the target space are mapped to closest reproducible colors.


For color proofing, we usually use the profile of the device that image is to be printed on. For testing purposes, you may use any of the Adobe profiles mentioned aobve.

Soft-proofing with Separate's proof function

NOTE: The original author was unsure if the source profile should be a monitor profile or the image's RGB profile. The method below may not work. You have been warned!

Separate itself offer a way of soft-proofing color. This method of soft-proofing is not dynamic. It doesn't update as you edit the image, but is more like a one-time preview. However, it is supposed to be far more accurate than The GIMP's soft-proofing using Color Proof display filter.

To soft-proof with Separate's proof function, you first separate an image and then pick Proof from Separate sub-menu. Source profile is your monitor's profile (you can use lprof to profile your monitor and create an ICC profile). The destination profile is the ICC profile of a your image will be output to.

Click OK and you will be presented with an RGB image of how the printed image would look like.


Here are some links that you may find interesting: