Thread: Re: [Lcms-user] Pantone Huey and little cms.
An ICC-based CMM for color management
Brought to you by:
mm2
From: Marti M. <mar...@li...> - 2007-09-15 13:37:55
|
Hi, Maybe I've missed some messages on this thread, sorry. What is the relationship with pantone huey? I've tried v4 sRGB from ICC, and I got good results: $ icctrans -i /cygdrive/f/sRGB_v4_ICC_preference.icc -v LittleCMS ColorSpace conversion calculator - v3.0 From: sRGB v4 ICC preference perceptual intent beta Desc: sRGB v4 ICC preference perceptual intent beta Info: sRGB v4 ICC preference perceptual intent beta Copyright 2007 International Color Consortium WhitePoint : D65 (daylight) So, LittleCMS seems to read correctly the info on that profile. May be the bug is on the Gimp's side? Thanks Marti. On 14/09/2007 23:19:20, Elisa Ranucci (ra...@ti...) wrote: > A similar thing happens with the sRGB v.4 profile I downloaded from > http://www.color.org/srgbprofiles.xalter > (they're THE icc, so their profile should be conform to standard). > I get the GIMP to show the name right in the preferences. But when I > convert an image to that profile, it says 'converting > to "invalid UTF-8 > string". It displays the profile that way in the image > properties. Is it > because that and the Huey's profile have very long names? > > Many thanks, > > Ludovico Fischer > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Lcms-user mailing list > Lcm...@li... > https://lists.sourceforge.net/lists/listinfo/lcms-user |
From: Marti M. <mar...@li...> - 2007-09-15 19:17:51
|
Hi Kai-Uwe, Neat trick. I am including it in my sources, thanks! Regards Marti. On 15/09/2007 20:54:36, Kai-Uwe Behrmann (ku...@gm...) wrote: > Marti, > > in cmsio1.c:1507 lcms bails out if wcstombs returns with -1, as is the > case for the mentioned profile. > > I tested on x86 linux with libc-2.5. In return of ReadEmbeddedTextTag the > > strlen is zero. Probably the glibc implementation is weak, and lcms needs > > a work around to wcstombs. > > something like (?): > > 1504 i = wcstombs(Name, wchar, size_max ); > 1505 if (i == ((size_t) -1)) { > 1506 // second try at least for latin > 1507 int i; > 1508 char *tmp = (char*)wchar; > 1509 for(i = 0; i < Len/2; ++i) > 1510 Name[i] = tmp[i*2]; > 1511 //Name[0] = 0; // Error > 1512 } > > A check to ignore multibyte characters would be needed in addition: > > /* > * Index into the table below with the first byte of a UTF-8 sequence to > * get the number of trailing bytes that are supposed to follow it. > * Note that *legal* UTF-8 values c |
From: Kai-Uwe B. <ku...@gm...> - 2007-09-27 19:46:30
|
Hello Marti, a few lines before at cmsio1.c:1497 wchar = (wchar_t*) _cmsMalloc(Len+2); should probably read wchar = (wchar_t*) _cmsMalloc(Len*sizeof(wchar_t)+2); It keeps CinePaint running longer after. kind regards Kai-Uwe Behrmann -- developing for colour management www.behrmann.name + www.oyranos.org + www.cinepaint.org Am 15.09.07, 21:16 +0200 schrieb Marti Maria: > On 15/09/2007 20:54:36, Kai-Uwe Behrmann (ku...@gm...) wrote: > > 1504 i = wcstombs(Name, wchar, size_max ); > > 1505 if (i == ((size_t) -1)) { > > 1506 // second try at least for latin > > 1507 int i; > > 1508 char *tmp = (char*)wchar; > > 1509 for(i = 0; i < Len/2; ++i) > > 1510 Name[i] = tmp[i*2]; > > 1511 //Name[0] = 0; // Error > > 1512 } |
From: Kai-Uwe B. <ku...@gm...> - 2007-09-15 18:53:04
|
Marti, in cmsio1.c:1507 lcms bails out if wcstombs returns with -1, as is the case for the mentioned profile. I tested on x86 linux with libc-2.5. In return of ReadEmbeddedTextTag the strlen is zero. Probably the glibc implementation is weak, and lcms needs a work around to wcstombs. something like (?): 1504 i = wcstombs(Name, wchar, size_max ); 1505 if (i == ((size_t) -1)) { 1506 // second try at least for latin 1507 int i; 1508 char *tmp = (char*)wchar; 1509 for(i = 0; i < Len/2; ++i) 1510 Name[i] = tmp[i*2]; 1511 //Name[0] = 0; // Error 1512 } A check to ignore multibyte characters would be needed in addition: /* * Index into the table below with the first byte of a UTF-8 sequence to * get the number of trailing bytes that are supposed to follow it. * Note that *legal* UTF-8 values can't have 4 or 5-bytes. The table is * left as-is for anyone who may want to do such conversion, which was * allowed in earlier algorithms. */ static const char trailingBytesForUTF8[256] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5 }; If a multibyte character is found the whole language selection can fall back to english. Would it make it? kind regards Kai-Uwe Behrmann -- developing for colour management www.behrmann.name + www.oyranos.org + www.cinepaint.org Am 15.09.07, 15:37 +0200 schrieb Marti Maria: > $ icctrans -i /cygdrive/f/sRGB_v4_ICC_preference.icc -v > LittleCMS ColorSpace conversion calculator - v3.0 > > From: sRGB v4 ICC preference perceptual intent beta > Desc: sRGB v4 ICC preference perceptual intent beta > Info: sRGB v4 ICC preference perceptual intent beta |