<div dir="ltr"><div><div>Till,<br><br></div>The lcms naming issue should be patched up in rev. 7250.<br><br></div>Joe<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 8, 2014 at 3:27 PM, Till Kamppeter <span dir="ltr"><<a href="mailto:till.kamppeter@gmail.com" target="_blank">till.kamppeter@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thank you for the commit, but rastertopdf does not build for me. See below.<br>
<br>
   Till<br>
<br>
----------<br>
<br>
<br>
  CXX      rastertopdf-rastertopdf.o<br>
filter/rastertopdf.cpp:85:25: warning: anonymous variadic macros were<br>
introduced in C99 [-Wvariadic-macros]<br>
 #define dprintf(format, ...) fprintf(stderr, "DEBUG2: (" PROGRAM ") "<br>
format, __VA_ARGS__)<br>
                         ^<br>
filter/rastertopdf.cpp:87:25: warning: anonymous variadic macros were<br>
introduced in C99 [-Wvariadic-macros]<br>
 #define iprintf(format, ...) fprintf(stderr, "INFO: (" PROGRAM ") "<br>
format, __VA_ARGS__)<br>
                         ^<br>
filter/rastertopdf.cpp: In function ‘QPDFObjectHandle<br>
embedIccProfile(QPDF&)’:<br>
filter/rastertopdf.cpp:187:3: error: ‘icColorSpaceSignature’ was not<br>
declared in this scope<br>
   icColorSpaceSignature css = cmsGetColorSpace(colorProfile);<br>
   ^<br>
filter/rastertopdf.cpp:187:25: error: expected ‘;’ before ‘css’<br>
   icColorSpaceSignature css = cmsGetColorSpace(colorProfile);<br>
                         ^<br>
filter/rastertopdf.cpp:190:10: error: ‘css’ was not declared in this scope<br>
   switch(css){<br>
          ^<br>
filter/rastertopdf.cpp:191:10: error: ‘icSigGrayData’ was not declared<br>
in this scope<br>
     case icSigGrayData:<br>
          ^<br>
filter/rastertopdf.cpp:195:10: error: ‘icSigRgbData’ was not declared in<br>
this scope<br>
     case icSigRgbData:<br>
          ^<br>
filter/rastertopdf.cpp:199:10: error: ‘icSigCmykData’ was not declared<br>
in this scope<br>
     case icSigCmykData:<br>
          ^<br>
filter/rastertopdf.cpp:211:57: error: ‘_cmsSaveProfileToMem’ was not<br>
declared in this scope<br>
   _cmsSaveProfileToMem(colorProfile, NULL, &profile_size);<br>
                                                         ^<br>
filter/rastertopdf.cpp:212:34: warning: ISO C++ forbids variable length<br>
array ‘buff’ [-Wvla]<br>
   unsigned char buff[profile_size];<br>
                                  ^<br>
filter/rastertopdf.cpp: In function ‘QPDFObjectHandle makeImage(QPDF&,<br>
PointerHolder<Buffer>, unsigned int, unsigned int, cups_cspace_t,<br>
unsigned int)’:<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_W’ not handled in switch [-Wswitch]<br>
         switch(cs) {<br>
               ^<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_RGBA’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_CMY’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_YMC’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_YMCK’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_KCMY’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_KCMYcm’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_GMCK’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_GMCS’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_WHITE’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_GOLD’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_SILVER’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_CIEXYZ’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_CIELab’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_RGBW’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_SW’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICC1’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICC2’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICC3’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICC4’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICC5’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICC6’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICC7’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICC8’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICC9’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICCA’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICCB’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICCC’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICCD’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICCE’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_ICCF’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICE1’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICE2’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICE3’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICE4’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICE5’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICE6’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICE7’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICE8’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICE9’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICEA’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICEB’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICEC’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICED’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICEE’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp:358:15: warning: enumeration value<br>
‘CUPS_CSPACE_DEVICEF’ not handled in switch [-Wswitch]<br>
filter/rastertopdf.cpp: In function ‘int convert_raster(cups_raster_t*,<br>
unsigned int, unsigned int, int, int, pdf_info*)’:<br>
filter/rastertopdf.cpp:495:12: warning: unused variable ‘pixels’<br>
[-Wunused-variable]<br>
     int i, pixels;<br>
            ^<br>
filter/rastertopdf.cpp: In function ‘int main(int, char**)’:<br>
filter/rastertopdf.cpp:682:18: warning: unused variable ‘val’<br>
[-Wunused-variable]<br>
     const char  *val;  /* Option value */<br>
                  ^<br>
filter/rastertopdf.cpp: At global scope:<br>
filter/rastertopdf.cpp:555:21: warning: ‘unsigned int<br>
getCMSColorSpaceType(cmsColorSpaceSignature)’ defined but not used<br>
[-Wunused-function]<br>
 static unsigned int getCMSColorSpaceType(cmsColorSpaceSignature cs)<br>
                     ^<br>
make[1]: *** [rastertopdf-rastertopdf.o] Error 1<br>
make[1]: Leaving directory `/home/till/printing/cups/bzr/y'<br>
make: *** [all] Error 2<br>
till@till:~/printing/cups/bzr/y$<br>
<div class="im HOEnZb"><br>
<br>
On 08/08/2014 07:35 PM, Joseph Simon wrote:<br>
> Hello Till,<br>
><br>
> The handling of sRGB, sGray, and AdobeRGB in rastertopdf has been<br>
> updated in revision 7248 of cups-filters.<br>
><br>
> For both sGray and AdobeRGB, the PDF '/ColorSpace' is set to /CalGray<br>
> and /CalRGB, respectively, and are given the appropriate<br>
> whitepoint/gamma values.<br>
><br>
> For sRGB, the '/ColorSpace' references an /ICCBased array object, which<br>
> in the PDF will include an embedded sRGB profile in its stream (using<br>
> LCMS to create the profile).<br>
><br>
> Joseph Simon<br>
><br>
><br>
> On Thu, May 15, 2014 at 6:35 AM, Till Kamppeter<br>
</div><div class="HOEnZb"><div class="h5">> <<a href="mailto:till.kamppeter@gmail.com">till.kamppeter@gmail.com</a> <mailto:<a href="mailto:till.kamppeter@gmail.com">till.kamppeter@gmail.com</a>>> wrote:<br>

><br>
>     Hi Joseph,<br>
><br>
>     did you already have a look into filters of cups-filters and whether<br>
>     they do correctly with color management?<br>
><br>
>     Also I have today committed a new rastertopdf filter to turn PWG Raster<br>
>     input into PDF output. This works well if the input file is in Black,<br>
>     RGB, or CMYK color space with 1 or 8 bits per component color depth. The<br>
>     resulting PDF is in DeviceGray, DeviceRGB, or DeviceCMYK color space<br>
>     then. How do I proceed with sGray, sRGB, and Adobe RGB? Simply using<br>
>     DeviceGray, DeviceRGB gives broken output and is probably wrong in terms<br>
>     of color management. What is correct here. Also 16 bit color depth with<br>
>     Black and RGB gives broken output.<br>
><br>
>        Till<br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>