If the work is going on with PDF (which, of course, I fully support!), then will it support only PDF (ISO 32000) or also the various ISO subsets (PDF/A, PDF/X, etc.)??   As you may know, there are significant differences in how color management is to take place between the various standards - you can&#39;t treat all PDF as equal!  I hope the team is working on handling all the various scenarios - especially since the proprietary one in Mac OS X does not (and I&#39;d love to see that replaced that with one that does!!).<div>
<br></div><div>As always, if I can help in any way (short of coding :), don&#39;t hesitate to ask!</div><div><br></div><div>Leonard Rosenthol</div><div>PDF Architect</div><div>Adobe Systems</div><div><br><div class="gmail_quote">
On Sun, Jan 16, 2011 at 4:35 PM, Hal V. Engel <span dir="ltr">&lt;<a href="mailto:hvengel@gmail.com">hvengel@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Sunday, January 16, 2011 12:18:18 pm Jan-Peter Homann wrote:<br>
&gt; Hello Richard,<br>
&gt; I´m not a developer, so may be my questions are in some cases a little<br>
&gt; bit simple:<br>
&gt;<br>
&gt; What is a device ?<br>
&gt; for colormanagement in the printing chain, the printer profile has to be<br>
&gt; assigned to combination of device/ink, paper and driver settings. How do<br>
&gt; you solve this with colord / CUPS ? (predifined CUPS queues for every<br>
&gt; combination of (device/ink, paper and driver settings?)<br>
<br>
</div>This is a good question.  When I looked at the colord admin interface screen<br>
shot I didn&#39;t see anyway to specify these things and was going to ask about<br>
it.  Oyranos has had a lot of work done on this part of the printing work flow<br>
and I think that whatever is being done should leverage that work.<br>
<br>
In the CUPS ppd it is possible to specify one or more ICC profile to printer<br>
mappings that allows for specifying three things.  By default these are:<br>
<br>
Media type (IE. paper type)<br>
Resolution<br>
Color Model (RGB, CYMK...)<br>
<br>
Color model is mandatory but the other two can be changed to reflect other<br>
things like specific driver settings (IE. ink settings for example).  I am not<br>
sure why Color Model is mandatory or even needed since this can be determined<br>
by looking at the profile.<br>
<br>
Clearly being able to specify three things is not enough and I don&#39;t see where<br>
this issue is addressed with colord.  Would it be possible to give us more<br>
information on this?<br>
<div class="im"><br>
&gt;<br>
&gt; Where to apply the color transformation from source profile to printer<br>
&gt; profile ?<br>
&gt; - colord ?<br>
<br>
</div>No<br>
<br>
&gt; - CUPS ?<br>
<br>
This is the current direction and the printing folks are working toward this.<br>
When this is in place it will happen in the CUPS *toraster filters.  The<br>
pdftoraster filter will be the first one with this capability.<br>
<br>
This is how things on OS/X are handled.  The main difference is that on OS/X<br>
there is a proprietary pdftoraster filter that is CM aware.  As a result there<br>
is a need to implement an open source CM aware pdftoraster filter.  This is<br>
being worked on at this time.<br>
<br>
&gt; - OS ?<br>
<br>
No<br>
<br>
&gt; - Printer driver ?<br>
<br>
No<br>
<br>
One other possibility is that this could be handled in the CPD on the client<br>
side (IE. early binding).  But there has not been any work done on this since<br>
the current focus is to make the whole CUPS back end CM aware.<br>
<div class="im"><br>
&gt;<br>
&gt; Where is the rendering intent from source to printer profile specified ?<br>
&gt; - colord ?<br>
&gt; - CUPS ?<br>
&gt; - OS ?<br>
&gt; - Printer driver ?<br>
<br>
</div>Since the CUPS work flow is moving to a PDF based system this can be specified<br>
in the PDF file that is passed to CUPS.   This allows for this to be user<br>
configurable.  Rendering intents will then be applied when the pdftoraster<br>
filter rasterizes the print job.<br>
<div class="im"><br>
&gt;<br>
&gt; What kind of data format is supported to be colormanaged in the printing<br>
&gt; stream ?<br>
&gt; - raster only<br>
&gt; - PDF ?<br>
<br>
</div>PDF<br>
<br>
Raster based workflows (photos for example) can be embedded into a PDF on the<br>
client side before sending them to the print server.  This is simple to do and<br>
all of the needed hooks are in place on *nix systems now days.<br>
<div class="im"><br>
&gt;<br>
&gt; If PDF, where are the color transformations for all PDF content parts<br>
&gt; applied ?<br>
<br>
</div>In the CUPS pdftoraster filter.  Currently there are versions of this filter<br>
that use poppler and ghostscript to handle PDF rasterization.  Poppler has had<br>
CM support (using lcms 1) since version 0.12.0 (0.18.0 is about to be<br>
released) but it is not a very mature implementation yet although it works OK.<br>
Ghostscript has had CM support for some time based on the ArgyllCMS code base<br>
and is being worked on to make this more complete and more flexible.  When this<br>
work is complete it will have very advanced CM support that will allow for<br>
high levels of concurrency and will allow for pluggable CM back ends (IE. it<br>
should be possible to create a plugin for any CM like ArgyllCMS or ACE for<br>
example).  The current work on Ghostscript is based on an LCMS plugin which<br>
will be the default CM.<br>
<div class="im"><br>
&gt;<br>
&gt; Control slug possible ?<br>
&gt; Is there any way to read, the current colord settings for a CUPS queue,<br>
&gt; to create a control slug on the print out, to document the settings from<br>
&gt; which the print has been created ?<br>
<br>
</div>Good questions.<br>
<div class="im"><br>
&gt;<br>
&gt; Best regards<br>
&gt; Jan-Peter<br>
&gt;<br>
&gt; Am 13.01.11 13:29, schrieb Richard Hughes:<br>
&gt; &gt; First, some background: colord is a project I&#39;ve been working on since<br>
&gt; &gt; Christmas.<br>
&gt; &gt;<br>
&gt; &gt; It is a simple system daemon that will be used by GCM and CUPS to<br>
&gt; &gt; manage per-system device-profile mapping.<br>
&gt; &gt;<br>
&gt; &gt; If you want to try it out with CUPS right now, you&#39;ll have to use our<br>
&gt; &gt; development tree <a href="http://gitorious.org/cups-colord" target="_blank">http://gitorious.org/cups-colord</a> and be sure to<br>
&gt; &gt; switch to the &#39;icc&#39; branch. When we&#39;ve got all the different options<br>
&gt; &gt; and overrides worked out we&#39;ll of course push the patchset back to<br>
&gt; &gt; CUPS upstream. Tim Waugh has been doing most of the CUPS work, whilst<br>
&gt; &gt; I&#39;ve been working on the colord project.<br>
&gt; &gt;<br>
&gt; &gt; colord works a lot like colorsync on OSX, so the CUPS changes are<br>
&gt; &gt; really quite small.<br>
&gt; &gt;<br>
&gt; &gt; Checkout the code from <a href="http://gitorious.org/colord" target="_blank">http://gitorious.org/colord</a> -- test it, and try<br>
&gt; &gt; to break it. The included cd-self-test program gives you some examples<br>
&gt; &gt; of what we&#39;re testing already. Tim has also built the cups-icc patch<br>
&gt; &gt; into Fedora rawhide, which might be an easier way for some people<br>
&gt; &gt; rather than to build the whole of CUPS.<br>
&gt; &gt;<br>
&gt; &gt; If you&#39;re only interested in pretty things, there&#39;s a screenshot of<br>
&gt; &gt; the admin tool here:<br>
&gt; &gt; <a href="http://gitorious.org/colord/master/blobs/master/doc/screenshot-devices.pn" target="_blank">http://gitorious.org/colord/master/blobs/master/doc/screenshot-devices.pn</a><br>
</div>&gt; &gt; g -- note the admin tool is designed for developers and programmers,<br>
<div><div></div><div class="h5">&gt; &gt; *not* end users :-)<br>
&gt; &gt;<br>
&gt; &gt; Comments (and patches!) welcome, thanks.<br>
&gt; &gt;<br>
&gt; &gt; Richard.<br>
&gt; &gt;<br>
&gt; &gt; Version 0.1.0<br>
&gt; &gt; ~~~~~~~~~~~~~<br>
&gt; &gt; Released: 2011-01-13<br>
&gt; &gt;<br>
&gt; &gt; Notes:<br>
&gt; &gt;   - Colord is a simple system activated daemon that maps devices to color<br>
&gt; &gt;<br>
&gt; &gt;     profiles.<br>
&gt; &gt;<br>
&gt; &gt;   - It is used by gnome-color-manager for CUPS integration and is also<br>
&gt; &gt;<br>
&gt; &gt;     used when there are no users logged in.<br>
&gt; &gt;<br>
&gt; &gt;   - The only real user at the moment is CUPS, but GNOME Color Manager<br>
&gt; &gt;<br>
&gt; &gt;     will start depending on colord when it is included in most mainstream<br>
&gt; &gt;     distributions.<br>
&gt; &gt;<br>
&gt; &gt;   - The DBus interface is not set in stone, and the libcolord library<br>
&gt; &gt;<br>
&gt; &gt;     will have new API added to it as required. If colord needs to break<br>
&gt; &gt;     public API at this stage for a specific use case, it will.<br>
&gt; &gt;<br>
&gt; &gt;   - The persistent storage code is not written yet, but that will come<br>
&gt; &gt;<br>
&gt; &gt;     with the next colord version.<br>
&gt; &gt;<br>
&gt; &gt; New Features:<br>
&gt; &gt;   - Add a &#39;Kind&#39; attribute to the device objects (Richard Hughes)<br>
&gt; &gt;   - Add a libcolord shared library that can be used in the client tools<br>
&gt; &gt;<br>
&gt; &gt; (Richard Hughes)<br>
&gt; &gt;<br>
&gt; &gt;   - Add an example spec file (Richard Hughes)<br>
&gt; &gt;   - Add a simple colormgr man page (Richard Hughes)<br>
&gt; &gt;   - Add a simple GTK test GUI for testing the DBus interfaces (Richard<br>
&gt; &gt;   Hughes) - Add a simple script to create a test device (Richard Hughes)<br>
&gt; &gt;   - Add basic DBus interface (Richard Hughes)<br>
&gt; &gt;   - Add code for the DeleteDevice method (Richard Hughes)<br>
&gt; &gt;   - Add DeleteProfile() on the main interface (Richard Hughes)<br>
&gt; &gt;   - Add GetProfileForQualifier() code (Richard Hughes)<br>
&gt; &gt;   - Add MakeProfileDefault() implementation to CdDevice (Richard Hughes)<br>
&gt; &gt;   - Add qualifiers to profiles (Richard Hughes)<br>
&gt; &gt;   - Allow clients to set properties on the objects using SetProperty<br>
&gt; &gt;<br>
&gt; &gt; (Richard Hughes)<br>
&gt; &gt;<br>
&gt; &gt;   - Expose the device created time (Richard Hughes)<br>
&gt; &gt;   - Fixed typo in ColorManager API description (Tim Waugh)<br>
&gt; &gt;   - Open the profile using lcms2 after we set the profile filename<br>
&gt; &gt;<br>
&gt; &gt; (Richard Hughes)<br>
&gt; &gt;<br>
&gt; &gt;   - Provide a method to assign an ICC profile to a profile object<br>
&gt; &gt;<br>
&gt; &gt; (Richard Hughes)<br>
&gt; &gt;<br>
&gt; &gt;   - Provide methods for mapping the device ID to the object path (Richard<br>
&gt; &gt;   Hughes) - Use seporate PolicyKit authorisations for each action type<br>
&gt; &gt;   (Richard Hughes)<br>
&gt; &gt;<br>
&gt; &gt; Richard.<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; openicc mailing list<br>
&gt; &gt; <a href="mailto:openicc@lists.freedesktop.org">openicc@lists.freedesktop.org</a><br>
&gt; &gt; <a href="http://lists.freedesktop.org/mailman/listinfo/openicc" target="_blank">http://lists.freedesktop.org/mailman/listinfo/openicc</a><br>
_______________________________________________<br>
openicc mailing list<br>
<a href="mailto:openicc@lists.freedesktop.org">openicc@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/openicc" target="_blank">http://lists.freedesktop.org/mailman/listinfo/openicc</a><br>
</div></div></blockquote></div><br></div>