BuySellAds.com

Read the chapters in my new book Barcodes with iOS 7 as I hand them in. Great new app opportunities await!
Our DNA is written in Objective-C
Jump

Bug: Quartz PDF Rendering with CMYK Page-Level Transparency Blending Color Space

That’s certainly a mouth full. We stumbled on this weirdness when working on PDF Importing for our iCatalog Editor. I am filing this as a Mac bug at the same time as communicating with DTS to see if they can offer a workaround for this problem.

The problem appears if a PDF is using a CMYK color blending space on a page for transparency blending. That causes this effect. Left side is how the PDF comes out on Mac, right side how it looks correctly on iOS (Simulator/Device). Also if you view the PDF in Preview or Pixelmator it looks weird, only in Adobe’s tools do they look correct.

If the behavior were the same on Mac and iOS then I would have thought to be Adobe using some weird special extension, but since the output is correct on iOS we think that this must actually be a bug. Maybe the Mac version of Quartz PDF rendering tries to do something smart since it is aware of color calibration but doing so messes up the colors.

This is a bit embarrassing since one might think that Macs with all their color profiling and such would get the colors right, overtime. But this appears to be especially prevalent in the print industry which seems to like to use CMYK. Now the problem occurs if they want us developers to use the same PDFs that they created for printing. The only workaround I know of is to edit the PDF and modify the blending setting:

I filed it under Radar #12796443 as well as cross-posted it on OpenRadar.

Summary

If a PDF document has pages that have a page-level transparency blending color space of CMYK then all output on Mac using Quartz PDF drawing will have incorrect colors.

This affects drawing of PDFs via PDFKit, CGPDF functions, viewing in Preview and most third party apps, like e.g. Pixelmator. Adobe’s apps are the only ones the display it correctly.

Interestingly the rendering behavior on iOS – including the iOS simulator on Mac – displays those PDFs correctly.

Steps to Reproduce

Create a PDF with e.g. Adobe InDesign, have some transparent elements
Set the Page-Level Transparency Blending Color Space to CMYK
View this PDF in Preview.app

Expected Results

Colors should look the same viewing the PDF on Mac as well as iOS.

Actual Results

iOS (device and simulator) show correct colors, on Mac the colors look less brilliant and muddy.

Regression

n/a

Notes

If this were happening uniformly on iOS and Mac then we’d say that this might be a problem with Adobe using some weird extensions. But since the colors are correct on iOS, even in the Simulator, we think that OS X is trying to do the right thing with the blending color space, but this causes the colors to be output incorrectly.

This problem is most prevalent in the print industry because there CMYK is often as a default setting used instead of RGB. One would expect for Macs to get the colors right, being the tool of choice (even having color correction) for graphic designers worldwide.


Categories: Bug Reports

%d bloggers like this: