[OpenJDK 2D-Dev] OpenJDK and lcms color management (soft-proofing)

Claudio Wilmanns Claudio.Wilmanns at infowerk.de
Thu Jul 12 12:09:42 UTC 2012


Thanks for your answer and explanations, Phil.

The API you are pointing me at is the Standard Edition of Java, and not
the OpenJDK. To be honest, I don’t know exactly where the differences are,
but in my case I know that only OpenJDK makes use of littleCMS, whilst
JavaSE does not. Or am I wrong?

This is of importance to me, as it is possible that the Kodak color
management module is probably inferior to littleCMS, mostly in speed, but
also in accuracy. Speed is definitely a limiting factor in the application
I have in mind as I have heard that Java colormanagement is really,
really, really sloooow.

Moreover it is possible that the support for the absolute colorimetric
rendering intent has been stripped in the Java version of the Kodak CMM -
although this may be true for littleCMS as well.

Saying that, what do I need to do if I want to make use of the littleCMS
engine in OpenJDK? I must download and install OpenJDK and probably link
my code to it instead of JavaSE, right?


I’m sorry, but I do not quite understand what you mean by this:
	"I am not sure if you should read too much into the comment as being an
	exhaustive list and in any case I think its only saying what would happen
	if you did not explicitly request absolute colorimetric.“
	
	http://docs.oracle.com/javase/7/docs/api/java/awt/color/ICC_Profile.html#i
cAbsoluteColorimetric

From what I think you are saying is, that the absolute colorimetric
rendering intent is specified within the profile and there exists the type
„icAbsoluteColorimetric“. So by chance, even if it is not specified as a
renderType officially, it might be useable, although the result is
undefined. 
If I am wrong, could you please be a little more specific in what you are
saying?

I will try to create my own test code and would appreciate if this list
can help me if I’m stuck. Thanks in advance.

Best Regards
Claudio

-----Ursprüngliche Nachricht-----
Von: Phil Race <philip.race at oracle.com>
Datum: Tuesday, July 10, 2012 1:30 AM
An: Claudio Wilmanns <Claudio.Wilmanns at infowerk.de>
Cc: "2d-dev at openjdk.java.net" <2d-dev at openjdk.java.net>
Betreff: Re: [OpenJDK 2D-Dev] OpenJDK and lcms color management
(soft-proofing)

>What you are looking at and calling "a public interface" most certainly
>is NOT.
>Its deep (very deep) inside the JDK implementation in a place
>applications are not
>supposed to even know about and definitely cannot depend upon to even
>exist.
>
>The only APIs at your disposal are those listed here :-
>http://docs.oracle.com/javase/7/docs/api/
>
>I am not sure if you should read too much into the comment as being an
>exhaustive list and in any case I think its only saying what would happen
>if you did not explicitly request absolute colorimetric.
>
>http://docs.oracle.com/javase/7/docs/api/java/awt/color/ICC_Profile.html#i
>cAbsoluteColorimetric
>
>I'd love to point you at some related tests but I can't locate anything.
>
>-phil.
>
>
>On 7/9/2012 12:46 AM, Claudio Wilmanns wrote:
>> Hi there,
>>
>> I’d like to know to which extent lcms color management has been
>> implemented.
>>
>> In particular I’m interested in the use of the absolute colorimetric
>> rendering intent for soft-proofing of CMYK data.
>>   - is this possible?
>>   - how can this be achieved?
>>
>> Any help or hints are appreciated.
>>
>>
>> Here are my findings so far.
>>
>> The public ColorTransform API interface
>> (http://www.docjar.com/html/api/sun/java2d/cmm/ColorTransform.java.html)
>> lists the following for the renderType parameter:
>> 	public interface ColorTransform {
>> 	    public int Any = -1;/* any rendering type, whichever is
>> 	                           available */
>> 	                        /* search order is icPerceptual,
>> 	                           icRelativeColorimetric, icSaturation */
>> 	
>> 	    /* Transform types */
>> 	...
>> 	}
>>
>>
>> Given the above information I assume that absolute colorimetric
>>rendering
>> is not possible as it is not one of the documented renderTypes.
>>
>> On the other hand, a complete lcms implementation lets me suggest that
>> using the renderType „3“ stands for „icAbsoluteColorimetric“ but is only
>> undocumented. Can somebody confirm this?
>>
>> Is there some easy to use test code available so I can perform tests by
>> myself?
>>
>> Best Regards
>> Claudio
>>
>



More information about the 2d-dev mailing list