[cups.bugs] [HIGH] STR #2059: DSC dependence be made optional rather than mandatory

Graham Freeman g-freeman at adfa.edu.au
Thu Oct 26 17:43:28 PDT 2006


[STR New]

In STR#2054 I described a problem with CUPS 1.2.0 onwards, whereby CUPS
corrupts the output of the PostScript file.  Mike responded that the text
that CUPS adds that causes the corruption is "needed to print on many
printers", and that CUPS is intended to support DSC-compliant files.

Quikscript (Qs) has been freely available for 12 years, and in use in
earlier forms for 20 years.  Over that time, there have been thousands of
downloads from my website.  While this is a small number compared with the
CUPS user community, it represents a sizeable set of people who depend on
its functionality.  It would be as difficult for me to contact them as it
would be for you to contact all CUPS users.

I know of some of the uses to which Qs has been put only from e-mails that
I have received from satisfied users.  It is being used by many telephone
companies in Europe to print their phone bills, processing a stream of
text coming from a database.  It is used to typeset words of songs that
are to be made freely available on the internet.  It is also used to
typeset text of display advertisements.

Because Qs is written in PostScript, it is independent of operating
system.  It is used by Linux and FreeBSD people, but also on mainframes
and on Microsoft. All it depends on is a printer which can interpred
PostScript.

Qs does not conform to DSC.  It is impossible for a PostScript program
that is processing the input stream and making decisions itself on where
to break to a new page based on layout marks and volume of text to comply
with DSC.  That is why the program starts with "%!" and not %!PS-Adobe.

The PostScript specification has been published and is available for
everyone to read.  It is not like a manufacturer's secret specification,
which a developer like the CUPS team might try to discover despite the
manufacturer's secrecy. 

Quikscript only uses published features of PostScript.  It runs from any
and every operating system, except now for ones which use CUPS.

Quikscript is not the only program that relies on "readline" to process
the following text to the end of the file.  Geneal is a program which
takes a description of family tree data and prints out the ancestry data
graphically. It is used widely around the world.  There must be many other
programs that I am not aware of that use this technique.  The technique
was advocated by Adobe in their Blue Book that was published in 1985.

I would like to suggest a number of ways that CUPS could be changed which
would enable these programs to work again, while meeting the needs that
some printers apparently have for DSC comments.

1.  The simplest solution would be to only append %%EndDocument and %%EOF
if the document commences with %!PS-Adobe, which will guarantee that DSC
is supported and that the comments will not damage the output.

2.  An alternative would be to provide a configuration option for CUPSD,
where the practice of adding the %%EndDocument and %%EOF could be turned
on for those machines which require it.  I would suggest that this not be
the default. The PostScript specification says that lines commencing with
% are treated as comments when encountered by the interpreting engine and
will be ignored in processing.  The DSC comments are only appropriate for
document managers.  If a printer is relying on the comments being present,
then I would suggest that the choice of either rejecting a job which lacks
the appropriate first line, or adding the end comments, would be best made
at the site where CUPS is being used
rather than being imposed on the entire Linux community.

Link: http://www.cups.org/str.php?L2059
Version: 1.2-current
-------------- next part --------------
A non-text attachment was scrubbed...
Name: eof-problem.ps
Type: application/octet-stream
Size: 1950 bytes
Desc: not available
URL: <http://lists.cups.org/pipermail/cups-devel/attachments/20061026/52b9eac5/attachment.obj>


More information about the cups-devel mailing list