Printing (was Re: Some 2.6 thinking)



On Tue, 2004-04-13 at 12:33, Damon Chaplin wrote:
> On Tue, 2004-04-13 at 16:25, Jody Goldberg wrote:
> > On Tue, Apr 13, 2004 at 07:29:09PM +0800, James Henstridge wrote:
> > > Damon Chaplin wrote:
> > > 
> > > >But GTK+ doesn't have a cross-platform printing architecture, which I
> > > >think is almost essential. I suppose a cross-platform sound API is
> > > >needed as well. I think Qt has both.
> > > > 
> > > >
> > > As far as printing goes, Cairo has a postscript backend (among others) 
> > > which would fill the role of creating spool files.  What it doesn't 
> > > cover is a way to send those spool files to the printer.
> > 
> > The FSG's papi api with existing wrapper to ipp/cups seems like a
> > good target for 'how to get the spool files to a printier'.
> > Unfortunately cairo's postscript backend is not exactly useful just
> > yet.  It currently rasterizes then ships the result as postscript ...
> > Beyond making for really large files, it also precludes doing smart
> > filtering ala gimp-print.
> 
> It also has the same problem as gnome-print doesn't it, i.e. it can't
> handle Unicode text properly and needs to integrate with Pango or
> something to do proper layout.

My personal plans for the next few months are to get Pango integrating
nicely with gnome-print, then turn around and use that experience to
work on Pango/Cairo integration.

I think targeting Cairo integration at GTK+-2.6 would be premature,
but there is definitely work that people interested in the area can
do:

 - Real PS backend that you can use to print a 50 page document; 
   bitmaps may be a fallback, but we can't use them for the
   normal case. I don't think anyone is working on this.

 - Try out Cairo, make sure that the APIs are actually nice. 
   (Well, leaving aside type-naming weirdness.)

 - Making Cairo run usably fast. (This is largely an X server
   hacking task.)

Eventually, I believe that APIs to:

 - display page setup / print dialogs
 - get Cairo/Pango objects for the current printer

Do make sense as part of GTK+; these are things that:
 
 - Make sense (in an abstract sense) cross-platform
 - Are needed by a large fraction of applications.

Regards,
						Owen





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]