Subject: Re: [IPP] Question on ICC profiles.

From: Michael Sweet <[email-masked]>
Date: Wed, 05 Aug 2015 10:18:54 -0400

Daniel,

> On Jul 31, 2015, at 11:12 PM, Manchala, Daniel <[email-masked]> wrote:
> 
> At one of our last PWG-IPP meetings, we discussed printer-icc-profiles, and how a particular icc profile can be picked up at the printer.  
>  
> Based on the spec,
> “5.6.30 printer-icc-profiles (1setOf collection) The RECOMMENDED "printer-icc-profiles" Printer attribute lists one or more ICC profiles that characterize the Printer or its rendering. Each collection value consists of "profile-name (name(MAX))" and "profile-uri (uri)" member attributes plus any Job Template attributes (as member attributes) that contribute to the selection of the profile.”
>  
> relevant JT attributes sent from the Client match those on the Printer Description attribute and a certain icc profile will get selected.
>  
> We also discussed that it is not recommended to use/send a particular icc profile (the client selecting one of the printer-icc-profiles provided in the Get-Printer-Attributes response) in a Print-Job or Create-Job. Can you explain why this is not recommended, but rather have a workflow wherein when the printer receives a certain JT attribute (say media-type), that particular attribute is used to look for another attribute (such as printer-icc-profile)?

ICC profiles are specific to combinations of other settings - media type, resolution, color mode/marking supplies, etc. - and generally don't work for other kinds of media, resolutions, etc.

One of the most common problems in current user interfaces is that they allow the user to choose both the color profile and the other settings independently.  Naturally this leads to inconsistent or dramatically wrong output, ultimately yielding complaints from so-called "experts" that some combination of settings is not working for them and their workflow.

The primary goals of the printer-icc-profiles attribute are:

1. To allow administrators and operators to create and manage ICC profiles for the media and other settings used for a given printer (a print shop);

2. To allow ordinary users to get the best quality output without being a color expert (automatic color profile selection by the printer); and

3. To allow expert users to soft-proof output prior to printing.

*If* a Client implementation wants to include a user interface element for selecting an ICC profile, the "printer-icc-profiles" attribute provides the necessary contextual information for it to have such a selection also override the other user interface elements as needed (media type, etc.)  Similarly, if the user change the value of an overridden element, the user interface can change the selected profile and/or show an alert explaining the issue and giving the user a choice (constraints).  The actual profile selection is still done on the printer.

A Client sending a PDF document can also embed one of the ICC profiles and do the color transforms locally - the Printer, after performing its own profile selection, will then do the right thing (pass through the Device N colors since the profiles match or do a device-link transform for the actual profile used for printing) and produce consistent output every time.

In short, the current ICC profile support is design to minimize the number of bullets that are available to shoot oneself in the foot.

_________________________________________________________
Michael Sweet, Senior Printing System Engineer, PWG Chair

_______________________________________________
ipp mailing list
[email-masked]
https://www.pwg.org/mailman/listinfo/ipp