[gs-devel] Re: ghostscript vector devices
Till Kamppeter
till.kamppeter at gmail.com
Fri Oct 5 05:19:21 PDT 2007
Behdad Esfahbod wrote:
> On Wed, 2007-10-03 at 21:03 +0100, Till Kamppeter wrote:
>> Behdad, would it not be possible to write an OpenPrinting Vector driver
>> to output into Cairo? This driver could plug into ant renderer and needs
>> not to be kept up to date with GhostScript's internal API changes as a
>> GhostScript built-in driver.
>
> I'm not very familiar with the OpenPrinting stack, but my main goal
> developing this backend is to use it in Poppler for PS display
> rendering. I'm not sure what you propose fits nicely there.
You are developing an output backend/driver for Ghostscript, so that you
can feed a PostScript file into GhostScript and a the output is done via
Cairo in a PostScript screen display app. For this you make a built-in
Ghostscript driver which links Ghostscript with libcairo. On a distro
this would mean that Ghostscript requires libcairo and a whole lot of
dependent libraries. In a desktop environment these libs are installed,
but on a headless print server a lot of unneeded extra stuff gets
installed via package dependencies. In addition, the internal API for
built-in output devices in Ghostscript changes frequently and so your
device needs to adapted regularly.
So the best would be an OpenPrinting Vector driver. OpenPrinting Vector
is an interface for modular plug-in drivers which can be vector-based
(not only raster-based as CUPS Raster and IJS). The driver is then
dlopened by Ghostscript or Ghostscript connects via RPC (the driver
developer can choose the communication method).
Other alternative can be that Ghostscript dlopens libcairo or the
gdevcairo device is modularized like the X drivers, but in these cases
you have to always keep your driver code up-to-date with Ghostscript.
Till
More information about the gs-devel
mailing list