## Color management with Scribus, an Introduction

The objective of a color management system is to reduce the differences between the on-screen colors and final printing, as well as showing colors which are out of gamut, beyond the color range of your selected printer. The caveat is you need to provide a profile which is reasonably accurate. For users of other applications, the default settings and descriptions can be quite confusing to new users. Without prior knowledge of the terminology, it is very easy to choose the wrong settings. This can often makes images look worse on screen or print. Then, the first time user simply says enough and disables color management.

In a word don't. Once you understand some basic concepts and know your final print destination, you will be able to predict - and - control more reliably how your document will look when printed. This is especially helpful when you will be sending files for later reproduction with four color printing or sending hi-resolution PDFs. The type of color management support within Scribus, I believe, is the first for an open source program. Future enhancements will bring even more exact control over color reproduction. The latest CUPS versions since 1.1.15+ now have support for true CMYK color printing. The newest version of little cms 1.10 has many new features which enhance the capabilities of Scribus to more accurately display color, along with much better performance. If you have 1.09, an upgrade is recommended - the previews in Scribus are more accurate.

The steps to making color management work reliably (what you see on screen is what you print) :

1. Learn a little bit about color management concepts and terminology. See below for links.
2. Get the profiles setup properly. Below is a listing of color tools available for Linux. The most important is getting a good accurate monitor profile. The littlecms profilers do an excellent job at creating monitor profiles. Here is a how to for creating icc profiles for your monitor with the littlecms profile constructor set.
3. Embed the image profiles properly where possible. See the instructions for tifficc included with littlecms. (howto coming soon) Corel Photopaint also has profile embedding features.
4. See these notes about using Corel Photopaint 9 for images.

The color management system within Scribus is designed first for enabling color managed "soft proofs" of the images within the document. Scribus can also show "out of gamut" warnings for colors which might not be accurately reproduced by printing. (Most printers, have a narrower range of colors which can be printed, when compared to most monitors.) It does not embed or alter the profiles within your images, nor does it apply a transformation when printing. Some image files, png and Tiff, helpfully, can have an embedded icm or icc profile within the file header - also known as tagged, with a color profile. Later on, we will describe how and when it might be appropriate to use littlecms or Photopaint to apply a tag or embed a profile. If a file is tagged, Scribus will work with littlecms to read that profile within the image and use that profile to more accurately display the colors within an image. If an image does not have a tag but you know the device profile which should be assigned to the image, you can still use the CMS settings to preview with the profile temporarily assigned within the document. Caution is advised not to assign the wrong profile unless you are absolutely sure of the image source.

The littlecms package is really remarkable considering the amount of development work done by large companies such as Kodak, Adobe, Agfa and other and the, so far, limited user acceptance. On the littlecms.com site there are some very useful tools which can be built with QT3: The littlecms profile constructor set. All have an easy to use GUI. The defaults of these programs should work fine for Scribus. See these hints on creating an icc profile for your monitor.

What are color or device profiles?

icc or icm profiles are a special type of file which describes the color characteristic of a device like a scanner, monitor or printer - basically any device which can create or display manipulate the color of a digital image. There are also color profiles which are known as device independent or working space profiles. These special files can be thought of as translators which are used to convert from one type of color profile to another. An icc or icm file is a set of tables which describes the mathematical values by which devices measure and describe color. Fortunately, these are set by open international standards and work the same way on a Mac, Windows PC, Linux or Solaris.

Device Profiles - are separate files which describe the way a device creates (scanner or digital camera), displays (monitor) or outputs (printer) colors. Users of of Photoshop will be familiar with the choice of Working Profiles or Working Space - which are color profiles not related to a particular device, but to assist in the conversion of color from one device to another. Well known RGB "working spaces" Include sRGB, Adobe® RGB 1998, Colormatch,Bruce RGB or CIERGB. Users of Photoshop or other color may be wondering if this is a missing feature, but littlecms uses its own internal color conversion process to make the transformation between color spaces. One less setting to worry about!

Why "soft proofing" ? With the proper setup of device profiles, littlecms can adjust the colors of your monitor to more accurately represent how your document will actually look when finally printed., This can be doubly helpful if you are sending it to be printed commercially or for service bureau output. Moreover, each image can be individually modified by Scribus to assign profiles in an image, ( Select image > right click > Modify ) so that it can be properly color managed in document production, such as preparing film, a PDF/X-3 or direct to plate technologies. This does not however, alter the image file internally. Preview profiles assigned to an image are part of the setting retained in a Scribus document or in the creation of a PDF. This article explains how to convert color spaces or embed icc profiles using Corel Photopaint 9. There is also a command line tool in littlecms to embed profiles with tifficc and jpegicc.

