[cairo] Does PS backend generate vector image or raster image?

Carl Worth cworth at cworth.org
Thu Jan 12 09:11:56 PST 2006

On Thu, 12 Jan 2006 11:46:49 +0900 (JST), Kouhei Sutou wrote:
> In current CVS HEAD, PS backend generates raster image no
> vector image. In the past, PS backend generates vector image
> not raster image. Is there any plan to generate vector
> image?

Yes. Sorry about this surprise.

The recent regression in this regard is part of a very active plan
which is intended to provide correct results always, and with as much
vector output as possible.

See Keith's recent mail for more information on the plans going
forward, and see the recent ChangeLog entries and the state of the



This work is targeted for the hopefully-we'll-actually-finish-it-soon
1.2.0 release. I'm actively working on this, but I'd be glad for any
help too.

The current state is that we have a new layer
(cairo_paginated_surface_t) which both the PS and PDF backends now
use. This single layer provides the opportunity to do the analysis of
which portions of the result can be vector, and which must be based on
image-fallbacks. This analysis will be better than anything we've had
in the PS backend before, (which previously was all-vector or
all-image at the page level at best). Additionally, all the tricky
analysis code will exist in a common layer where all paginated surface
types can take advantage of it.

The plan is to have the cairo_paginated_surface_t replay into the
target twice. The first time, it will put the target into an "analysis
mode" which will use the same code paths as for rendering but will
stop short of actually emitting any output. Then, after replaying each
operation, the code will check whether an image fallback was
triggered, (based on whether the target's acquire_dest_image function
was called). After this analysis replay is complete, each drawing
operation is now classified as "native" vs. "image" which is the
necessary input for the rest of the plan that Keith posted earlier:


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20060112/b2fcd02a/attachment.pgp

More information about the cairo mailing list