<br><br><div class="gmail_quote">On Tue, Feb 28, 2012 at 10:02 AM, Kai-Uwe Behrmann <span dir="ltr">&lt;<a href="mailto:ku.b@gmx.de">ku.b@gmx.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am 28.02.12, 09:25 -0800 schrieb Michael Vrhel:<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tue, Feb 28, 2012 at 9:08 AM, Chris Murphy &lt;<a href="mailto:lists@colorremedies.com" target="_blank">lists@colorremedies.com</a>&gt;<u></u>wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Feb 27, 2012, at 10:52 PM, Michael Vrhel wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It is not true that Ghostscript will assume DeviceRGB is sRGB.<br>
</blockquote>
 Ghostscript can be specified to use specific ICC profiles for DeviceGray,<br>
DeviceRGB and DeviceCMYK.  In fact, Ghostscript can have different source<br>
ICC profiles specified for different graphic types (e.g. text, graphics and<br>
images in DeviceRGB and DeviceCMYK color spaces).   These can even override<br>
ICC profiles that are internally specified within the document.    Object<br>
dependent ICC profiles can also be specified for the output device ICC<br>
profile and DeviceN source color spaces can be specified with external ICC<br>
profiles.<br>
<br>
For what it&#39;s worth, the idea of overriding embedded profiles in a<br>
document is a big problem. If the wrong source profile is embedded, the PDF<br>
needs to print like crap, and the offending user or application that<br>
produced the PDF needs to fix their error.<br>
<br>
</blockquote>
<br>
The fact is that the world is a big place and there are software RIP<br>
vendors that use Ghostscript in their products and they need to have this<br>
capability.   It is an option that one has available and requires a special<br>
command line option to invoke.  In its vanilla calling form, Ghostscript<br>
makes use of all the embedded ICC profiles in PDF.<br>
</blockquote>
<br></div>
Honestly I share Chris&#39; objection.<br>
<br>
I would feel much better, if you design the options in a way, that overriding a embedded profile will not happen even if a external profile is specified :-)<br>
So I think a explicite option to ignore the embedded profile, beside a external subordinate specified profile would be my wish.<br>
<br>
# the first case works compliant to PDF/X standard<br>
gs --output-profile-if-no-<u></u>embedded-is-found=XXX<br>
# the second case breaks willingly the PDF/X standard and is<br>
# not prominently documented<br>
gs --output-profile-if-no-<u></u>embedded-is-found=XXX --ignore-embedded<br>
<br>
Hope that satisfies both concers.<div class="im"><br></div></blockquote><div><br>I guess we are talking about two different things here.  There are two &quot;override&quot; conditions.  <br><br>Case 1:  Suppose I have a source color space in a PDF file that is ICC based.  It is possible in Ghostscript to actually override that source color ICC profile and replace it with a different ICC profile.  To do this, requires the use of a command line option -dOverrideICC.   This is the type of command line option that one really would never use if they had a properly defined PDF file.  Apparently the customers for some RIP vendors receive all sorts of garbage PDFs and so they need to have the capability to override what the file says the colors are.  I agree that in a perfect world this would not be needed, but unfortunately I don&#39;t write all the PDF creation software.   User beware when they use this option and I doubt this command line option would be used by anyone but particular RIP vendors.<br>
<br>Case 2:  Now we are talking about Output Intent.  A PDF file can have multiple output intents and the ICC profile may or may not be included in the output intent dictionaries.   Because of this ambiguity, Ghostscript has been  ignoring the OutputIntent.  A work around for this has been to use Ghostscript to parse and dump the ICC profiles contained in the OutputIntent dictionaries using a tool called extractICCprofiles.ps in Ghostscript&#39;s toolbin directory and then to specify on the command line the particular output intent profile that you wished to used for the device and for the default source color space.  For example, if there was a CMYK output intent dictionary in the file and it was the one that I wished to use, then I could first extract it using the tool.  Then I would want to specify -sOutputICCProfile=my_device_profile.icc  -sDefaultCMYKProfile=cmyk_profile.icc -sProofProfile=cmyk_profile.icc where obviously cmyk_profile.icc is the profile that I extracted from the dictionary and assuming that we are actually printing to a device that has a profile called my_device_profile.icc  .<br>
<br>Now, I am in the process of implementing automated use of the OutputIntent in Ghostscript.   Since people are used to having Ghostscript provide a certain result, this new use of the OutputIntent by Ghostscript will be initially invoked through the use of a command line option -dUsePDFX3Profile=#  where # specifies which OutputIntent to use.   Now, if one does NOT specify a particular output ICC profile for their device, the file will be rendered to the output intent color space (assuming the device process color space matches the OutputIntent color space i.e. CMYK vs RGB).  If someone DOES specify an ICC profile for their device using   -sOutputICCProfile=my_device_profile.icc, then Ghostscript will treat the output intent as if it were the proofing profile.   That is, rendering through the output intent profile and end up in the color space specified for the device profile.  This use of the OutputIntent as a proofing profile will also occur if the process color model of the target device is different than the OutputIntent color space.   In this sense, the &quot;override&quot;  by the device profile is not really an override but simply an attempt to make proper use of the output intent on the target device giving the user a view of how the file was intended to look when printed/viewed on their target device. <br>
<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hacks that ignore embedded profiles is what destroyed the original PNG<br>
based color management implementation. Apps wrote out PNGs with bogus color<br>
information, and when honored by viewing applications the images looked<br>
whacky. So PNG viewer application developers started to ignore the<br>
color/gamma metadata in PNG, rendering that whole paradigm entirely useless.<br>
<br>
Second guessing embedded metadata is just like second guessing actual<br>
data. Apps, RIPs, printers themselves are not ignoring RGB 232, 50, 100 in<br>
favor of some other values. They should not be ignoring embedded profiles<br>
in favor of some other values either.<br>
<br>
The mere option of overriding embedded profiles is like handing developers<br>
and users razor blades and telling them to go play out on the freeway. It<br>
will regress the consistency of color management, by making it even less<br>
consistent than it already is.<br>
<br>
</blockquote>
<br>
My comment on your analogy is to say that if one doesn&#39;t know the proper<br>
way to use a tool and fails to RTFM then you deserve what you get, which is<br>
cut and run over :) .   By default Ghostscript is designed to honor all the<br>
embedded color information.<br>
</blockquote>
<br></div>
kind regards<span class="HOEnZb"><font color="#888888"><br>
Kai-Uwe</font></span><div class="HOEnZb"><div class="h5"><br>
______________________________<u></u>_________________<br>
openicc mailing list<br>
<a href="mailto:openicc@lists.freedesktop.org" target="_blank">openicc@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/openicc" target="_blank">http://lists.freedesktop.org/<u></u>mailman/listinfo/openicc</a><br>
</div></div></blockquote></div><br>