Foomatic 3.0 and KDE Print

Till Kamppeter kde-print@mail.kde.org
Tue, 14 Jan 2003 16:38:29 +0100


Oi,

Somewhat earlier (Nov. 30, 2002) I posted about the new Foomatic 3.0 and 
KDE Print. Are there already done any changes on KDE Print towards 
Foomatic 3.0?

Main changes needed for all Foomatic-supporting printing systems (CUPS, 
LPD/LPRng, perhaps a new "Foomatic" system):


Numerical options
-----------------

Numerical options look as follows in the new PPD file format:

-------------------------------------------------------------------------
*OpenUI *GammaSaturation/Gamma correction on saturation HSV component: 
PickOne
*FoomaticRIPOption GammaSaturation: float CmdLine C
*FoomaticRIPOptionPrototype GammaSaturation: " -satgamma %s"
*FoomaticRIPOptionRange GammaSaturation: 0.10 10.0
*OrderDependency: 250 AnySetup *GammaSaturation
*DefaultGammaSaturation: 1.0
*GammaSaturation 0.1/0.1: "%% FoomaticRIPOptionSetting: GammaSaturation=0.1"
*GammaSaturation 0.2/0.2: "%% FoomaticRIPOptionSetting: GammaSaturation=0.2"
*GammaSaturation 0.3/0.3: "%% FoomaticRIPOptionSetting: GammaSaturation=0.3"

...

*GammaSaturation 9.8/9.8: "%% FoomaticRIPOptionSetting: GammaSaturation=9.8"
*GammaSaturation 9.9/9.9: "%% FoomaticRIPOptionSetting: GammaSaturation=9.9"
*GammaSaturation 10.0/10.0: "%% FoomaticRIPOptionSetting: 
GammaSaturation=10.0"
*CloseUI: *GammaSaturation
-------------------------------------------------------------------------

So they are easy to recognize by the presence of the 
"*FoomaticRIPOptionRange" keyword. The "*FoomaticRIPOption" keyword 
tells whether they are integer or floating point. The 
"*FoomaticRIPOptionRange" keyword tells what the minimum and maximum 
values are. So one can make KDE Print easily show them as real numerical 
options with slider, as it works now with Foomatic 2.0.x. The "*% 
COMDATA" parsing should not be dropped, though, as many users will 
probably still have queues with old PPD files.


"PrintoutMode" option
---------------------

It is planned to add a "PrintoutMode" option to all drivers which allow 
setting the printing mode (quality, resolution, bw/color, ...). This 
option will have the same choices (the applicable ones from "Draft", 
"Draft Gray", "Normal", "Normal Gray", "High", "High Gray", "Very High", 
"Very High Gray", "Photo", "Photo Gray") for every driver. This option 
can set various of the native driver options (as resolution, dithering, 
quality, color mode, ...). This way it will be possible to easily select 
the correct printing mode, especially for newbies. The individual 
options which are controlled by the "PrintoutMode" option are still 
accessable, they are in a separate option group named "PrintoutMode".

For the use of this option being as easy as possible, I suggest to check 
the PPD file for a "PrintoutMode" option and if yes, to put it onto the 
first tab of the "Properties" dialog and/or even into "kprinter"s main 
window. Then users will directly see it and be able to get their printer 
easily into the mode needed for the current job.


Imageable area
--------------

Foomatic 2.9.x supports unprintable borders and stores information about 
them in the PPD files, in the "ImageableArea" lines. KDE Print should 
take care of correctly using this information (see earlyier discussion 
on this list).


Manufacturer-supplied PostScript PPD files
------------------------------------------

Foomatic 2.9.x has full support for manufacturer-supplied PostScript PPD 
files. So these PPDs can be used also with LPD/LPRng when one sets up 
the print queues with Foomatic. In addition, one can switch between 
Foomatic PPDs and manufacturer PPDs without loosing the option settings 
(of options which are equally named in both PPDs). Also on systems where 
the Foomatic PPDs are pre-compiled full use of Foomatic can be made.


The presence of Foomatic 2.9.x should be checked to determine whether 
the additional features have to be enabled. The check should be done at 
run-time, so that users who update to the new Foomatic (or at least 
install the foomatic-rip filter) later on will also have the new 
features available.

    Till