From: Tony G. <Ton...@Su...> - 2006-03-08 11:43:10
|
I have added a Cairo backend that is very close to working correctly, at least for PostScript output. If you like the raw, bleeding edge, then you can check out the current code from CVS. You will get more visible results if you run autogen.sh with the '--disable-clip' argument: ./autogen.sh --disable-clip A good sample to try it on is the testsuite file property/border-padding-background/background-color1.fo (FYI, I have so far only run the current xmlroff from my workspace and haven't tried installing it.) For those of you who can't take the suspense of waiting until you've updated your xmlroff workspace and rebuilt, the Cairo PostScript output currently has the Y-axis reversed: what should be at the top of the page appears at the bottom, and vice-versa. The text, however, is the right way up, but it also happens to not coincide with its background. So far the PDF output is failing because the layouts apparently have zero lines of text. Regards, Tony. |
From: Stefan S. <se...@sy...> - 2006-03-08 13:41:50
|
Tony Graham wrote: > I have added a Cairo backend that is very close to working correctly, at least > for PostScript output. Very cool ! What about some little architecture / high-level design document showing how all this fits together ? What is cairo, actually ? I remember it being some vector graphics rendering engine related to the XFree86 project. Is this still accurate ? Is it a library users need to install and which xmlroff checks for in configure ? What exactly does this cairo backend replace ? Thanks a lot ! Stefan |
From: Tony G. <Ton...@Su...> - 2006-03-08 15:07:12
|
Stefan Seefeld <se...@sy...> writes: > Tony Graham wrote: >> I have added a Cairo backend that is very close to working correctly, at least >> for PostScript output. > > Very cool ! What about some little architecture / high-level design document > showing how all this fits together ? What is cairo, actually ? I remember it You want documentation? Don't you know this is an open-source project? I'll see what I can do. > being some vector graphics rendering engine related to the XFree86 project. > Is this still accurate ? Is it a library users need to install and which xmlroff > checks for in configure ? What exactly does this cairo backend replace ? Cairo (http://www.cairographics.org) is the next Big Thing for free software to use for rendering. It's also required for recent Pango builds, so sooner or later it will be on every machine that has GNOME anyway. configure checks both for Cairo and for a recent enough version of Pango, since you need both. If you disable Cairo, the required Pango version reverts to 1.6 or so. Cairo looks like the best way to get SVG support in xmlroff, since lots of people seem to be hooking libsvg up to Cairo. I haven't looked into the details, but it would be an ideal task for someone who is interested in SVG support. The Cairo backend doesn't (yet) replace anything. It's currently an alternative to the GNOME Print default. Regards, Tony. |
From: Stefan S. <se...@sy...> - 2006-03-08 15:19:52
|
Tony Graham wrote: > Stefan Seefeld <se...@sy...> writes: > >>Tony Graham wrote: >> >>>I have added a Cairo backend that is very close to working correctly, at least >>>for PostScript output. >> >>Very cool ! What about some little architecture / high-level design document >>showing how all this fits together ? What is cairo, actually ? I remember it > > > You want documentation? Don't you know this is an open-source project? :-) > I'll see what I can do. Thanks ! >>being some vector graphics rendering engine related to the XFree86 project. >>Is this still accurate ? Is it a library users need to install and which xmlroff >>checks for in configure ? What exactly does this cairo backend replace ? > > > Cairo (http://www.cairographics.org) is the next Big Thing for free software > to use for rendering. Ok, thanks. > The Cairo backend doesn't (yet) replace anything. It's currently an > alternative to the GNOME Print default. I see. So it would provide support for features not currently supported in GNOME Print (such as transparent / translucent graphics) ? Thanks, Stefan |
From: Tony G. <Ton...@Su...> - 2006-03-08 15:41:35
|
Stefan Seefeld <se...@sy...> writes: > Tony Graham wrote: ... >> The Cairo backend doesn't (yet) replace anything. It's currently an >> alternative to the GNOME Print default. > > I see. So it would provide support for features not currently supported > in GNOME Print (such as transparent / translucent graphics) ? It has more support for transparency than I know what to do with. Here's a snippet from the docs: ------------------------------------------------------------ void cairo_set_source_rgb (cairo_t *cr, double red, double green, double blue); void cairo_set_source_rgba (cairo_t *cr, double red, double green, double blue, double alpha); void cairo_set_source (cairo_t *cr, cairo_pattern_t *source); void cairo_set_source_surface (cairo_t *cr, cairo_surface_t *surface, double x, double y); cairo_pattern_t* cairo_get_source (cairo_t *cr); ------------------------------------------------------------ You can set the transparency of the colour, and, it appears, you can draw with patterns and graphics. Regards, Tony. P.S. What version of libgnomeprint are you using now? I read in the libgnomeprint ChangeLog that transparency in PDF was fixed in a recent release. |
From: Stefan S. <se...@sy...> - 2006-03-08 15:52:47
|
Tony Graham wrote: > P.S. What version of libgnomeprint are you using now? I read in the > libgnomeprint ChangeLog that transparency in PDF was fixed in a recent > release. That is good to know. I'm still running FC3 on my laptop. May be I'll consider upgrading once FC5 is out... Thanks, Stefan |