[Cairo] Preliminary PostScript output support in cairo-0.1.11
Bill Spitzak
spitzak at d2.com
Wed Nov 5 10:16:06 PST 2003
On Wednesday 05 November 2003 02:17 am, Thorsten Behrens wrote:
> This is nice, as long as the intersected drawings are simple and uniform
> on all PostScript devices. But especially for text, I doubt that the
> result will be satisfactory (I'm talking about a glyph partly covered by a
> transparent object here). OOo had tons of trouble with that, and we
> reverted to treat the transitive closure of all intersecting bound rects
> as a bitmap, iff at least one of the included objects is transparent. This
> ensures that no discontinuities are visible within single entities, and
> that objects unaffected by transparency are output as true PostScript.
That will just move the discontinuity further away. Imagine if they print a
transparent rectangle over a portion of the text. If the "entities" are
characters then you will see a discontinuity between adjacent letters between
the last outside one and the first one that intersects the rectangle. If
instead the entities are lines or paragraphs or calls to the print-string
routine, the discontinuity will be further away and perhaps unusually shaped.
I would think that the best place to put the discontinuity is where there
already is one, at the edge of the transparent overlay.
Then again it sounds like you have worked on this, while I have not, so if
you can explain why your solution is better I would like to know.
> And yes, to achieve that, we have to record a metafile (which has the
> additional advantage that it's comparatively fast (compared to preparing
> huge bitmaps), and the actual PostScript output can be done
> asynchronously).
I thought of that but there seems to be a problem that Cairo is not totally
asynchronous and thus everything would have to be interpreted twice. Also the
difficulty of removing partially-hidden graphics (though your solution would
eliminate that). Also if all output was produced the resulting ps file could
be edited to reproduce the original cairo output if special comments were
inserted before the images indicating the graphics that *should* be drawn at
that point. Even without such comments it would be possible to post-process
the ps to remove unwanted bitmaps and produce a clean simulation of most of
the printing.
--
,~,~,~,~ ~ ~ ~ ~
/\_ _|_========___ Bill Spitzak
~~~/\/\\~~~~~~\____________/~~~~~~~~ spitzak at d2.com
More information about the cairo
mailing list