* [Printing-architecture] Fixes and changes on the "cups" output device of Ghostscript -Please Test!
@ 2009-04-28 19:28 Till Kamppeter
2009-04-30 11:45 ` Till Kamppeter
0 siblings, 1 reply; 7+ messages in thread
From: Till Kamppeter @ 2009-04-28 19:28 UTC (permalink / raw)
To: Michael Sweet, SUFFIELD,DAVID (HP-Vancouver,ex1), shiyun.yie,
printing-architecture@lists.linux-foundation.org, gs-devel
Hi,
I have done several fixes and enhancements on the CUPS Raster output
device of Ghostscript, to support the Duplex-related keywords in the
CUPS PPD extensions (all tests done with Mike Sweet's "rasterview"):
*cupsFlipDuplex:
----------------
Did not work for landscape documents. In general, the XY and YX
components of the matrix were swapped. This broke the output with
asymmetric resolutions (like 300x600 dpi) and back sides which are
supposed to be rotated or Y-flipped came out blank.
*cupsBackSide:
--------------
Introduced support for this keyword which is the replacement for
*cupsFlipDuplex:. Therefore *cupsFlipDuplex: gets generally ignored if
*cupsBackSide: is supplied. All modes described in the PPD extensions
are supported.
*cupsEvenDuplex:
----------------
Introduced support for this keyword. Now "*cupsEvenDuplex: True" causes
a blank page to be appended to documents with odd numbers of pages.
All these changes I have committed to the SVN repository of Ghostscript
and so they get part of GPL Ghostscript 8.65.
I have also created patches for Ghostscript 8.64 and uploaded them to
http://www.openprinting.org/download/printing/ghostscript-cups-patches/
The patches are
cups-device-support-cupsbackside-ppd-keyword.patch
cups-device-support-cupsevenduplex-ppd-keyword.patch
The first patch also contains the fixes for the *cupsFlipDuplex: keyword.
In addition, I have added support for having page size entries in the
PPD which have the same width and height but differ only by the margins,
like "A4" with normal margins and "A4.fullbleed" with zero margins. The
fix is also uploaded to the SVN repository for Ghostscript 8.65 and the
patch for 8.64 is this one:
cups-device-select-pagesize-margins-by-pagesize-name.patch
at the same place as the other two patches.
I will look into the "*APDuplexRequiresFlippedMargin:" keyword soon.
Please have a look into the patches and try them out. Tell me whether
they are OK and if something does not work, please supply fixes orhelp
me to fix it.
Thanks in advance.
Till
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] Fixes and changes on the "cups" output device of Ghostscript -Please Test!
2009-04-28 19:28 [Printing-architecture] Fixes and changes on the "cups" output device of Ghostscript -Please Test! Till Kamppeter
@ 2009-04-30 11:45 ` Till Kamppeter
2009-05-04 11:17 ` Till Kamppeter
[not found] ` <DD6046532A44F047ACD45225E9D737B14A3FB6653D@GVW1155EXB.americas.hpqcorp.net>
0 siblings, 2 replies; 7+ messages in thread
From: Till Kamppeter @ 2009-04-30 11:45 UTC (permalink / raw)
To: Michael Sweet, SUFFIELD,DAVID (HP-Vancouver,ex1), shiyun.yie,
printing-architecture@lists.linux-foundation.org, gs-devel
Here is the second part of my fixes and changes.
This time I have added support for the "APDuplexRequiresFlippedMargin"
PPD keyword as described on in the "Mac OS X Attributes" section of
http://cups.org/documentation.php/doc-1.4/spec-ppd.html
I have also fixed the margin handling. By testing with a document with
gray background, a PPD with 4 different unprintable borders for the 4
edges of the paper, and rasterview I have seen that the printout did not
always get gray up to the unprintable borders. There were often wider
white borders than necessary. Now I have checked with all
duplex/portrait/landscape settings that the background will really fill
up the page as much as the printer allows. This is naturally also valid
for any graphical element in the document to be printed. Now we get
always the best possible results for objects near the borders. In
addition, the content should be accurately positioned on the page (not
slightly shifted).
I have committed the changes again to the SVN repository of Ghostscript,
so that they will make it into GPL Ghostscript 8.65.
Here is a patch containing ALL my changes (also of the first part) on
gdevcups.c:
http://www.openprinting.org/download/printing/ghostscript-cups-patches/cups-device-pagesize-margins-duplex-fixes.patch
Please apply this patch to an unpatched Ghostscript 8.64. Or take the
complete file"and replace cups/gdevcups.c in the Ghostscript source with it:
http://www.openprinting.org/download/printing/ghostscript-cups-patches/gdevcups.c
Please test it. Now all duplex issues when developing CUPS Raster
drivers should get solved.
Till
Till Kamppeter wrote:
> Hi,
>
> I have done several fixes and enhancements on the CUPS Raster output
> device of Ghostscript, to support the Duplex-related keywords in the
> CUPS PPD extensions (all tests done with Mike Sweet's "rasterview"):
>
>
> *cupsFlipDuplex:
> ----------------
>
> Did not work for landscape documents. In general, the XY and YX
> components of the matrix were swapped. This broke the output with
> asymmetric resolutions (like 300x600 dpi) and back sides which are
> supposed to be rotated or Y-flipped came out blank.
>
> *cupsBackSide:
> --------------
>
> Introduced support for this keyword which is the replacement for
> *cupsFlipDuplex:. Therefore *cupsFlipDuplex: gets generally ignored if
> *cupsBackSide: is supplied. All modes described in the PPD extensions
> are supported.
>
> *cupsEvenDuplex:
> ----------------
>
> Introduced support for this keyword. Now "*cupsEvenDuplex: True" causes
> a blank page to be appended to documents with odd numbers of pages.
>
>
> All these changes I have committed to the SVN repository of Ghostscript
> and so they get part of GPL Ghostscript 8.65.
>
> I have also created patches for Ghostscript 8.64 and uploaded them to
>
> http://www.openprinting.org/download/printing/ghostscript-cups-patches/
>
> The patches are
>
> cups-device-support-cupsbackside-ppd-keyword.patch
> cups-device-support-cupsevenduplex-ppd-keyword.patch
>
> The first patch also contains the fixes for the *cupsFlipDuplex: keyword.
>
> In addition, I have added support for having page size entries in the
> PPD which have the same width and height but differ only by the margins,
> like "A4" with normal margins and "A4.fullbleed" with zero margins. The
> fix is also uploaded to the SVN repository for Ghostscript 8.65 and the
> patch for 8.64 is this one:
>
> cups-device-select-pagesize-margins-by-pagesize-name.patch
>
> at the same place as the other two patches.
>
> I will look into the "*APDuplexRequiresFlippedMargin:" keyword soon.
>
> Please have a look into the patches and try them out. Tell me whether
> they are OK and if something does not work, please supply fixes orhelp
> me to fix it.
>
> Thanks in advance.
>
> Till
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] Fixes and changes on the "cups" output device of Ghostscript -Please Test!
2009-04-30 11:45 ` Till Kamppeter
@ 2009-05-04 11:17 ` Till Kamppeter
[not found] ` <DD6046532A44F047ACD45225E9D737B14A3FB6653D@GVW1155EXB.americas.hpqcorp.net>
1 sibling, 0 replies; 7+ messages in thread
From: Till Kamppeter @ 2009-05-04 11:17 UTC (permalink / raw)
To: Michael Sweet, SUFFIELD,DAVID (HP-Vancouver,ex1), shiyun.yie,
printing-architecture@lists.linux-foundation.org, gs-devel
I did a little correction on my changes, both in the Ghostscript SVN
repositories and in the patch for Ghostscript 8.64 which I have uploaded:
The "*cupsEvenDuplex:" PPD keyword is already treated by the pstops and
the pdftopdf CUPS filters, so it should not get treated again by
Ghostscript's CUPS Raster device. So I have removed the appropriate changes.
Olease re-download the patch
http://www.openprinting.org/download/printing/ghostscript-cups-patches/cups-device-pagesize-margins-duplex-fixes.patch
or the modified source file
http://www.openprinting.org/download/printing/ghostscript-cups-patches/gdevcups.c
for Ghostscript 8.64 or update your Ghostscript 8.65 snapshot from the
SVN repository.
Till
Till Kamppeter wrote:
> Here is the second part of my fixes and changes.
>
> This time I have added support for the "APDuplexRequiresFlippedMargin"
> PPD keyword as described on in the "Mac OS X Attributes" section of
>
> http://cups.org/documentation.php/doc-1.4/spec-ppd.html
>
> I have also fixed the margin handling. By testing with a document with
> gray background, a PPD with 4 different unprintable borders for the 4
> edges of the paper, and rasterview I have seen that the printout did not
> always get gray up to the unprintable borders. There were often wider
> white borders than necessary. Now I have checked with all
> duplex/portrait/landscape settings that the background will really fill
> up the page as much as the printer allows. This is naturally also valid
> for any graphical element in the document to be printed. Now we get
> always the best possible results for objects near the borders. In
> addition, the content should be accurately positioned on the page (not
> slightly shifted).
>
> I have committed the changes again to the SVN repository of Ghostscript,
> so that they will make it into GPL Ghostscript 8.65.
>
> Here is a patch containing ALL my changes (also of the first part) on
> gdevcups.c:
>
> http://www.openprinting.org/download/printing/ghostscript-cups-patches/cups-device-pagesize-margins-duplex-fixes.patch
>
>
> Please apply this patch to an unpatched Ghostscript 8.64. Or take the
> complete file"and replace cups/gdevcups.c in the Ghostscript source with
> it:
>
> http://www.openprinting.org/download/printing/ghostscript-cups-patches/gdevcups.c
>
>
> Please test it. Now all duplex issues when developing CUPS Raster
> drivers should get solved.
>
> Till
>
>
> Till Kamppeter wrote:
>> Hi,
>>
>> I have done several fixes and enhancements on the CUPS Raster output
>> device of Ghostscript, to support the Duplex-related keywords in the
>> CUPS PPD extensions (all tests done with Mike Sweet's "rasterview"):
>>
>>
>> *cupsFlipDuplex:
>> ----------------
>>
>> Did not work for landscape documents. In general, the XY and YX
>> components of the matrix were swapped. This broke the output with
>> asymmetric resolutions (like 300x600 dpi) and back sides which are
>> supposed to be rotated or Y-flipped came out blank.
>>
>> *cupsBackSide:
>> --------------
>>
>> Introduced support for this keyword which is the replacement for
>> *cupsFlipDuplex:. Therefore *cupsFlipDuplex: gets generally ignored if
>> *cupsBackSide: is supplied. All modes described in the PPD extensions
>> are supported.
>>
>> *cupsEvenDuplex:
>> ----------------
>>
>> Introduced support for this keyword. Now "*cupsEvenDuplex: True"
>> causes a blank page to be appended to documents with odd numbers of
>> pages.
>>
>>
>> All these changes I have committed to the SVN repository of
>> Ghostscript and so they get part of GPL Ghostscript 8.65.
>>
>> I have also created patches for Ghostscript 8.64 and uploaded them to
>>
>> http://www.openprinting.org/download/printing/ghostscript-cups-patches/
>>
>> The patches are
>>
>> cups-device-support-cupsbackside-ppd-keyword.patch
>> cups-device-support-cupsevenduplex-ppd-keyword.patch
>>
>> The first patch also contains the fixes for the *cupsFlipDuplex: keyword.
>>
>> In addition, I have added support for having page size entries in the
>> PPD which have the same width and height but differ only by the
>> margins, like "A4" with normal margins and "A4.fullbleed" with zero
>> margins. The fix is also uploaded to the SVN repository for
>> Ghostscript 8.65 and the patch for 8.64 is this one:
>>
>> cups-device-select-pagesize-margins-by-pagesize-name.patch
>>
>> at the same place as the other two patches.
>>
>> I will look into the "*APDuplexRequiresFlippedMargin:" keyword soon.
>>
>> Please have a look into the patches and try them out. Tell me whether
>> they are OK and if something does not work, please supply fixes orhelp
>> me to fix it.
>>
>> Thanks in advance.
>>
>> Till
>>
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] Fixes and changes on the "cups" output device of Ghostscript -Please Test!
[not found] ` <DD6046532A44F047ACD45225E9D737B14A3FB6653D@GVW1155EXB.americas.hpqcorp.net>
@ 2009-05-04 16:28 ` Till Kamppeter
[not found] ` <DD6046532A44F047ACD45225E9D737B14A40FFAF0E@GVW1155EXB.americas.hpqcorp.net>
0 siblings, 1 reply; 7+ messages in thread
From: Till Kamppeter @ 2009-05-04 16:28 UTC (permalink / raw)
To: Suffield, David
Cc: printing-architecture@lists.linux-foundation.org, gs-devel,
Michael Sweet
Suffield, David wrote:
> Sorry I have not been able to test your patch yet, but *cupsEvenDuplex worked for me with gpl ghostscript 8.63 when testing hplip 3.9.4.
Thank you for the hint. I have removed the *cupsEvenDuplex handling from
the CUPS Raster output device again as it is already done by pstops and
pdftopdf.
I have announced the new patch in an earlier e-mail.
Till
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] Fixes and changes on the "cups" output device of Ghostscript -Please Test!
[not found] ` <DD6046532A44F047ACD45225E9D737B14A40FFAF0E@GVW1155EXB.americas.hpqcorp.net>
@ 2009-05-19 18:44 ` Till Kamppeter
[not found] ` <DD6046532A44F047ACD45225E9D737B14A40FFAF11@GVW1155EXB.americas.hpqcorp.net>
0 siblings, 1 reply; 7+ messages in thread
From: Till Kamppeter @ 2009-05-19 18:44 UTC (permalink / raw)
To: Suffield, David
Cc: printing-architecture@lists.linux-foundation.org, gs-devel,
Michael Sweet, Cauligi, Raghothama S
Suffield, David wrote:
> Till,
> I applied your patch to ghostscript 8.64. After testing your patch with a fullbleed 4x6 paper size it looks like the paper size and printable area are not calculated correctly. The same full bleed test works ok with ghostscript 8.62.
>
> I have attached the test PPD and CUPS error_log(s) for reference. Note the CUPS's ImagingBoundingBox was "ImaginBoundingBox = [ 9 9 289 433 ]" when it should be "ImaginBoundingBox = [0 0 298 442 ]".
>
How did you tell to CUPS that the job is fullbleed? The PPD has non-zero
borders for all paper sizes.
It seems also that pstoraster or pstops does not supply something useful
for the "cu[psPageSizeName", as error_log shows the following:
D [15/May/2009:14:39:26 -0700] [Job 383] Setting cupsPageSizeName to
"74%%BeginFeature: *PageRegion
10074^D^D^D%%BeginSetup%%EndProlog%%EndResource%rom%Resource/IdiomSet/*/*"...
The name is important to distinguish page sizes with the same dimensions
but different margins.
> Looking at the fullbleed-bad.txt error log it looks like gdevcups.c has mistakenly declared this a custom paper size instead of the fullbleed 4x6 paper size and thus uses the custom paper size printable margins of "margins[] = [ 0.125 0.125 0.125 0.125 ]" instead of [ 0 0 0 0 ].
>
> Your patch worked ok with the normal "Letter" paper size.
Try something like
*DefaultPageSize: LetterDuplex
*PageSize Letter/Letter 8.5x11in: "<</PageSize[612 792]/ImagingBBox
null/cupsPageSizeName(Letter)>>setpagedevice"
*PageSize LetterDuplex/Letter AutoDuplex 8.5x11in: "<</PageSize[612
783]/ImagingBBox null/cupsPageSizeName(LetterDuplex)>>setpagedevice"
**PageSize A4/A4 210x297mm: "<</PageSize[595 842]/ImagingBBox
null/cupsPageSizeName(A4)>>setpagedevice"
*PageSize A4Duplex/A4 AutoDuplex 210x297mm: "<</PageSize[595
833]/ImagingBBox null/cupsPageSizeName(A4Duplex)>>setpagedevice"
*PageSize Legal/Legal 8.5x14in: "<</PageSize[612 1008]/ImagingBBox
null/cupsPageSizeName(Legal)>>setpagedevice"
*PageSize Photo/Photo 4x6in: "<</PageSize[288 432]/ImagingBBox
null/cupsPageSizeName(Photo)>>setpagedevice"
*PageSize PhotoFullbleed/Photo 4x6in borderless: "<</PageSize[288
432]/ImagingBBox null/cupsPageSizeName(PhotoFullbleed)>>setpagedevice"
*PageSize Photo5x7/Photo 5x7in: "<</PageSize[360 504]/ImagingBBox
null/cupsPageSizeName(Photo5x7)>>setpagedevice"
...
*CloseUI: *PageSize
...
*DefaultImageableArea: LetterDuplex
*ImageableArea Letter/Letter 8.5x11in: "18.00 36.00 594.00 783.00"
*ImageableArea LetterDuplex/Letter AutoDuplex 8.5x11in: "18.00 27.00
594.00 747.00"
*ImageableArea A4/A4 210x297mm: "10.00 36.00 585.00 833.00"
*ImageableArea A4Duplex/A4 AutoDuplex 210x297mm: "10.00 27.00 585.00 797.00"
*ImageableArea Legal/Legal 8.5x14in: "18.00 36.00 594.00 999.00"
*ImageableArea Photo/Photo 4x6in: "9.00 9.00 279.00 423.00"
*ImageableArea PhotoFullbleed/Photo 4x6in: "0.00 0.00 288.00 432.00"
*ImageableArea Photo5x7/Photo 5x7in: "9.00 36.00 351.00 495.00"
...
This should work.
Till
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] Fixes and changes on the "cups" output device of Ghostscript -Please Test!
[not found] ` <DD6046532A44F047ACD45225E9D737B14A40FFAF11@GVW1155EXB.americas.hpqcorp.net>
@ 2009-05-19 21:36 ` Till Kamppeter
2009-05-20 23:03 ` Till Kamppeter
1 sibling, 0 replies; 7+ messages in thread
From: Till Kamppeter @ 2009-05-19 21:36 UTC (permalink / raw)
To: Suffield, David
Cc: printing-architecture@lists.linux-foundation.org, gs-devel,
Michael Sweet, Cauligi, Raghothama S
Thank you, now I see what you want to do.
I have found a bug in gdevcups.c though. There was no protection against
cupsPageSizeName getting an invalid value if it does not get set
anywhere. Now the value is checked whether it is in the PPD file and if
not, it is deleted.
Till
Suffield, David wrote:
> Sorry, I sent you the wrong test PPD.
>
> -dave
>
>> -----Original Message-----
>> From: Till Kamppeter [mailto:till.kamppeter@gmail.com]
>> Sent: Tuesday, May 19, 2009 11:45 AM
>> To: Suffield, David
>> Cc: Michael Sweet; Yie, Shiyun;
>> printing-architecture@lists.linux-foundation.org; gs-devel;
>> Cauligi, Raghothama S
>> Subject: Re: Fixes and changes on the "cups" output device of
>> Ghostscript -Please Test!
>>
>> Suffield, David wrote:
>>> Till,
>>> I applied your patch to ghostscript 8.64. After testing
>> your patch with a fullbleed 4x6 paper size it looks like the
>> paper size and printable area are not calculated correctly.
>> The same full bleed test works ok with ghostscript 8.62.
>>> I have attached the test PPD and CUPS error_log(s) for
>> reference. Note the CUPS's ImagingBoundingBox was
>> "ImaginBoundingBox = [ 9 9 289 433 ]" when it should be
>> "ImaginBoundingBox = [0 0 298 442 ]".
>> How did you tell to CUPS that the job is fullbleed? The PPD
>> has non-zero
>> borders for all paper sizes.
>>
>> It seems also that pstoraster or pstops does not supply
>> something useful
>> for the "cu[psPageSizeName", as error_log shows the following:
>>
>> D [15/May/2009:14:39:26 -0700] [Job 383] Setting cupsPageSizeName to
>> "74%%BeginFeature: *PageRegion
>> 10074^D^D^D%%BeginSetup%%EndProlog%%EndResource%rom%Resource/I
>> diomSet/*/*"...
>>
>> The name is important to distinguish page sizes with the same
>> dimensions
>> but different margins.
>>
>>> Looking at the fullbleed-bad.txt error log it looks like
>> gdevcups.c has mistakenly declared this a custom paper size
>> instead of the fullbleed 4x6 paper size and thus uses the
>> custom paper size printable margins of "margins[] = [ 0.125
>> 0.125 0.125 0.125 ]" instead of [ 0 0 0 0 ].
>>> Your patch worked ok with the normal "Letter" paper size.
>> Try something like
>>
>> *DefaultPageSize: LetterDuplex
>> *PageSize Letter/Letter 8.5x11in: "<</PageSize[612 792]/ImagingBBox
>> null/cupsPageSizeName(Letter)>>setpagedevice"
>> *PageSize LetterDuplex/Letter AutoDuplex 8.5x11in: "<</PageSize[612
>> 783]/ImagingBBox null/cupsPageSizeName(LetterDuplex)>>setpagedevice"
>> **PageSize A4/A4 210x297mm: "<</PageSize[595 842]/ImagingBBox
>> null/cupsPageSizeName(A4)>>setpagedevice"
>> *PageSize A4Duplex/A4 AutoDuplex 210x297mm: "<</PageSize[595
>> 833]/ImagingBBox null/cupsPageSizeName(A4Duplex)>>setpagedevice"
>> *PageSize Legal/Legal 8.5x14in: "<</PageSize[612 1008]/ImagingBBox
>> null/cupsPageSizeName(Legal)>>setpagedevice"
>> *PageSize Photo/Photo 4x6in: "<</PageSize[288 432]/ImagingBBox
>> null/cupsPageSizeName(Photo)>>setpagedevice"
>> *PageSize PhotoFullbleed/Photo 4x6in borderless: "<</PageSize[288
>> 432]/ImagingBBox null/cupsPageSizeName(PhotoFullbleed)>>setpagedevice"
>> *PageSize Photo5x7/Photo 5x7in: "<</PageSize[360 504]/ImagingBBox
>> null/cupsPageSizeName(Photo5x7)>>setpagedevice"
>> ...
>> *CloseUI: *PageSize
>>
>> ...
>>
>> *DefaultImageableArea: LetterDuplex
>> *ImageableArea Letter/Letter 8.5x11in: "18.00 36.00 594.00 783.00"
>> *ImageableArea LetterDuplex/Letter AutoDuplex 8.5x11in: "18.00 27.00
>> 594.00 747.00"
>> *ImageableArea A4/A4 210x297mm: "10.00 36.00 585.00 833.00"
>> *ImageableArea A4Duplex/A4 AutoDuplex 210x297mm: "10.00 27.00
>> 585.00 797.00"
>> *ImageableArea Legal/Legal 8.5x14in: "18.00 36.00 594.00 999.00"
>> *ImageableArea Photo/Photo 4x6in: "9.00 9.00 279.00 423.00"
>> *ImageableArea PhotoFullbleed/Photo 4x6in: "0.00 0.00 288.00 432.00"
>> *ImageableArea Photo5x7/Photo 5x7in: "9.00 36.00 351.00 495.00"
>> ...
>>
>>
>> This should work.
>>
>> Till
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] Fixes and changes on the "cups" output device of Ghostscript -Please Test!
[not found] ` <DD6046532A44F047ACD45225E9D737B14A40FFAF11@GVW1155EXB.americas.hpqcorp.net>
2009-05-19 21:36 ` Till Kamppeter
@ 2009-05-20 23:03 ` Till Kamppeter
1 sibling, 0 replies; 7+ messages in thread
From: Till Kamppeter @ 2009-05-20 23:03 UTC (permalink / raw)
To: Suffield, David
Cc: printing-architecture@lists.linux-foundation.org, gs-devel,
Michael Sweet, Cauligi, Raghothama S
I have fixed the problem now in the SVN of Ghostscript (rev 9747). Or
apply the corrected patch:
http://www.openprinting.org/download/printing/ghostscript-cups-patches/cups-device-pagesize-margins-duplex-fixes.patch
See the fix iteself below.
Till
----------------------------------------------------------------------
Index: cups/gdevcups.c
===================================================================
--- cups/gdevcups.c (revision 9738)
+++ cups/gdevcups.c (working copy)
@@ -378,7 +378,7 @@
/* cupsString */
"", /* cupsMarkerType */
"", /* cupsRenderingIntent */
- "Letter" /* cupsPageSizeName */
+ "" /* cupsPageSizeName */
#endif /* CUPS_RASTER_SYNCv1 */
},
0 /* landscape */
@@ -2798,6 +2798,7 @@
float swap;
int xflip = 0,
yflip = 0;
+ int found = 0;
dprintf2("DEBUG2: cups_put_params(%p, %p)\n", pdev, plist);
@@ -3071,7 +3072,26 @@
yflip = 0;
}
+#ifdef CUPS_RASTER_SYNCv1
/*
+ * Chack whether cupsPageSizeName has a valid value
+ */
+
+ if (strlen(cups->header.cupsPageSizeName) != 0) {
+ found = 0;
+ for (i = cupsPPD->num_sizes, size = cupsPPD->sizes;
+ i > 0;
+ i --, size ++)
+ if (strcasecmp(cups->header.cupsPageSizeName, size->name) == 0) {
+ found = 1;
+ break;
+ }
+ if (found == 0) cups->header.cupsPageSizeName[0] = '\0';
+ }
+ dprintf1("DEBUG2: cups->header.cupsPageSizeName = %s\n",
cups->header.cupsPageSizeName);
+#endif
+
+ /*
* Find the matching page size...
*/
Suffield, David wrote:
> Sorry, I sent you the wrong test PPD.
>
> -dave
>
>> -----Original Message-----
>> From: Till Kamppeter [mailto:till.kamppeter@gmail.com]
>> Sent: Tuesday, May 19, 2009 11:45 AM
>> To: Suffield, David
>> Cc: Michael Sweet; Yie, Shiyun;
>> printing-architecture@lists.linux-foundation.org; gs-devel;
>> Cauligi, Raghothama S
>> Subject: Re: Fixes and changes on the "cups" output device of
>> Ghostscript -Please Test!
>>
>> Suffield, David wrote:
>>> Till,
>>> I applied your patch to ghostscript 8.64. After testing
>> your patch with a fullbleed 4x6 paper size it looks like the
>> paper size and printable area are not calculated correctly.
>> The same full bleed test works ok with ghostscript 8.62.
>>> I have attached the test PPD and CUPS error_log(s) for
>> reference. Note the CUPS's ImagingBoundingBox was
>> "ImaginBoundingBox = [ 9 9 289 433 ]" when it should be
>> "ImaginBoundingBox = [0 0 298 442 ]".
>> How did you tell to CUPS that the job is fullbleed? The PPD
>> has non-zero
>> borders for all paper sizes.
>>
>> It seems also that pstoraster or pstops does not supply
>> something useful
>> for the "cu[psPageSizeName", as error_log shows the following:
>>
>> D [15/May/2009:14:39:26 -0700] [Job 383] Setting cupsPageSizeName to
>> "74%%BeginFeature: *PageRegion
>> 10074^D^D^D%%BeginSetup%%EndProlog%%EndResource%rom%Resource/I
>> diomSet/*/*"...
>>
>> The name is important to distinguish page sizes with the same
>> dimensions
>> but different margins.
>>
>>> Looking at the fullbleed-bad.txt error log it looks like
>> gdevcups.c has mistakenly declared this a custom paper size
>> instead of the fullbleed 4x6 paper size and thus uses the
>> custom paper size printable margins of "margins[] = [ 0.125
>> 0.125 0.125 0.125 ]" instead of [ 0 0 0 0 ].
>>> Your patch worked ok with the normal "Letter" paper size.
>> Try something like
>>
>> *DefaultPageSize: LetterDuplex
>> *PageSize Letter/Letter 8.5x11in: "<</PageSize[612 792]/ImagingBBox
>> null/cupsPageSizeName(Letter)>>setpagedevice"
>> *PageSize LetterDuplex/Letter AutoDuplex 8.5x11in: "<</PageSize[612
>> 783]/ImagingBBox null/cupsPageSizeName(LetterDuplex)>>setpagedevice"
>> **PageSize A4/A4 210x297mm: "<</PageSize[595 842]/ImagingBBox
>> null/cupsPageSizeName(A4)>>setpagedevice"
>> *PageSize A4Duplex/A4 AutoDuplex 210x297mm: "<</PageSize[595
>> 833]/ImagingBBox null/cupsPageSizeName(A4Duplex)>>setpagedevice"
>> *PageSize Legal/Legal 8.5x14in: "<</PageSize[612 1008]/ImagingBBox
>> null/cupsPageSizeName(Legal)>>setpagedevice"
>> *PageSize Photo/Photo 4x6in: "<</PageSize[288 432]/ImagingBBox
>> null/cupsPageSizeName(Photo)>>setpagedevice"
>> *PageSize PhotoFullbleed/Photo 4x6in borderless: "<</PageSize[288
>> 432]/ImagingBBox null/cupsPageSizeName(PhotoFullbleed)>>setpagedevice"
>> *PageSize Photo5x7/Photo 5x7in: "<</PageSize[360 504]/ImagingBBox
>> null/cupsPageSizeName(Photo5x7)>>setpagedevice"
>> ...
>> *CloseUI: *PageSize
>>
>> ...
>>
>> *DefaultImageableArea: LetterDuplex
>> *ImageableArea Letter/Letter 8.5x11in: "18.00 36.00 594.00 783.00"
>> *ImageableArea LetterDuplex/Letter AutoDuplex 8.5x11in: "18.00 27.00
>> 594.00 747.00"
>> *ImageableArea A4/A4 210x297mm: "10.00 36.00 585.00 833.00"
>> *ImageableArea A4Duplex/A4 AutoDuplex 210x297mm: "10.00 27.00
>> 585.00 797.00"
>> *ImageableArea Legal/Legal 8.5x14in: "18.00 36.00 594.00 999.00"
>> *ImageableArea Photo/Photo 4x6in: "9.00 9.00 279.00 423.00"
>> *ImageableArea PhotoFullbleed/Photo 4x6in: "0.00 0.00 288.00 432.00"
>> *ImageableArea Photo5x7/Photo 5x7in: "9.00 36.00 351.00 495.00"
>> ...
>>
>>
>> This should work.
>>
>> Till
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-05-20 23:03 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-28 19:28 [Printing-architecture] Fixes and changes on the "cups" output device of Ghostscript -Please Test! Till Kamppeter
2009-04-30 11:45 ` Till Kamppeter
2009-05-04 11:17 ` Till Kamppeter
[not found] ` <DD6046532A44F047ACD45225E9D737B14A3FB6653D@GVW1155EXB.americas.hpqcorp.net>
2009-05-04 16:28 ` Till Kamppeter
[not found] ` <DD6046532A44F047ACD45225E9D737B14A40FFAF0E@GVW1155EXB.americas.hpqcorp.net>
2009-05-19 18:44 ` Till Kamppeter
[not found] ` <DD6046532A44F047ACD45225E9D737B14A40FFAF11@GVW1155EXB.americas.hpqcorp.net>
2009-05-19 21:36 ` Till Kamppeter
2009-05-20 23:03 ` Till Kamppeter
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.