From: Sven N. <neu...@un...> - 2000-05-18 23:17:01
|
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 <mi...@he...> 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 |