Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pstops filter gets disturbed by Adobe PostScript write though from Windows applications #1085

Closed
michaelrsweet opened this issue Feb 17, 2005 · 5 comments
Milestone

Comments

@michaelrsweet
Copy link
Collaborator

Version: 1.1-current
CUPS.org User: h.blischke

Some of the Adobe applications on Windows XP (from the "creative suite")
produce their own PostScript instead of relying on the Windows GDI
(what is a good thing in principle).
When printing to a printer, they use the printer driver's write through
capability but behave strangely:

(1) the DSC comments in the write through snippets are much the same
as if the app directly writes a PostScript file bypassing the
printer driver stuff.
(2) the snippets are bracketed with comments on a per page basis:
%ADO_BeginApplicationHeaderComments
at the begin of the snippet,and
%ADO_EndApplicationTrailerComments
at the end of the snippet.

In between there are the usual comments like %%BeginSetup, %%EndSetup,
%%Page: x y, and even %%EOF.
As the pstops filter does not know of these weird comments, it gets
disturbed by the DSC comments of the included snippets, especially the
%%EOF comments act as a premature EOF condition, so nothing comes out of
the
printer.

@michaelrsweet
Copy link
Collaborator Author

CUPS.org User: h.blischke

This issue may easily cured by treating the mentioned comments as follows by the pstops
filter:

(1) treat "%ADO_BeginApplicationHeaderComments" the same way as
"%%BeginDocument: ..."
(2) treat "%ADO_EndApplicationTrailerComments" the same way as
"%%EndDocument"

This has been verified today with CUPS 1.1.19 .

@michaelrsweet
Copy link
Collaborator Author

CUPS.org User: h.blischke

Sorry, forgot to mention two things:

(1) The Adobe pass through stuff looks for a dictionary named NTPSOct95 which
is replaced by an equivalent dictionary named CUPSSep02 by the
CUPS-for-windows NT4 driver.
To solve this, a statement
/CUPSSep02 where{/NTPSOct95 1 dict put}if
must be issued at the end of the prolog or within the setup section.

(2) The said pass through stuff ends with an %%EOF comment line just after
the %ADO_EndApplicationTrailerComments line. These EOFs must be skipped

I did my tests on this issue with the attached perl script as an additional filter, but I had
to dismiss this approach as then the cupsJobTicket statements were no longer
processed. So I hacked the alternate pstops filter (which will be made publicly
available if it does not produce errors over the weekend).

@michaelrsweet
Copy link
Collaborator Author

CUPS.org User: mike

Couple things:

1. The NT driver is deprecated and we can't support it anymore.

2. We'll add support for the ADO comments (which are not generated by the current Win2k driver and Adobe apps) in CUPS 1.2.

@michaelrsweet
Copy link
Collaborator Author

CUPS.org User: h.blischke

You DO know that the W2K/XP PostScript driver has severe issues with Type1 fonts
the glyph names of which are outside the set of glyph names covered by either
Symbol or WinAnsi encoding? (using such fonts results in all characters replaced
by a substitute char which isn't present in these fonts)

@michaelrsweet
Copy link
Collaborator Author

CUPS.org User: mike

Fixed in Subversion repository.

We've never run into that problem with the Win2k/XP driver, nor is it likely that we will be able to fix it...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant