Patrick Powell wrote:

I have written a PPD parser, and can hook it into the ifhp system. The problem is the distribution of PPD files. I think I even distributed it once.


Then you already have re-invented the wheel, as there is foomatic-rip which does PPD-controlled rendering with every PPD (not only Foomatic PPDs) and with every spooler (even also without spooler, so you can also easily debug PPDs or print large-format with having the hard disk full to the last byte).


You can use it to rip out the various definitions from the PPD files
that you want.

Look carefully at the copyrights on many of them.  Apparently you
cannot redistribute them.  HP, when informed of this,  modified some,
but not all copyrights.  As far as I know,  the others are still the same.

In light of the current 'You stole my copyrighted code' fuss with SCO
and IBM,  I am VERY VERY glad I did not include the PPD files and the PPD
parser as part of LPRng and IFHP.

Here is a small sample:
*% Adobe Systems PostScript(R) Printer Description File
*% Copyright 1987-1995 Adobe Systems Incorporated.
*% All Rights Reserved.
*% Permission is granted for redistribution of this file as
*% long as this copyright notice is intact and the contents
*% of the file is not altered in any way from its original form.
*% End of Copyright statement

Ummm... which means that you cannot even reformat OR (are you ready for this?)
CORRECT AN ERROR.  (CGRGGGHHHHH).  Or add stuff to it.


One thing you cannot do is to let your parser generate a printer capabilities database (like the Foomatic database) out of a bunch of PPD files. What you can do is to use a PPD file "as is" to get access to all options of your PostScript printer. For example a user can take foomatic-rip and proceed as described on


http://www.linuxprinting.org/lpd-doc.html

with the PPD file he found on the printer�s driver CD and so he can use all options of his PostScript printer with LPRng.

The problem is that a distributor cannot ship a collection of manufacturer-supplied PPDs so that their installer sets up these PostScript printers automatically and the user does not need to search CDs designed for an evil OS to get the PPD file.

There is no problem for you to ship your PPD parser with LPRng/IFHP, as it does not contain information from PPDs, it is simply a software which reads PPDs. CUPS and Foomatic contain also PPD parsers, as long as they do not ship copyrighted manufacturer PPDs or a database built from them it is no problem. As CUPS and Foomatic are free software you can even take all code from them as long as you publish your derivative code under the GPL (CUPS and Foomatic are GPLed).

Which means that you have to have some 'meta' PPD file, which will reference
the 'master' ppd file and the 'corrections' and 'extensions' ppd files,
and then have a set of 'definitions' for standard things.


Working with modifued PPDs is really difficult due to the licenses. But having modification rules (for example the additional options) which build the desired (non-redistributable) PPD from the original one is no problem. You can also ship the rules and the software to apply the rules under GPL. A similar example is the CUPS PostScript driver for Windows (a driver to print to a CUPS/Samba server from Windows clients). The driver is based on the Microsoft driver SDK and because the sources of the SDK are under NDA, only the diffs between the original Microsoft sources and the actual driver are published as free software.


Oh.  You didn't know that each vendor has slightly different names
for things?   Oh.  And that depending on the DATE the names change?

This is why the CUPs folks and the Foomatic folks threw in the towel
and propagate the printer setting stuff back to the originator of the
print job.  It also means that setting up queues which can handle
different printers is a pain.


Yes, CUPS has a facility to request the option list/the PPD from the server and so the client builds the GUI from the actual PPD, so the user sees always the options which are really available. Such mechanism is also proposed to be in the future printing standards worked out by freestandards.org.


Till


----------------------------------------------------------------------------- YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST The address you post from MUST be your subscription address

If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body.  For the impatient,
to subscribe to a list with name LIST,  send mail to [EMAIL PROTECTED]
with:                           | example:
subscribe LIST <mailaddr>       |  subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr>     |  unsubscribe lprng [EMAIL PROTECTED]

If you have major problems,  send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------

Reply via email to