Yes, it’s true, Cairo 1.10 has been finally released. Chris already summarized two years of development in 60 lines, so I’m going to talk about how this release affects to Evince/Poppler.
Blend Modes
Cairo 1.10 has some new operators inspired by PDF blend modes, that allowed us to easily implement PDF blend modes in the poppler cairo backend
PDF Blend Modes |
Here is an example of a PDF document combining the use of Multiply blend mode with gradients
Scooby gradient rendered by poppler with Cairo 1.8 |
Scooby gradient rendered by poppler with Cairo 1.10 |
Scooby gradient rendered by xpdf |
Blend modes are also important for annotations, since highlight annotations are usually implemented by using the Multiply blend mode
Performance
There were some PDF documents where the performance of the poppler cairo backend was really bad. It seems that, with such particular documents, poppler was clipping too much. Of course, Chris fixed it, see the screenshot:
Poppler with cairo 1.8 and 1.10 |
Output file size when printing
Thanks to cairo_surface_set_mime_data now we can attach the original uncompressed image to the ps/pdf surface that will be used when creating the resulting ps/pdf file. It drastically reduces the size of the ps/pdf output files created when printing documents that contain images
Fit to contents/Trim margins
This hasn’t been implemented in Evince yet, but using the new recording surface we can get the page bounding box and use it to implement a new fit to contents zoom mode.
Thanks!
Thank you very much to everybody involved in this release