Consider any standard plot, with true CMYK black text:
fakedata =
Transpose@{DatePlus[{2001, 1}, {#, "Month"}] & /@ Range[0, 99],
Accumulate[RandomVariate[NormalDistribution[0, 1], {100}]] - 2};
myplot = DateListPlot[fakedata, Joined -> True,
BaseStyle -> {20, CMYKColor[0, 0, 0, 1]}]
When I Export
to PDF format, the text does not reproduce as true CMYK black, even if I specify its color as a CMYKColor
. Rather, it comes out as CMYKColor[1,1,1,1]
, a mix of all four CMYK colors. This is a nuisance as my use case is to export these graphics for importing into an InDesign document, and the result is fuzzy-looking text. Strangely, the plot's Frame
is not affected by this problem, which makes me think it is something to do with the text rendering algorithm.
Using ColorConvert
doesn't help because that just rasterizes the image, which looks terrible. It is designed for images, not vector graphics.
Export["test-converted3.pdf", ColorConvert[myplot, "CMYK"]] (* ugliness ensues *)
While I can fix the problem by getting the graphic designer to re-distill the PDF, I would much prefer to have a direct solution in Mathematica.
There is a supposedly obsolete option ColorOutput -> "CMYK"
, but it doesn't seem to make a difference.
I considered that the issue might be something to do with the way Mathematica antialiases text, but I couldn't work out what setting might affect that. Does anyone have any suggestions for a direct Mathematica solution?
0 0 0 1 k
. Don't know whether EPS->PDF conversion changes it though, and you may be using translucency... $\endgroup$Black(1.0)
inDeviceGray color space
according to the Preflight output and no CMYK colors at all in the PDF file. But yes, the EPS file contains0 0 0 1 k
operators - but I am not sure whether they correspond to the text or only to lines. $\endgroup$