From: Till Kamppeter <till.kamppeter@gmail.com>
To: "Yie, Shiyun" <shiyun.yie@hp.com>,
"Suffield, David" <david.suffield@hp.com>
Cc: "printing-architecture@lists.linux-foundation.org"
<printing-architecture@lists.linux-foundation.org>,
Tim Waugh <twaugh@redhat.com>,
Martin Pitt <martin.pitt@ubuntu.com>,
"'printing-summit@lists.linux-foundation.org'"
<printing-summit@lists.linux-foundation.org>,
Johannes Meixner <jsmeix@suse.de>
Subject: Re: [Printing-architecture] Issue list from HP
Date: Mon, 27 Apr 2009 18:16:46 +0200 [thread overview]
Message-ID: <49F5DA6E.2070502@gmail.com> (raw)
In-Reply-To: <49E51AB7.2010902@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2767 bytes --]
Till Kamppeter wrote:
> > CUPS driver issues:
> > 1. GPL Ghostscript duplex support is missing. For Inkjets the backpage
> > needs x and y inversion. CUPS attributes cupsFlipDuplex and
> > cupsBackSide may have worked for ESP Ghostscript, but not in the
> > current GPL Ghostscript 8.63. What does pdftoraster do?
>
> This needs to be fixed in the CUPS Raster output device of Ghostscript
> or in the pdftoraster CUPS filter. Both are part of Ghostscript. So
> please report a bug on http://bugs.ghostscript.com/ and post the link to
> your bug report here.
>
pdftoraster or pstoraster do not need to get fixed here, as the "cups"
output device of Ghostscript reads the PPD directly. So all the static
printer features in the PPD which are not to be set by the user or the
admin are not needed to be treated in the wrapper filters pdftoraster or
pstoraster.
The CUPS library does the PPD reading for Ghostscript's "cups" device.
In contrary to what one expects from the documentation it does not
support the cupsBackSide keyword but only the deprecated cupsFlipDuplex
keyword. The same is valid for the "cups" output device. It only
supports "cupsFlipDuplex". I have already reported a bug to CUPS:
http://www.cups.org/str.php?L3170
So currently, you can only add the deprecated
*cupsFlipDuplex: True
to the PPDs of the duplexing inkjets.
> > 2. CUPS filter pstoraster does not allow duplicate papersizes with
> > different printable regions. For example Letter and LetterDuplex use
> > the same paper size, but have different printable regions. When
> > LetterDuplex is selected only the printable region for Letter is
> > passed to CUPS driver. What does pdftoraster do?
>
> The pstoraster filter only calls Ghostscript expecting that the pstops
> CUPS filter has inserted all option settings into the PostScript data
> stream. The inserted PostScript code contains only the width and height
> of the paper in points, neither margin info nor the paper size name, so
> Ghostscript has no information about the selected paper size in active
> PostScript code. I think in pdftoraster the paper size name gets into
> the process, but I am not sure how the CUPS Raster output device makes
> use of it. Please try out whether pdftoraster does the right thing. In
> general, report a bug on http://bugs.ghostscript.com/, as also
> pstoraster should work correctly.
>
The page size name problem was not a problem of pstoraster and
pdftoraster but of the "cups" output device of Ghostscript. I have fixed
this now in the Subversion repository of Ghostscript, so that different
page size entries which differ only in the margins and not in the size
are supported from Ghostscript 8.65 on. I have also attached the patch.
Till
[-- Attachment #2: cups-device-select-pagesize-margins-by-pagesize-name.patch --]
[-- Type: text/x-patch, Size: 1097 bytes --]
Index: cups/gdevcups.c
===================================================================
--- cups/gdevcups.c (revision 9663)
+++ cups/gdevcups.c (working copy)
@@ -2948,6 +2948,10 @@
i --, size ++)
if (fabs(cups->MediaSize[1] - size->length) < 5.0 &&
fabs(cups->MediaSize[0] - size->width) < 5.0 &&
+#ifdef CUPS_RASTER_SYNCv1
+ ((strlen(cups->header.cupsPageSizeName) == 0) ||
+ (strcasecmp(cups->header.cupsPageSizeName, size->name) == 0)) &&
+#endif
(!margins_set ||
(fabs(cups->HWMargins[0] - size->left) < 1.0 &&
fabs(cups->HWMargins[1] - size->bottom) < 1.0)))
@@ -2980,6 +2984,10 @@
i --, size ++)
if (fabs(cups->MediaSize[0] - size->length) < 5.0 &&
fabs(cups->MediaSize[1] - size->width) < 5.0 &&
+#ifdef CUPS_RASTER_SYNCv1
+ ((strlen(cups->header.cupsPageSizeName) == 0) ||
+ (strcasecmp(cups->header.cupsPageSizeName, size->name) == 0)) &&
+#endif
(!margins_set ||
(fabs(cups->HWMargins[0] - size->left) < 1.0 &&
fabs(cups->HWMargins[1] - size->bottom) < 1.0)))
prev parent reply other threads:[~2009-04-27 16:16 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <46089FAF7804194C8AD6458E272B07182174584144@GVW0676EXC.americas.hpqcorp.net>
2009-04-14 23:22 ` [Printing-architecture] Issue list from HP Till Kamppeter
[not found] ` <200904150120.n3F1Kg95023375@dsl092-065-009.bos1.dsl.speakeasy.net>
[not found] ` <49E55C8C.2010500@apple.com>
[not found] ` <200904151139.n3FBdmZJ030596@dsl092-065-009.bos1.dsl.speakeasy.net>
2009-04-15 11:47 ` [Printing-architecture] [Printing-summit] " Till Kamppeter
[not found] ` <200904151206.n3FC6n7j030700@dsl092-065-009.bos1.dsl.speakeasy.net>
2009-04-15 14:28 ` Till Kamppeter
[not found] ` <alpine.LNX.2.00.0904151216120.10560@nelson.suse.de>
[not found] ` <49E5D2AB.7000000@redhat.com>
2009-04-15 14:41 ` [Printing-architecture] " Till Kamppeter
2009-04-27 16:16 ` Till Kamppeter [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49F5DA6E.2070502@gmail.com \
--to=till.kamppeter@gmail.com \
--cc=david.suffield@hp.com \
--cc=jsmeix@suse.de \
--cc=martin.pitt@ubuntu.com \
--cc=printing-architecture@lists.linux-foundation.org \
--cc=printing-summit@lists.linux-foundation.org \
--cc=shiyun.yie@hp.com \
--cc=twaugh@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.