Comment 152 for bug 179988

Revision history for this message
Adrian Johnson (ajohnson-redneon) wrote :

As far as I know masks are correctly implemented by cairo in the PDF backend.

Based on comment 61 there are two different cairo renderers for PS and PDF.

$ grep cairo_mask *
cairo-render-context.cpp: cairo_mask_surface(_cr, clip_mask, 0, 0);
cairo-render-context.cpp: cairo_mask_surface(mask_ctx->_cr, clip_mask, 0, 0);
cairo-render-context.cpp: cairo_mask_surface(_cr, mask_image, 0, 0);

Only one of them is using cairo_mask().

I'm not sure why the print file is 117MB. A 11x8" page at 90dpi is
90*11*90*8*3 = about 2MB. The PNG file would be compressed.

117MB is about 8 times larger (or 600/72) which suggests there is a scaling problem somewhere due to difference between the printer resolution and 72dpi.
I can't think of anything in cairo that would cause this other than printing a transparent image on top of something else which would force cairo to use a fallback image.
Someone may need to check that the Inkscape code is working correctly.