[[meta title="A chain of bugs"]]
+[[tag cairo]]
+
With cairo's recent 1.6.4 release, we've hoped to reach the nirvana of
applications that display and print documents with perfect
fidelity. Unfortunately, reality isn't always as pleasant as we would
First, here's the simplest web page I was able to construct to show
the problem, (nothing more than a single-cell table with a border):
-[[bug]] (122 bytes).
+[[bug.html]] (122 bytes).
Using Firefox3 with cairo 1.6.4 on a Fedora9 system, I did a "print to
file" and obtained the following PDF output: [[bug.pdf]] (14,465
To explain a bit, (but ignoring many gory details), a PDF knockout
group can be a very complicated thing, so poppler has some fairly
sophisticated code to handle these. This support involves rendering
-everything in the group twice and then using cairo's DEST_OUT and ADD
+everything in the group twice and then using cairo's `DEST_OUT` and `ADD`
compositing operators to properly combine them. Well, PostScript can't
-do fancy compositing like DEST_OUT and ADD, so of course cairo falls
+do fancy compositing like `DEST_OUT` and `ADD`, so of course cairo falls
back to image-based rendering for things. The irony here is that the
only reason cairo is using a knockout group in the original PDF file
is to _prevent_ any compositing from happening, (the fallback image