Hi Phil, Thanks for the patch.
I was, however, wondering why you need this patch since the functionality to modify tags is already in the library. And after inspecting your LCMS.c module, I can see the author is doing heavy use of undocumented low-level functions. Accessing things like the LPLCMSICCPROFILE structure instead of using the cmsHPROFILE handle is not a good choice because it breaks compatibility. This code is not going to work with lcms2.0, for example. All the function pointers in this struct (read, seek and so) are supposed to be lcms internals, and this is the reason why you need the patch, you are accessing the tags in the hard way, doing a seek and then reading the tag data *directly* from the ICC file. I can understand why you do it this way instead of using cmsReadXXX(), you need the raw, uncooked data because the previous cmm did work on such way. On the other hand, lcms does some processing and converts the profile data to intermediate objects, so it is easier for the user. One example may be the LUT structure. Unfortunately, both approaches can't coexist. Using lcms logic, you read and write lcms objects and the library does all work on parsing and serializing those objects. To read tags, use cmsRead<whatever>(), to set and modify tags, use cmsAddTag(). This works very well, allows you to edit profiles and is fully qualified. For editing the profile as a RAW file you can use lcms internals, but this may (and certainly is going to) change across releases. Kind Regards Marti Phil Race wrote: > Hi, > > OpenJDK uses little cms. But in order to pass TCK (compatibility compliance > needed to call > it Java), littlecms needed minor modifications to support API to write tagged > data elements. > > http://cr.openjdk.java.net/~prr/littlecms/ > > Can these be pushed into 1.18 by the maintainers, before it goes final, so we > can more > easily keep in sync with the latest ? NOT the new file LCMS.c, just the small > mods to > lcms.h and cmsio0.c > > I think it may have been RedHat that created the original version of this > patch > and its been used in this form in the "6-open" release that's shipping on > Redhat now. > > -Phil. > > ------------------------------------------------------------------------------ > Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are > powering Web 2.0 with engaging, cross-platform capabilities. Quickly and > easily build your RIAs with Flex Builder, the Eclipse(TM)based development > software that enables intelligent coding and step-through debugging. > Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com > _______________________________________________ > Lcms-user mailing list > Lcms-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/lcms-user > > > ------------------------------------------------------------------------------ Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user