The https://www.ghostscript.com/doc/9.26/VectorDevices.htm#PDFX says: > Even if you are using a standard OutputCondition and do not need to specify an ICCProfile, > you must still set OutputICCProfile with an appropriate ICC profile in order for proper > color conversion However, the following experiments suggest that this parameter is completely ignored, actually. (Based on "cmyk_des_renderintent.icc", "default_cmyk.icc" and "PDFX_def.ps" see attached) [v11] With `-sOutputICCProfile="default_cmyk.icc"` and `/ICCProfile (default_cmyk.icc) def`. The result looks somewhat as-expected. This would be "the reference result". > gswin64c -dPDFX -dBATCH -dNOPAUSE -dHaveTransparency=false -r20 > -dProcessColorModel=/DeviceCMYK -sColorConversionStrategy=CMYK -I. > -sDefaultRGBProfile="default_rgb.icc" -sOutputICCProfile="default_cmyk.icc" > -dRenderIntent=0 -dDefaultRenderingIntent=/Perceptual -sDEVICE=pdfwrite > -sOutputFile=colorbar_x3_v11.pdf PDFX_def_cmyk.ps colorbar.pdf [v12] Changing the following: `-sOutputICCProfile="cmyk_des_renderintent.icc"`. > gswin64c -dPDFX -dBATCH -dNOPAUSE -dHaveTransparency=false -r20 > -dProcessColorModel=/DeviceCMYK -sColorConversionStrategy=CMYK -I. > -sDefaultRGBProfile="default_rgb.icc" -sOutputICCProfile="cmyk_des_renderintent.icc" > -dRenderIntent=0 -dDefaultRenderingIntent=/Perceptual -sDEVICE=pdfwrite > -sOutputFile=colorbar_x3_v12.pdf PDFX_def_cmyk.ps colorbar.pdf [v13] Dropping `-sOutputICCProfile`. > gswin64c -dPDFX -dBATCH -dNOPAUSE -dHaveTransparency=false -r20 > -dProcessColorModel=/DeviceCMYK -sColorConversionStrategy=CMYK -I. > -sDefaultRGBProfile="default_rgb.icc" > -dRenderIntent=0 -dDefaultRenderingIntent=/Perceptual -sDEVICE=pdfwrite > -sOutputFile=colorbar_x3_v13.pdf PDFX_def_cmyk.ps colorbar.pdf Result: binary comparison of v11, v12, v13 outputs shows that they are only different in "/CreationDate" (and "/ID"). Thus, it looks like those statement in `VectorDevices.htm` is not true. Or... am I missing something? ================================================================================================ Few more experiments, just-in-case: [v14] if I modify v12 by dropping `-dPDFX` and `PDFX_def_cmyk.ps`, I get file that is significanlly smaller (probably, due to no large icc). But it looks the same. > gswin64c -dBATCH -dNOPAUSE -dHaveTransparency=false -r20 > -dProcessColorModel=/DeviceCMYK -sColorConversionStrategy=CMYK -I. > -sDefaultRGBProfile="default_rgb.icc" -sOutputICCProfile="cmyk_des_renderintent.icc" > -dRenderIntent=0 -dDefaultRenderingIntent=/Perceptual -sDEVICE=pdfwrite > -sOutputFile=colorbar_x3_v14.pdf colorbar.pdf [v12t] if I set output device to tiff - the effects one should expect from "cmyk_des_renderintent.icc" are clearly visible (even though there are some issues with transparency, see https://bugs.ghostscript.com/show_bug.cgi?id=700929 ) > gswin64c -dPDFX -dBATCH -dNOPAUSE -dHaveTransparency=false -r20 > -dProcessColorModel=/DeviceCMYK -sColorConversionStrategy=CMYK -I. > -sDefaultRGBProfile="default_rgb.icc" -sOutputICCProfile="cmyk_des_renderintent.icc" > -dRenderIntent=0 -dDefaultRenderingIntent=/Perceptual -sDEVICE=tiff32nc > -sOutputFile=colorbar_x3_v12t.tiff colorbar.pdf [v15] if I change the profile inside the prefix file `/ICCProfile (cmyk_des_renderintent.icc) def` - I not only see that profile embedded (e.g. Acrobat -> Preflight -> Analyze - > Results -> Overview -> Output Intents -> CGATS TR001 -> ICC optput profile), I also do see that colors are not somewhat different. But not like one might expect from that icc profile - instead they just look more saturated. Not sure what this means. > gswin64c -dPDFX -dBATCH -dNOPAUSE -dHaveTransparency=false -r20 > -dProcessColorModel=/DeviceCMYK -sColorConversionStrategy=CMYK -I. > -sDefaultRGBProfile="default_rgb.icc" -sOutputICCProfile="cmyk_des_renderintent.icc" > -dRenderIntent=0 -dDefaultRenderingIntent=/Perceptual -sDEVICE=pdfwrite > -sOutputFile=colorbar_x3_v15.pdf PDFX_IntCmyk.ps colorbar.pdf
Created attachment 17288 [details] Example input and output files
First, would you mind tagging any more 'problems' with colour conversion and the pdfwrite device as 'PDF Writer' and not 'Color Management' please ? As I've mentioned several times, the colour management performed by the pdfwrite device is quite different to the regular rednering devices, due to the fact that we want to retain as much information as possible, and *not* convert everything to a specific device space. Tagging the reports with 'colour management' sets the Assignee incorrectly. Comparing the pdfwrite behaviour with a rendering device is not helpful, the results will not often be the same. In this case this is, once again, an aspect of the old colour management scheme, but since setting it does not harm the new scheme, its been left in place. When the old scheme is removed the documentation will be resolved.
(In reply to Ken Sharp from comment #2) Thanks for the fix! Just for the reference: Now (since b987c511229ba0b70e6a7691366d530fa8db7444 ), doc/VectorDevices.htm does not mention "OutputICCProfile" at all, which is in line with the fact that it has no effect.