Getting good previews from color management depends on these steps from the user:

Having accurately profiled input devices which create the images. Scanners, digital cameras etc. Further on, the specifics are spelled out under tools. Most importantly an accurately calibrated and profiled monitor.

The first suggestion is to ease up on the eye candy. You might want to switch to or come up with a "vanilla" theme setup. Yes, KDE and Gnome have gorgeous desktops, but Scribus will like plain and simple - no animation, no fancy graphics. For the most accurate color calibration set your desktop to a neutral gray or light color with no gradients or fancy backgrounds. This will help your eye to better judge color balance for images. The same applies for the Gimp or other image programs. When I color calibrate monitors for Photoshop with a (expensive) hardware devices, this is the first step I make. What we are striving here is to accurately, as possibly, mimic the the way mixed inks look on paper. (Mosfet's Liquid theme is one exception performance wise - but the color recommendations remain.)

Calibrating is setting the monitor to a known state. Most monitors are set to a default to color temperature of 9300k or Kelvin, which is often too "cold" or blueish for accurate color work. www.color.org has a multitude of color specs for your reference. Most color standards are set to 5000k light temperature or "illuminant". For your monitor, I suggest 6500k, which more closely mimics natural sunlight, as a starting point adjusting for your monitor. At first your eyes will think your monitor has a yellowish cast, but your eyes will soon adjust, especially if the brightness and contrast are set properly. 9300K, which is the default factory setting for most monitors is fine for working with a word processor, but this will wash out colors and color will look less balanced with whites actually showing a blueish cast.

Each of the "working" spaces are based on certain settings for your monitor. Gamma and color temperature of your monitor should match the specs of the working space. For example, Adobe® RGB and Bruce RGB specifies 6500k and 2.2 gamma, quite common for Intel based PC monitors and are the recommended defaults for users who are editing color critical images.

Targeting the CMYK device (the printer) properly using a profile, which is appropriate for the paper and device. Printer profiles are highly dependent on the media chosen. Newsprint and un-coated stocks are grayer in appearance, so these profiles will have a narrower "gamut" or color range. They do not to produce the super vivid colors and saturation of coated stock or glossy photographic papers. A single printer could have a half dozen or more profiles, based just on differences in the paper color and ink absorbency.

So, how do I get profiles which are meaningful for my hardware.?

Some profiles are "generic" and can be obtained from the device manufacturer. This type of profile is generated from a sampling of units by a manufacturer. A growing number of monitors, scanners and certain printer vendors will include this with any software bundled with the device. While these "canned" profiles are rarely a perfect match, this is a good first place to start. Go to the vendors website under drivers and see if there a profile available for your device. Another type of profile is a "generic" press standard profile. These are CMYK profiles which are defined to commerical press industry standards, such as SWOP

Linux Color Tools

Monitor Gamma - Gamma simply put is a number which represents the brightness of neutrals or grays. Having Gamma accurately setup is an important first step in getting good color balance before trying to creating an accurate profile. The monitor profiler from littlecms is well designed to help you set this correctly.

The next step is in accuracy is a custom generated profile created with profiling software, like the ones in the the littlecms profile constructor set. See the instructions for profiling your monitor for details. It was interesting to see how similar the profile was to one created with professional pre-press color calibration software and a hardware tool under Windows 2000.

The most precise way to profile a monitor is with a electronic profiling device, basically a very special type of camera which measures color. The software sends known reference colors to the monitor which then read the output to the profiling device and creates a profile. Linux drivers for common "spiders" or colorimeters are not yet available, but the profiler can use hardware when device drivers are written. Users who have created custom profiles with a "spider" under Windows, might have try using this same profile if the monitor is set up exactly as in Windows AND if the Linux video driver does not make any radical adjustments to the color values of your display. It is worth trying at least! My "spider" created monitor profile works very well with Scribus. With color management activated, the colors within Scribus are just about exactly the same in Photoshop 6.0. Quite an achievement by both Scribus and littlecms!

Scribus Color Management Settings

System Profiles - These drop down boxes show the available profiles on your system. To enable Scribus to use profiles, they should be copied to the /usr/local/share/Scribus/profiles directory. Color profiles, .icm and .icc, are platform independent, thus files created or available for a Mac or Windows are usable in Linux with littlecms in Scribus, as well. See the links page for more info where to obtain profiles. I highly recommend having the Adobe profiles which are shown on the links page if you plan to do an type of cross platform or commercial printing, as most well set up DTP workstations, as well as most commercial printers will be able to work with these profiles.

The above screen cap is a good starting point to explain the important parts of littlecms in Scribus. In this case, the images in the document have been created with a mid-range digital camera. The camera's itself performs come automatic color balancing and auto adjusts the output for the sRGB range or color space. So, leaving this within sRGB is a good choice. If the images came from a scanner, you would want to select the profile created with scanner profiling software.

Solid colors can be described within RGB (red green blue) or CMYK (cyan,magenta,yellow and K for black - these colors represent the four inks used in process printing or in color ink jets). In this case, we are using some basic RGB colors, which will be later "soft proofed" in the CMYK color space of the printer, which will be a commercial process known as US SWOP on coated paper to ensure rich and vibrant colors.

It is handy to give your device profiles some sort of short hand way of naming. For example the D226500mon.icm monitor profile is a custom profile created with Kmonitor profiler with 2.2 gamma and 6500k temperature. The D is for daylight. Ambient light also affects your perception of color, sometimes radically with certain types of artificial light. The Sony 17 name comes from the description when the monitor profile was created with Kmonitorprofiler from littlecms.

Activate Color Management enables color management globally within the document. Scribus will remember the settings from file to file. Note: Saving and closing the file with color management on will slow them on reopening, as Scribus must not only open the files but the littlecms must reading and perform the corrections between the profiles. Color conversions make multiple floating point calculations for each color, so be patient. littlecms has to be extremely stable so far, with only one small bug which has been fixed in 1.09. There is a second check mark to simulate the printer on the screen. This tells Scribus and littlecms to do an on the fly conversion from the image color space to your monitor profile to simulate your chosen printer's profile. The check mark for Mark colors out of Gamut will show colors are warnings and might not not print accurately, based on the printer profile you have chosen. Typically, when colors are shown out of gamut, they will print darker, lighter or have a color shift when printing.

Rendering Intents

The other puzzler for newcomers to color management is rendering intents. Your choice of rendering intents are a way of telling littlecms how you want colors mapped from one color space to another.

Perceptual - This rendering intent maps color "smoothly", preserving relationships between similar colors. This prevents "gamut clipping" with its potential loss of detail and "tonal banding" problems. Gamut "clipping" happens when two or more colors that are different in the input image appear the same when printed. Perceptual rendering intent makes small adjustments throughout the image to preserve color relationships. It sacrifices some precision of colors in order to ensure pleasing results. For photographic images and scans, this is usually the best choice for a default setting.

Perceptual intent will produce the most predictable results when printing from a wide range of image sources, for example, when printing RGB images on CMYK devices, or when trying to match CMYK devices that are radically different from each other. Consider this "foolproof" setting to be best for users who handle the wide variety of images that commonly enter large format printing facilities.

Saturation stands for logos, spot colors, etc. It tends to preserve the amount of or vividness of color. But it can make photos look ugly. If you were working with logos with a specific shade, saturation will bring better color matching, as far as you give more importance to the color that to the image.

Absolute Colorimetric: When a color is not printable within the "gamut "of the output device, this rendering intent simply prints the closest match. It reproduces in-gamut colors without compromise, as faithfully as possible. This produces the most accurate matching of spot colors. Unfortunately, it can also result in "gamut clipping" where two colors that are different in the original are identical on the print. White points are similarly clipped, then causing color relationship problems in the highlights of images. This type of clipping, and the resultant problems, typically make this rendering difficult to use with anything but spot colors. Some users will be disconcerted with a yellowish cast in their image, but this intent is measured in highly controlled lighting conditions with a D50 light box. This often has a "warmer" temperature than more typical viewing conditions. This rendering intent is almost exclusively used when a corporate logo or color must be matched exactly regardless of media. Kodak yellow would be a good example.

Relative Colorimetric:When a color is not printable within the gamut of the output device, this rendering intent prints the closest match along with an adjustment that maps white to the paper of the output. This mapping of "white point" prevents the problems of "Absolute Colorimetric" when images except spot colors are concerned. When producing color proofs on RGB ink jet printers, while simulating CMYK printing presses you can use this intent, if you know the intended precise profile. Users of Adobe Press Ready will understand this concept quite well. This approach works well when you have accurate embedded profiles (typically scanner or more rarely digital cameras.) in images being converted to CMYK space with printer profiles very precisely profiled with color measurement devices. This is most likely when someone has spent a lot of time and effort to finely calibrate and profile their equipment. It takes sophisticated ($$$) color calibration equipment to measure the printer under fairly well controlled conditions.

Final Printing with Scribus

For users of Scribus under the latest versions of Scribus, there are a couple of options for printing with a color managed intent.

When printing, Scribus can optionally apply the printing profile you have chosen in the color management panel. This can be very useful, if you want to simulate a commerical printer profile with your inkjet printer via CUPS.

Postscript Output - This would require having your images tagged before being placed in Scribus files when outputting a Scribus document either: as pure postscript or as individual EPS files. Scribus uses a combination of level 2 and level 3 postscript, depending on the images within the document. Level 2 and Level 3 postscript can read and use icc profiles within an image. Most color postscript devices will read the embedded profiles and use them to render color within the postscript.

Scribus includes the seventh and much improved version of its own internal PDF export filter explained in the PDF Export options. This new PDF exporter can create fully ISO PDF/X-3 compliant PDF's with icc profiles correctly embedded in the PDF, along with the document rendering intents.

Real World Experiences

The author has been testing Scribus with a variety of images with color management enabled in Scribus. These high resolution RGB and CMYK TIFFs were prepared using the latest color management tools with Windows 2000, Photoshop 6 with hardware calibrated and profiled professional DTP monitors, then later proofed with Level 3 postscript printers. Using images have been used as cover photos for a magazine with a circulation of over one million per annum. Using the same printer profiles that are used in the production of the magazine, littlecms and Scribus can create previews which are remarkably accurate given the relative newness of littlecms and Scribus. The accuracy of littlecms has improved in version 1.10, especially with absolute colormetric intents. littlecms 1.11 has Black Point Compensation, which can be sued by Scribus is 1.11 is installed. This helps to improve contrast in photos.

On Linux, so far, the only freely available bitmap image editor which is color management savvy is Corel Photopaint. It has a great deal of flexibility in color managed previews and you can enable the same set of profiles that you have for Scribus. Probably the most important one to add to Photopaint is a monitor profile if you have created one with Kmonitor profiler. The other handy feature for previewing images with Photopaint is its ability to show out of gamut images, as Scribus can optionally apply in the color managment settings. You can also use the tifficc utility from littlecms to directly apply these profiles.

Previewing Scribus created PDF's in Adobe Acrobat 4.05 sometimes displays color shifts with RGB and CMYK tiffs. This is a bug in Acrobat, not a problem with Scribus created PDF's. The same PDF's display and print perfectly with Acrobat 5 on both Windows 2000 and Mac OS when targeting a level 3 postscript printer. Adobe released Acrobat 5.0.6 for Linux and Solaris and it has many improvements including speed and color accuracy. Note version 5.0.5 and 5.0.6 have a vulnerability in its handling of temp files and you are encouraged to upgrade to 5.0.7. Moreover, this version properly displays the new capabilities of Scribus PDF forms. If you are so inclined, the most recent versions of wine will install and run both Acrobat Reader 5.1 and the full version of Acrobat 5.0.5 for windows without any particular problems.

Conclusions

So, by example, we have simply described a color managed strategy for our document. Take the image from the source, properly apply profiles and then choose correct rendering intents for conversions to another color model. In our example, Scribus, by checking the simulate printer box, tells littlecms to make a two step conversion so your monitor represents with reasonable accuracy how your images and color will print.

Attempting to incorporate a simple, but effective color management system within Scribus is an ambitious, and the author believes first serious open source attempt to provide the end user with color management. These type of tools are more typically only found in high end professional pre-press applications. As this is uncharted territory for open source, your comments and suggestions on this document,as well as your experience using color management are most welcome. The reader should also know color management is still being perfected by the graphics industry.

Have Patience - color management is a new and improving part of DTP. It takes quite a bit of time to understand the theory, which then brings practical results.

Coming soon... using color managment to optimize PDF/X-3 compliant PDFs from Scribus

Acknowledgments:

Martí Maria; Developer of little cms, without which this would not be possible.