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.
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 * context. cpp: cairo_mask_ surface( _cr, clip_mask, 0, 0); context. cpp: cairo_mask_ surface( mask_ctx- >_cr, clip_mask, 0, 0); context. cpp: cairo_mask_ surface( _cr, mask_image, 0, 0);
cairo-render-
cairo-render-
cairo-render-
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.