Printing (4): printing with Cinepaint & Gutenprint

Now the hard work is behind us: we have made the case for (or against) having a home printer and gone through its main specification; we have checked which driver to use under Linux and how to color manage it. Now we are left with the easiest part: the printing itself 🙂

Because printing is an honor we keep for the best of best pictures, and because ink and paper are not (and – despite what marketing pretends – won’t be anytime soon) cheap, printing rhymes with “best possible quality”. So the basis for a print is a high quality processed 16bits/channel TIFF picture. As stated, we will use Cinepaint & its Gutenprint driver / dialog for printing (well, my Gutenprint dialog actually controls HPIJS, but that’s another story, no really relevant at that point anymore).

Because we already did the post-processing on the file and we used for that a color managed system, there isn’t a lot left to be done on the file itself. Basically two steps: sharpening and converting to the ICC printer profile.

Size and definition considerations

It is generally advised to use a 300 dots per inch resolution for printing. This reflects the maximum details resolution that can be viewed on a print. Basically, a 6 megapixels camera will do for an A4 sheet while 10MP will go for A3. That’s marketing to make you buy the next body.

The bigger the print size, the further away you will watch it. You will hold a 10×15 cm card 10 centimeters away from your nose, but it won’t be the case for an A3 (well, unless your a pixel peeper). So in practice, the bigger the print, the less definition you will need.

I use a 6MP camera to produce A4 prints but I wouldn’t hesitate to go A3 if the file is good (low ISO) sharp and… my printer would allow it. The new pro Nikon D3 is “only” 12 MP after all. Pixel quality is more important than their quantity.

Due to my HPIJS driver margin settings, my A4 prints come from a 2000×2850 pixels file, which is a slight crop from my camera (2000×3008).

Preparing the file: sharpening

As mentioned, the unsharp mask can serve either as local contrast enhancement or “proper sharpening” – micro contrast. The local contrast (if needed) has already been applied. The sharpening itself depends on the final size and destination of the file (printing or screen viewing) so you only want to do it on our “print version” of the file, never on your original.

For printing purpose, you want to see your file at 100% magnification and apply a little bit of over-sharpening. Remember that 100% screen magnification is a much more detailed view than anything you will ever see on paper, so the over-sharpening will give you the optimal printing result.

The radius value will be 1 pixel. The amount will depend on how much your image supports – maybe between 0.2 and up to 0.8. The threshold is mainly used to avoid sharpening (and underlining) the image noise. If the image was shot at ISO 100 and was well exposed, you can leave it very low (0-2); if there is noise in the image, value would be more like 10.

Again, it is not possible to define absolute values that will always work. Because Cinepaint doesn’t offer a preview of the outcome, you want to do the sharpening, review your image and (if necessary) undo the step and modify the values.

Preparing the file: converting to ICC printer profile

Now we made every effort to do our color corrections in an “objective” (ie color managed) way. Now these efforts will pay off. We know that our file is being color corrected in a broad *RGB editing profile which is displayed as accurately as possible on the (color managed) monitor.

Our next step is to “fit” this broad color file into our smaller gamut printer ICC profile. Once we know all the colors of our files are indeed printable colors, we can just click the “print button” and we know our print colors will match our monitor colors.

Now in most programs, this conversion step is done transparently in the printer’s driver. With Cinepaint, we will have to do the conversion manually which will give us one more chance to check that everything went fine before printing.

In the file menu, go in convert using ICC profile. You will be presented with this dialog which will ask you to chose a profile (chose your printer profile) and a conversion policy – perceptual or relative:


If you don’t find your printer ICC profile, make sure that it is situated in a directory that is listed in your directories / color management preferences. Remember also that the name in Cinepaint’s drop-down menu will not match your profile’s name: it shows a (hopefully meaningful) comment stored somewhere inside the ICC profile.

Click OK, you will see your image colors vary slightly: now they are fitted in your printer gamut. You can use undo for this step if you would like to test another conversion policy, for example. If you untick the “color manage view”, you will see the “raw data” being sent to your printer – quite different from what you see in the color managed version. The converted color managed version – what will be printed:


