[Gnome-print] An introduction to gnome-print (fwd)
- From: Sven Neumann <neumanns uni-duesseldorf de>
- To: gimp-print-devel lists sourceforge net
- Cc: gnome-print helixcode com
- Subject: [Gnome-print] An introduction to gnome-print (fwd)
- Date: Fri, 19 May 2000 01:19:27 +0200
Hi,
I told Miguel de Icaza, maintainer of the gnome-print project,
about the discussion going on regarding the future of gimp-print
and printing in general and he asked me to forward this mail to
you:
------- Forwarded Message
Date: Thu, 18 May 2000 09:00:42 -0400
From: Miguel de Icaza <miguel@helixcode.com>
Dear Gimp Printers,
It has been brought to my attention that you guys have been
discussing the future of printer drivers and that you are debating
high quality printer drivers for GIMP.
I do not know the context of your debate, but I will want to
introduce gnome-print to you guys, to consider you guys joining our
effort to provide a complete imaging solution for Unix systems.
* What is GNOME Print
GNOME print is an imaging API modeled after the Postscript imaging
model, that is accessible trough a Gtk+-like C API. This imaging
model has two major extensions: support for an alpha channel and
anti-aliasing.
Font rendering is achieved by loading Type1 definitions that are
found at installation time and using those outlines to actually
output those fonts (the fontmap.xml can be regenerated at any time
after installation to add more fonts to GnomePrint).
Basically, think that we have an implementation of an advanced
"Ghostscript" in a library (without the programming language).
The API and architecture are designed to let you plug drivers into
the system. Here is a list of the current drivers:
1. Postscript.
2. On-screen previewing (using the GnomeCanvas/Libart)
3. Metafile driver (to record printing commands: used to
encapsulate printer output for compound documents and for
handling many of the user interface details: creation of
booklets, colating, multiple-copies, reordering, two-side
printing).
4. RGB rasterizer: This is the most interesting part: this
driver can rasterize the printing commands sent to a
printing context and generate output as an RGB buffer for
the entire page (as an optimization, the RGB driver works
in 1-inch bands).
5. A generic PCL driver (not yet fully plugged into the
system). This PCL driver is just a "derived" class from
the RGB rasterizer.
This driver contains a pretty neat set of compression
techniques to reduce the size of the file sent to the
printer.
GNOME Print on top of that can send its output currently to a
file (or a device) or to a Unix printer spooler.
* Why I believe GNOME print is a better solution than GIMP print, even
for the GIMP.
The GIMP print output is currently limited to printing bitmaps,
it has no support for printing anything but that. This limits
its usefulness for adding other kind of information on its
output.
Consider for instance adding captions, centering the image,
printing guides, color samples, and so on.
If in the future GIMP print wants to add any of this, they will
have to resort to defining an API similar to what we have in
GNOME print, and reinvent the wheel all over again.
Hence, I would like to encourage people to use GNOME-print as
your imaging API instead of your current native bitmap interface
and to get hackers working on GNOME print to make it suit the
imaging needs of the GIMP.
* The future of GNOME Print
We are working on various extensions to GNOME Print to make it a
full solution for Unix printing, here is a list of pending tasks:
1. Integration of Lauris Kaplinski's code in the RGBA branch
into the main branch after GNOME 1.2 is released (on
monday).
2. Add the XML capabilities description for the printer to
configure the PCL driver for the various printers we have
out there.
3. Add ICC support to GNOME print.
4. Adding support for ploter-like devices by limiting the API
of plotters.
5. Add support for using more of the features available in the
printer for "normal" output (ie, if the user does not use
any advanced feature from Postscript and just outputs text,
we can use the printer fonts if they happen to match the
ones we have, or we can download fonts + outputing just
text).
6. GUI configuration tools for the various properties of the
printers.
You will notice that some of this overlaps with existing
projects, like the libppd-related things. The reason is that PPD
is limited to Poscript printers, and we do need a solution that
can be applied to more than Poscript printers.
Our plan is to use libppd to "import" PPD files into GNOME print
profiles (check http://lists.helixcode.com, gnome-print archives
for the actual proposal).
* How to join the development.
Look at developer.gnome.org for the original GNOME print
proposal to see what the ideas behind it are (this document is a
bit outdated, but still the core concepts are still there).
Get gnome-print from the ftp.gnome.org site.
Look at gnome-print enabled applications: gEdit (for very simple
output); Gnumeric for a more complex use of the GnomePrint API;
SodiPodi: for the ultimate user of printing functions.
Best wishes,
Miguel.
------- End of Forwarded Message
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]