The same file, not color managed – the “raw data” that is sent to the printer:


Once you are happy with your conversion, save your file under a new name and you are ready to go. This leaves us with two copies of the same file: one original in AdobeRGB and one printer specific, sharpened and converted to the printer ICC profile, ready to print (and reprint).

The printing

You don’t want to tweak your printer driver for each file you print – that would defeat the whole idea of color management. So the printing is just about clicking the file/print button, choosing “direct RGB printing” (although our printers use CMYK inks, the data that is sent to the printer is RGB data). Just in case, Cinepaint (Guten)print only works with 16bits output. So if you ever need to print a 8bits file, start by converting your file to 16 bits.

You can then pick your paper size and placement on the sheet. Maybe save your print settings and click print. A couple of minutes later, you have a nice A4 print. Now this is a delicate thing in general and especially before it gets dry. So you have to leave it to dry for at least 24 hours before the colors get final. Dye ink are not water resistant, so watch out when “blowing to remove that little stain” – I have ruined pictures by “spitting” on them (don’t laugh!!).

You can then move on to the next step: framing and matting. Ah yes! and hanging it on your wall or giving a nice present to someone you like. This is what it is all about at the end of the day:



6 Responses to Printing (4): printing with Cinepaint & Gutenprint

  1. Bob K. says:

    You still never mentioned anything about doing “borderless printing” in Linux. I can never get it to work correctly in Linux. How does it work for you?. I never had a problem with Photoshop/Elements and borderless printing. Linux is another story!. I always get a white margin. No matter what I do, even clicking borderless in gutenprint and print settings. Unacceptable!!. What am I doing wrong. A good tutorial would be helpful. Allot of people I know, including myself, who use Linux, want to be able to printout a nice 4X6 borderless print to give out to family and friends occasionally.

  2. jcornuz says:

    Hi Bob,

    I have a solution: keep your images with borders. That was in the “tell me what you need and I’ll tell you how to do without it” department.

    Seriously, though, I guess it depends on your printer, driver, etc. In my case (HP 7660), I can print 10x15cm borderless, but for A4 I have had to tweak things a bit to get 3mm margins. I like it because I can then mat my images easily.

    But I agree with you: it was more painful to set up than what it should have been.

    Take care,


  3. Bob K. says:

    This is definately an area where Linux lacks!. The developers need to rectify this situation. Gives a very bad image to Linux and photography as a whole. Bad printing support!. Instead of worrying about putting all their efforts into fancy user interfaces!.

  4. my epson 1400 does borderless printing from linux (ubuntu 8.04 amd64). The guten print driver even has a button for it.

  5. Mark Gholson says:

    Just adjust your margins:

    I’ve finally solved it. The latest versions of PCLOS use Foomatic+gutenprint-ijs.5.0. The
    relevant file is found at:


    This file seems to contain only a list of margin setttings for dozens of printers including my Epson C60, and since the earlier version someone has added “exceptions” for letter and A4 that over-ride the smaller default values. I used kate from root to edit these exceptions out. Then I had to remove and reinstall the printer using the KDE control centre and I now have the old more generous margin limits.

    Not sure why anyone would want to increase the margin limits on these two page sizes as the printer quite happily prints almost to the edge of the paper (within 3 mm – although for some American reason the drivers measure everything in 1/72nds of an inch!)


    First I fully removed the old Gutenprint 5.1.7 that I had been messing with earlier and reinstalled it. Here are my notes to myself as to what to do next:-

    1.Edit the following file in kate (kate filename as su from command prompt)


    For Letter and A4:-
    top = 0; left = right = bottom = 9 (Numbers are 1/72 inch: 9 = 0.32 cm)

    2.Edit the following file using kate as above. (search for C60)




    3.Reinstall the printer using the PCLOS administration centre.

    This last gave me a lot of trouble too, I had to remove it and then reboot before reinstalling before it would hook up the printer to the right port.

    At least I can print my pictures now without wasting paper.

  6. Mark Gholson says:

    Oops, I thought this was a text box:




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 )

Facebook photo

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

Connecting to %s

%d bloggers like this: