rpms/ghostscript/F-11 ghostscript-gdevcups-y-axis.patch, 1.3, 1.4 ghostscript.spec, 1.202, 1.203
Tim Waugh
twaugh at fedoraproject.org
Sat Feb 20 16:17:35 UTC 2010
- Previous message: rpms/gscribble/F-12 .cvsignore, 1.2, 1.3 gscribble.spec, 1.1, 1.2 import.log, 1.1, 1.2 sources, 1.2, 1.3
- Next message: rpms/ghostscript/F-12 ghostscript-gdevcups-y-axis.patch, 1.3, 1.4 ghostscript.spec, 1.202, 1.203
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: twaugh
Update of /cvs/pkgs/rpms/ghostscript/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25566
Modified Files:
ghostscript.spec
Added Files:
ghostscript-gdevcups-y-axis.patch
Log Message:
* Sat Feb 20 2010 Tim Waugh <twaugh at redhat.com> 8.71-4
- Actually revert the upstream gdevcups changes (bug #563313).
ghostscript-gdevcups-y-axis.patch:
gdevcups.c | 336 +++++++++++++++++++++++++++++--------------------------------
1 file changed, 165 insertions(+), 171 deletions(-)
Index: ghostscript-gdevcups-y-axis.patch
===================================================================
RCS file: ghostscript-gdevcups-y-axis.patch
diff -N ghostscript-gdevcups-y-axis.patch
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ghostscript-gdevcups-y-axis.patch 20 Feb 2010 16:17:35 -0000 1.4
@@ -0,0 +1,709 @@
+diff -up ghostscript-8.71/cups/gdevcups.c.gdevcups-y-axis ghostscript-8.71/cups/gdevcups.c
+--- ghostscript-8.71/cups/gdevcups.c.gdevcups-y-axis 2010-02-20 15:52:12.768609717 +0000
++++ ghostscript-8.71/cups/gdevcups.c 2010-02-20 16:12:29.544735338 +0000
+@@ -605,6 +605,8 @@ private void
+ cups_get_matrix(gx_device *pdev, /* I - Device info */
+ gs_matrix *pmat) /* O - Physical transform matrix */
+ {
++ ppd_attr_t *backside = NULL;
++
+ dprintf2("DEBUG2: cups_get_matrix(%p, %p)\n", pdev, pmat);
+
+ /*
+@@ -618,25 +620,119 @@ cups_get_matrix(gx_device *pdev, /* I -
+ * Set the transform matrix...
+ */
+
++ dprintf1("DEBUG2: cups->header.Duplex = %d\n", cups->header.Duplex);
++ dprintf1("DEBUG2: cups->page = %d\n", cups->page);
++
++ if (cupsPPD)
++ {
++ backside = ppdFindAttr(cupsPPD, "cupsBackSide", NULL);
++ dprintf1("DEBUG2: cupsPPD = %p\n", cupsPPD);
++ if (backside) {
++ dprintf1("DEBUG2: cupsBackSide = %s\n", backside->value);
++ cupsPPD->flip_duplex = 0;
++ }
++ dprintf1("DEBUG2: cupsPPD->flip_duplex = %d\n", cupsPPD->flip_duplex);
++ }
++
+ if (cups->landscape)
+ {
+ /*
+ * Do landscape orientation...
+ */
+- dprintf("DEBUG2: Landscape matrix: XX=0 XY=+1 YX=+1 YY=0\n");
+- pmat->xx = 0.0;
+- pmat->xy = (float)cups->header.HWResolution[1] / 72.0;
+- pmat->yx = (float)cups->header.HWResolution[0] / 72.0;
+- pmat->yy = 0.0;
+- pmat->tx = -(float)cups->header.HWResolution[0] * pdev->HWMargins[1] / 72.0;
+- pmat->ty = -(float)cups->header.HWResolution[1] * pdev->HWMargins[0] / 72.0;
++
++ if (cups->header.Duplex && cupsPPD &&
++ (cups->header.Tumble &&
++ (backside && !strcasecmp(backside->value, "Flipped"))) &&
++ !(cups->page & 1))
++ {
++ pmat->xx = 0.0;
++ pmat->xy = (float)cups->header.HWResolution[1] / 72.0;
++ pmat->yx = (float)cups->header.HWResolution[0] / 72.0;
++ pmat->yy = 0.0;
++ pmat->tx = -(float)cups->header.HWResolution[0] * pdev->HWMargins[1] / 72.0;
++ pmat->ty = -(float)cups->header.HWResolution[1] * pdev->HWMargins[0] / 72.0;
++ }
++ else if (cups->header.Duplex && cupsPPD &&
++ (!cups->header.Tumble &&
++ (backside && !strcasecmp(backside->value, "Flipped"))) &&
++ !(cups->page & 1))
++ {
++ pmat->xx = 0.0;
++ pmat->xy = -(float)cups->header.HWResolution[1] / 72.0;
++ pmat->yx = (float)cups->header.HWResolution[0] / 72.0;
++ pmat->yy = 0.0;
++ pmat->tx = -(float)cups->header.HWResolution[0] * pdev->HWMargins[1] / 72.0;
++ pmat->ty = (float)cups->header.HWResolution[1] *
++ ((float)cups->header.PageSize[0] - pdev->HWMargins[2]) / 72.0;
++ }
++ else if (cups->header.Duplex && cupsPPD &&
++ ((!cups->header.Tumble &&
++ (cupsPPD->flip_duplex ||
++ (backside && !strcasecmp(backside->value, "Rotated")))) ||
++ (cups->header.Tumble &&
++ (backside && !strcasecmp(backside->value, "ManualTumble")))) &&
++ !(cups->page & 1))
++ {
++ pmat->xx = 0.0;
++ pmat->xy = -(float)cups->header.HWResolution[1] / 72.0;
++ pmat->yx = (float)cups->header.HWResolution[0] / 72.0;
++ pmat->yy = 0.0;
++ pmat->tx = -(float)cups->header.HWResolution[0] * pdev->HWMargins[1] / 72.0;
++ pmat->ty = (float)cups->header.HWResolution[1] *
++ ((float)cups->header.PageSize[0] - pdev->HWMargins[2]) / 72.0;
++ }
++ else
++ {
++ pmat->xx = 0.0;
++ pmat->xy = (float)cups->header.HWResolution[1] / 72.0;
++ pmat->yx = (float)cups->header.HWResolution[0] / 72.0;
++ pmat->yy = 0.0;
++ pmat->tx = -(float)cups->header.HWResolution[0] * pdev->HWMargins[1] / 72.0;
++ pmat->ty = -(float)cups->header.HWResolution[1] * pdev->HWMargins[0] / 72.0;
++ }
++ }
++ else if (cups->header.Duplex && cupsPPD &&
++ (cups->header.Tumble &&
++ (backside && !strcasecmp(backside->value, "Flipped"))) &&
++ !(cups->page & 1))
++ {
++ pmat->xx = (float)cups->header.HWResolution[0] / 72.0;
++ pmat->xy = 0.0;
++ pmat->yx = 0.0;
++ pmat->yy = -(float)cups->header.HWResolution[1] / 72.0;
++ pmat->tx = -(float)cups->header.HWResolution[0] * pdev->HWMargins[0] / 72.0;
++ pmat->ty = (float)cups->header.HWResolution[1] *
++ ((float)cups->header.PageSize[1] - pdev->HWMargins[3]) / 72.0;
++ }
++ else if (cups->header.Duplex && cupsPPD &&
++ (!cups->header.Tumble &&
++ (backside && !strcasecmp(backside->value, "Flipped"))) &&
++ !(cups->page & 1))
++ {
++ pmat->xx = (float)cups->header.HWResolution[0] / 72.0;
++ pmat->xy = 0.0;
++ pmat->yx = 0.0;
++ pmat->yy = (float)cups->header.HWResolution[1] / 72.0;
++ pmat->tx = -(float)cups->header.HWResolution[0] * pdev->HWMargins[0] / 72.0;
++ pmat->ty = -(float)cups->header.HWResolution[1] * pdev->HWMargins[1] / 72.0;
++ }
++ else if (cups->header.Duplex && cupsPPD &&
++ ((!cups->header.Tumble &&
++ (cupsPPD->flip_duplex ||
++ (backside && !strcasecmp(backside->value, "Rotated")))) ||
++ (cups->header.Tumble &&
++ (backside && !strcasecmp(backside->value, "ManualTumble")))) &&
++ !(cups->page & 1))
++ {
++ pmat->xx = (float)cups->header.HWResolution[0] / 72.0;
++ pmat->xy = 0.0;
++ pmat->yx = 0.0;
++ pmat->yy = (float)cups->header.HWResolution[1] / 72.0;
++ pmat->tx = -(float)cups->header.HWResolution[0] * pdev->HWMargins[0] / 72.0;
++ pmat->ty = -(float)cups->header.HWResolution[1] * pdev->HWMargins[1] / 72.0;
+ }
+ else
+ {
+- /*
+- * Do portrait orientation...
+- */
+- dprintf("DEBUG2: Portrait matrix: XX=+1 XY=0 YX=0 YY=-1\n");
+ pmat->xx = (float)cups->header.HWResolution[0] / 72.0;
+ pmat->xy = 0.0;
+ pmat->yx = 0.0;
+@@ -2703,16 +2799,13 @@ cups_put_params(gx_device *pdev, /*
+ int color_set; /* Were the color attrs set? */
+ gdev_prn_space_params sp; /* Space parameter data */
+ int width, /* New width of page */
+- height; /* New height of page */
+- static int width_old = 0, /* Previous width */
+- height_old = 0; /* Previous height */
++ height; /* New height of page */
+ ppd_attr_t *backside = NULL,
+ *backsiderequiresflippedmargins = NULL;
+ float swap;
+ int xflip = 0,
+ yflip = 0;
+ int found = 0;
+- static int lastpage = 0;
+
+ dprintf2("DEBUG2: cups_put_params(%p, %p)\n", pdev, plist);
+
+@@ -2811,14 +2904,6 @@ cups_put_params(gx_device *pdev, /*
+ margins_set = param_read_float_array(plist, "Margins", &arrayval) == 0;
+ color_set = param_read_int(plist, "cupsColorSpace", &intval) == 0 ||
+ param_read_int(plist, "cupsBitsPerColor", &intval) == 0;
+- /* We also recompute page size and margins if we simply get onto a new
+- page without necessarily having a page size change in the PostScript
+- code, as for some printers margins have to flipped on the back sides of
+- the sheets (even pages) when printing duplex */
+- if (cups->page != lastpage) {
+- size_set = 1;
+- lastpage = cups->page;
+- }
+
+ stringoption(MediaClass, "MediaClass")
+ stringoption(MediaColor, "MediaColor")
+@@ -2933,7 +3018,6 @@ cups_put_params(gx_device *pdev, /*
+ if (cupsPPD != NULL)
+ {
+ dprintf1("DEBUG2: cups->header.Duplex = %d\n", cups->header.Duplex);
+- dprintf1("DEBUG2: cups->header.Tumble = %d\n", cups->header.Tumble);
+ dprintf1("DEBUG2: cups->page = %d\n", cups->page);
+ dprintf1("DEBUG2: cupsPPD = %p\n", cupsPPD);
+
+@@ -2957,13 +3041,10 @@ cups_put_params(gx_device *pdev, /*
+ {
+ xflip = 1;
+ if (backsiderequiresflippedmargins &&
+- !strcasecmp(backsiderequiresflippedmargins->value, "False")) {
+- dprintf("DEBUG2: (1) Flip: X=1 Y=0\n");
++ !strcasecmp(backsiderequiresflippedmargins->value, "False"))
+ yflip = 0;
+- } else {
+- dprintf("DEBUG2: (1) Flip: X=1 Y=1\n");
++ else
+ yflip = 1;
+- }
+ }
+ else if (cups->header.Duplex &&
+ (!cups->header.Tumble &&
+@@ -2972,13 +3053,10 @@ cups_put_params(gx_device *pdev, /*
+ {
+ xflip = 0;
+ if (backsiderequiresflippedmargins &&
+- !strcasecmp(backsiderequiresflippedmargins->value, "False")) {
+- dprintf("DEBUG2: (2) Flip: X=0 Y=1\n");
++ !strcasecmp(backsiderequiresflippedmargins->value, "False"))
+ yflip = 1;
+- } else {
+- dprintf("DEBUG2: (2) Flip: X=0 Y=0\n");
++ else
+ yflip = 0;
+- }
+ }
+ else if (cups->header.Duplex &&
+ ((!cups->header.Tumble &&
+@@ -2990,17 +3068,13 @@ cups_put_params(gx_device *pdev, /*
+ {
+ xflip = 1;
+ if (backsiderequiresflippedmargins &&
+- !strcasecmp(backsiderequiresflippedmargins->value, "True")) {
+- dprintf("DEBUG2: (3) Flip: X=1 Y=0\n");
++ !strcasecmp(backsiderequiresflippedmargins->value, "True"))
+ yflip = 0;
+- } else {
+- dprintf("DEBUG2: (3) Flip: X=1 Y=1\n");
++ else
+ yflip = 1;
+- }
+ }
+ else
+ {
+- dprintf("DEBUG2: (4) Flip: X=0 Y=0\n");
+ xflip = 0;
+ yflip = 0;
+ }
+@@ -3037,20 +3111,9 @@ cups_put_params(gx_device *pdev, /*
+ ((strlen(cups->header.cupsPageSizeName) == 0) ||
+ (strcasecmp(cups->header.cupsPageSizeName, size->name) == 0)) &&
+ #endif
+- /* We check whether all 4 margins match with the margin info
+- of the page size in the PPD. Here we check also for swapped
+- left/right and top/bottom margins as the cups->HWMargins
+- info can be from the previous page and there the margins
+- can be swapped due to duplex printing requirements */
+ (!margins_set ||
+- (((fabs(cups->HWMargins[0] - size->left) < 1.0 &&
+- fabs(cups->HWMargins[2] - size->width + size->right) < 1.0) ||
+- (fabs(cups->HWMargins[0] - size->width + size->right) < 1.0 &&
+- fabs(cups->HWMargins[2] - size->left) < 1.0)) &&
+- ((fabs(cups->HWMargins[1] - size->bottom) < 1.0 &&
+- fabs(cups->HWMargins[3] - size->length + size->top) < 1.0) ||
+- (fabs(cups->HWMargins[1] - size->length + size->top) < 1.0 &&
+- fabs(cups->HWMargins[3] - size->bottom) < 1.0)))))
++ (fabs(cups->HWMargins[0] - size->left) < 1.0 &&
++ fabs(cups->HWMargins[1] - size->bottom) < 1.0)))
+ break;
+
+ if (i > 0)
+@@ -3092,20 +3155,9 @@ cups_put_params(gx_device *pdev, /*
+ ((strlen(cups->header.cupsPageSizeName) == 0) ||
+ (strcasecmp(cups->header.cupsPageSizeName, size->name) == 0)) &&
+ #endif
+- /* We check whether all 4 margins match with the margin info
+- of the page size in the PPD. Here we check also for swapped
+- left/right and top/bottom margins as the cups->HWMargins
+- info can be from the previous page and there the margins
+- can be swapped due to duplex printing requirements */
+ (!margins_set ||
+- (((fabs(cups->HWMargins[1] - size->left) < 1.0 &&
+- fabs(cups->HWMargins[3] - size->width + size->right) < 1.0) ||
+- (fabs(cups->HWMargins[1] - size->width + size->right) < 1.0 &&
+- fabs(cups->HWMargins[3] - size->left) < 1.0)) &&
+- ((fabs(cups->HWMargins[0] - size->bottom) < 1.0 &&
+- fabs(cups->HWMargins[2] - size->length + size->top) < 1.0) ||
+- (fabs(cups->HWMargins[0] - size->length + size->top) < 1.0 &&
+- fabs(cups->HWMargins[2] - size->bottom) < 1.0)))))
++ (fabs(cups->HWMargins[0] - size->left) < 1.0 &&
++ fabs(cups->HWMargins[1] - size->bottom) < 1.0)))
+ break;
+
+ if (i > 0)
+@@ -3245,17 +3297,12 @@ cups_put_params(gx_device *pdev, /*
+
+ /*
+ * Don't reallocate memory unless the device has been opened...
+- * Also reallocate only if the size has actually changed...
+ */
+
+- if (pdev->is_open && (width != width_old || height != height_old))
++ if (pdev->is_open)
+ {
+-
+- width_old = width;
+- height_old = height;
+-
+ /*
+- * Device is open and size has changed, so reallocate...
++ * Device is open, so reallocate...
+ */
+
+ dprintf4("DEBUG2: Reallocating memory, [%.0f %.0f] = %dx%d pixels...\n",
+@@ -3729,22 +3776,13 @@ cups_print_chunked(gx_device_printer *pd
+ unsigned char *srcptr, /* Pointer to data */
+ *dstptr; /* Pointer to bits */
+ int count; /* Count for loop */
+- int xflip, /* Flip scanline? */
+- yflip, /* Reverse scanline order? */
+- ystart, yend, ystep; /* Loop control for scanline order */
++ int flip; /* Flip scanline? */
+ ppd_attr_t *backside = NULL;
+
+- dprintf1("DEBUG2: cups->header.Duplex = %d\n", cups->header.Duplex);
+- dprintf1("DEBUG2: cups->header.Tumble = %d\n", cups->header.Tumble);
+- dprintf1("DEBUG2: cups->page = %d\n", cups->page);
+- dprintf1("DEBUG2: cupsPPD = %p\n", cupsPPD);
+-
+ if (cupsPPD) {
+ backside = ppdFindAttr(cupsPPD, "cupsBackSide", NULL);
+- if (backside) {
+- dprintf1("DEBUG2: cupsBackSide = %s\n", backside->value);
++ if (backside)
+ cupsPPD->flip_duplex = 0;
+- }
+ }
+ if (cups->header.Duplex && cupsPPD &&
+ ((!cups->header.Tumble &&
+@@ -3754,36 +3792,19 @@ cups_print_chunked(gx_device_printer *pd
+ (backside && (!strcasecmp(backside->value, "Flipped") ||
+ !strcasecmp(backside->value, "ManualTumble"))))) &&
+ !(cups->page & 1))
+- xflip = 1;
++ flip = 1;
+ else
+- xflip = 0;
+- if (cups->header.Duplex && cupsPPD &&
+- ((!cups->header.Tumble &&
+- (cupsPPD->flip_duplex ||
+- (backside && (!strcasecmp(backside->value, "Flipped") ||
+- !strcasecmp(backside->value, "Rotated"))))) ||
+- (cups->header.Tumble &&
+- (backside && !strcasecmp(backside->value, "ManualTumble")))) &&
+- !(cups->page & 1)) {
+- yflip = 1;
+- ystart = cups->height - 1;
+- yend = -1;
+- ystep = -1;
+- } else {
+- yflip = 0;
+- ystart = 0;
+- yend = cups->height;
+- ystep = 1;
+- }
++ flip = 0;
+
+- dprintf3("DEBUG: cups_print_chunked: xflip = %d, yflip = %d, height = %d\n",
+- xflip, yflip, cups->height);
++ dprintf2("DEBUG: cups_print_chunked - flip = %d, height = %d\n",
++ flip, cups->height);
+
+ /*
+ * Loop through the page bitmap and write chunked pixels, reversing as
+ * needed...
+ */
+- for (y = ystart; y != yend; y += ystep)
++
++ for (y = 0; y < cups->height; y ++)
+ {
+ /*
+ * Grab the scanline data...
+@@ -3795,7 +3816,7 @@ cups_print_chunked(gx_device_printer *pd
+ gs_exit(gs_lib_ctx_get_non_gc_memory_t(), 1);
+ }
+
+- if (xflip)
++ if (flip)
+ {
+ /*
+ * Flip the raster data before writing it...
+@@ -3949,22 +3970,13 @@ cups_print_banded(gx_device_printer *pde
+ unsigned char *srcptr; /* Pointer to data */
+ unsigned char *cptr, *mptr, *yptr, /* Pointer to components */
+ *kptr, *lcptr, *lmptr; /* ... */
+- int xflip, /* Flip scanline? */
+- yflip, /* Reverse scanline order? */
+- ystart, yend, ystep; /* Loop control for scanline order */
++ int flip; /* Flip scanline? */
+ ppd_attr_t *backside = NULL;
+
+- dprintf1("DEBUG2: cups->header.Duplex = %d\n", cups->header.Duplex);
+- dprintf1("DEBUG2: cups->header.Tumble = %d\n", cups->header.Tumble);
+- dprintf1("DEBUG2: cups->page = %d\n", cups->page);
+- dprintf1("DEBUG2: cupsPPD = %p\n", cupsPPD);
+-
+ if (cupsPPD) {
+ backside = ppdFindAttr(cupsPPD, "cupsBackSide", NULL);
+- if (backside) {
+- dprintf1("DEBUG2: cupsBackSide = %s\n", backside->value);
++ if (backside)
+ cupsPPD->flip_duplex = 0;
+- }
+ }
+ if (cups->header.Duplex && cupsPPD &&
+ ((!cups->header.Tumble &&
+@@ -3974,30 +3986,12 @@ cups_print_banded(gx_device_printer *pde
+ (backside && (!strcasecmp(backside->value, "Flipped") ||
+ !strcasecmp(backside->value, "ManualTumble"))))) &&
+ !(cups->page & 1))
+- xflip = 1;
++ flip = 1;
+ else
+- xflip = 0;
+- if (cups->header.Duplex && cupsPPD &&
+- ((!cups->header.Tumble &&
+- (cupsPPD->flip_duplex ||
+- (backside && (!strcasecmp(backside->value, "Flipped") ||
+- !strcasecmp(backside->value, "Rotated"))))) ||
+- (cups->header.Tumble &&
+- (backside && !strcasecmp(backside->value, "ManualTumble")))) &&
+- !(cups->page & 1)) {
+- yflip = 1;
+- ystart = cups->height - 1;
+- yend = -1;
+- ystep = -1;
+- } else {
+- yflip = 0;
+- ystart = 0;
+- yend = cups->height;
+- ystep = 1;
+- }
++ flip = 0;
+
+- dprintf3("DEBUG: cups_print_chunked: xflip = %d, yflip = %d, height = %d\n",
+- xflip, yflip, cups->height);
++ dprintf2("DEBUG: cups_print_banded - flip = %d, height = %d\n",
++ flip, cups->height);
+
+ /*
+ * Loop through the page bitmap and write banded pixels... We have
+@@ -4014,7 +4008,7 @@ cups_print_banded(gx_device_printer *pde
+ bandbytes = cups->header.cupsBytesPerLine / cups->color_info.num_components;
+ #endif /* CUPS_RASTER_SYNCv1 */
+
+- for (y = ystart; y != yend; y += ystep)
++ for (y = 0; y < cups->height; y ++)
+ {
+ /*
+ * Grab the scanline data...
+@@ -4034,7 +4028,7 @@ cups_print_banded(gx_device_printer *pde
+ memset(dst, 0, cups->header.cupsBytesPerLine);
+ else
+ {
+- if (xflip)
++ if (flip)
+ cptr = dst + bandbytes - 1;
+ else
+ cptr = dst;
+@@ -4053,7 +4047,7 @@ cups_print_banded(gx_device_printer *pde
+ switch (cups->header.cupsColorSpace)
+ {
+ default :
+- for (x = cups->width, bit = xflip ? 1 << (x & 7) : 128;
++ for (x = cups->width, bit = flip ? 1 << (x & 7) : 128;
+ x > 0;
+ x --, srcptr ++)
+ {
+@@ -4064,7 +4058,7 @@ cups_print_banded(gx_device_printer *pde
+ if (*srcptr & 0x10)
+ *yptr |= bit;
+
+- if (xflip)
++ if (flip)
+ {
+ if (bit < 128)
+ bit <<= 1;
+@@ -4090,7 +4084,7 @@ cups_print_banded(gx_device_printer *pde
+ if (*srcptr & 0x1)
+ *yptr |= bit;
+
+- if (xflip)
++ if (flip)
+ {
+ if (bit < 128)
+ bit <<= 1;
+@@ -4120,7 +4114,7 @@ cups_print_banded(gx_device_printer *pde
+ case CUPS_CSPACE_CMYK :
+ case CUPS_CSPACE_YMCK :
+ case CUPS_CSPACE_KCMY :
+- for (x = cups->width, bit = xflip ? 1 << (x & 7) : 128;
++ for (x = cups->width, bit = flip ? 1 << (x & 7) : 128;
+ x > 0;
+ x --, srcptr ++)
+ {
+@@ -4133,7 +4127,7 @@ cups_print_banded(gx_device_printer *pde
+ if (*srcptr & 0x10)
+ *kptr |= bit;
+
+- if (xflip)
++ if (flip)
+ {
+ if (bit < 128)
+ bit <<= 1;
+@@ -4162,7 +4156,7 @@ cups_print_banded(gx_device_printer *pde
+ if (*srcptr & 0x1)
+ *kptr |= bit;
+
+- if (xflip)
++ if (flip)
+ {
+ if (bit < 128)
+ bit <<= 1;
+@@ -4188,7 +4182,7 @@ cups_print_banded(gx_device_printer *pde
+ }
+ break;
+ case CUPS_CSPACE_KCMYcm :
+- for (x = cups->width, bit = xflip ? 1 << (x & 7) : 128;
++ for (x = cups->width, bit = flip ? 1 << (x & 7) : 128;
+ x > 0;
+ x --, srcptr ++)
+ {
+@@ -4211,7 +4205,7 @@ cups_print_banded(gx_device_printer *pde
+ if (*srcptr & 0x01)
+ *lmptr |= bit;
+
+- if (xflip)
++ if (flip)
+ {
+ if (bit < 128)
+ bit <<= 1;
+@@ -4249,7 +4243,7 @@ cups_print_banded(gx_device_printer *pde
+ switch (cups->header.cupsColorSpace)
+ {
+ default :
+- for (x = cups->width, bit = xflip ? 3 << (2 * (x & 3)) : 0xc0;
++ for (x = cups->width, bit = flip ? 3 << (2 * (x & 3)) : 0xc0;
+ x > 0;
+ x --, srcptr ++)
+ switch (bit)
+@@ -4262,7 +4256,7 @@ cups_print_banded(gx_device_printer *pde
+ if ((temp = *srcptr & 0x03) != 0)
+ *yptr |= temp << 6;
+
+- if (xflip)
++ if (flip)
+ {
+ bit = 0x03;
+ cptr --;
+@@ -4280,7 +4274,7 @@ cups_print_banded(gx_device_printer *pde
+ if ((temp = *srcptr & 0x03) != 0)
+ *yptr |= temp << 4;
+
+- if (xflip)
++ if (flip)
+ bit = 0xc0;
+ else
+ bit = 0x0c;
+@@ -4293,7 +4287,7 @@ cups_print_banded(gx_device_printer *pde
+ if ((temp = *srcptr & 0x03) != 0)
+ *yptr |= temp << 2;
+
+- if (xflip)
++ if (flip)
+ bit = 0x30;
+ else
+ bit = 0x03;
+@@ -4306,7 +4300,7 @@ cups_print_banded(gx_device_printer *pde
+ if ((temp = *srcptr & 0x03) != 0)
+ *yptr |= temp;
+
+- if (xflip)
++ if (flip)
+ bit = 0x0c;
+ else
+ {
+@@ -4326,7 +4320,7 @@ cups_print_banded(gx_device_printer *pde
+ case CUPS_CSPACE_YMCK :
+ case CUPS_CSPACE_KCMY :
+ case CUPS_CSPACE_KCMYcm :
+- for (x = cups->width, bit = xflip ? 3 << (2 * (x & 3)) : 0xc0;
++ for (x = cups->width, bit = flip ? 3 << (2 * (x & 3)) : 0xc0;
+ x > 0;
+ x --, srcptr ++)
+ switch (bit)
+@@ -4341,7 +4335,7 @@ cups_print_banded(gx_device_printer *pde
+ if ((temp = *srcptr & 0x03) != 0)
+ *kptr |= temp << 6;
+
+- if (xflip)
++ if (flip)
+ {
+ bit = 0x03;
+ cptr --;
+@@ -4362,7 +4356,7 @@ cups_print_banded(gx_device_printer *pde
+ if ((temp = *srcptr & 0x03) != 0)
+ *kptr |= temp << 4;
+
+- if (xflip)
++ if (flip)
+ bit = 0xc0;
+ else
+ bit = 0x0c;
+@@ -4377,7 +4371,7 @@ cups_print_banded(gx_device_printer *pde
+ if ((temp = *srcptr & 0x03) != 0)
+ *kptr |= temp << 2;
+
+- if (xflip)
++ if (flip)
+ bit = 0x30;
+ else
+ bit = 0x03;
+@@ -4392,7 +4386,7 @@ cups_print_banded(gx_device_printer *pde
+ if ((temp = *srcptr & 0x03) != 0)
+ *kptr |= temp;
+
+- if (xflip)
++ if (flip)
+ bit = 0x0c;
+ else
+ {
+@@ -4414,7 +4408,7 @@ cups_print_banded(gx_device_printer *pde
+ switch (cups->header.cupsColorSpace)
+ {
+ default :
+- for (x = cups->width, bit = xflip && (x & 1) ? 0xf0 : 0x0f;
++ for (x = cups->width, bit = flip && (x & 1) ? 0xf0 : 0x0f;
+ x > 0;
+ x --, srcptr += 2)
+ switch (bit)
+@@ -4429,7 +4423,7 @@ cups_print_banded(gx_device_printer *pde
+
+ bit = 0x0f;
+
+- if (xflip)
++ if (flip)
+ {
+ cptr --;
+ mptr --;
+@@ -4446,7 +4440,7 @@ cups_print_banded(gx_device_printer *pde
+
+ bit = 0xf0;
+
+- if (!xflip)
++ if (!flip)
+ {
+ cptr ++;
+ mptr ++;
+@@ -4463,7 +4457,7 @@ cups_print_banded(gx_device_printer *pde
+ case CUPS_CSPACE_YMCK :
+ case CUPS_CSPACE_KCMY :
+ case CUPS_CSPACE_KCMYcm :
+- for (x = cups->width, bit = xflip && (x & 1) ? 0xf0 : 0x0f;
++ for (x = cups->width, bit = flip && (x & 1) ? 0xf0 : 0x0f;
+ x > 0;
+ x --, srcptr += 2)
+ switch (bit)
+@@ -4480,7 +4474,7 @@ cups_print_banded(gx_device_printer *pde
+
+ bit = 0x0f;
+
+- if (xflip)
++ if (flip)
+ {
+ cptr --;
+ mptr --;
+@@ -4500,7 +4494,7 @@ cups_print_banded(gx_device_printer *pde
+
+ bit = 0xf0;
+
+- if (!xflip)
++ if (!flip)
+ {
+ cptr ++;
+ mptr ++;
+@@ -4517,7 +4511,7 @@ cups_print_banded(gx_device_printer *pde
+ switch (cups->header.cupsColorSpace)
+ {
+ default :
+- if (xflip)
++ if (flip)
+ for (x = cups->width; x > 0; x --)
+ {
+ *cptr-- = *srcptr++;
+@@ -4540,7 +4534,7 @@ cups_print_banded(gx_device_printer *pde
+ case CUPS_CSPACE_YMCK :
+ case CUPS_CSPACE_KCMY :
+ case CUPS_CSPACE_KCMYcm :
+- if (xflip)
++ if (flip)
+ for (x = cups->width; x > 0; x --)
+ {
+ *cptr-- = *srcptr++;
+@@ -4564,7 +4558,7 @@ cups_print_banded(gx_device_printer *pde
+ switch (cups->header.cupsColorSpace)
+ {
+ default :
+- if (xflip)
++ if (flip)
+ for (x = cups->width; x > 0; x --, srcptr += 6)
+ {
+ *cptr-- = srcptr[1];
+@@ -4593,7 +4587,7 @@ cups_print_banded(gx_device_printer *pde
+ case CUPS_CSPACE_YMCK :
+ case CUPS_CSPACE_KCMY :
+ case CUPS_CSPACE_KCMYcm :
+- if (xflip)
++ if (flip)
+ for (x = cups->width; x > 0; x --, srcptr += 8)
+ {
+ *cptr-- = srcptr[1];
Index: ghostscript.spec
===================================================================
RCS file: /cvs/pkgs/rpms/ghostscript/F-11/ghostscript.spec,v
retrieving revision 1.202
retrieving revision 1.203
diff -u -p -r1.202 -r1.203
--- ghostscript.spec 20 Feb 2010 15:59:49 -0000 1.202
+++ ghostscript.spec 20 Feb 2010 16:17:35 -0000 1.203
@@ -5,7 +5,7 @@ Summary: A PostScript interpreter and re
Name: ghostscript
Version: %{gs_ver}
-Release: 3%{?dist}
+Release: 4%{?dist}
# Included CMap data is Redistributable, no modification permitted,
# see http://bugzilla.redhat.com/487510
@@ -30,6 +30,7 @@ Patch11: ghostscript-vsnprintf.patch
Patch12: ghostscript-pdftoraster-exit.patch
Patch13: ghostscript-ldflags.patch
Patch14: ghostscript-pdf2dsc.patch
+Patch15: ghostscript-gdevcups-y-axis.patch
Requires: urw-fonts >= 1.1, ghostscript-fonts
BuildRequires: xz
@@ -135,6 +136,9 @@ rm -rf libpng zlib jpeg jasper
# Fixed pdf2dsc.ps (bug #565935).
%patch14 -p1 -b .pdf2dsc
+# Actually revert the upstream gdevcups changes (bug #563313).
+%patch15 -p1 -b .gdevcups-y-axis
+
# Convert manual pages to UTF-8
from8859_1() {
iconv -f iso-8859-1 -t utf-8 < "$1" > "${1}_"
@@ -316,7 +320,8 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libgs.so
%changelog
-* Sat Feb 20 2010 Tim Waugh <twaugh at redhat.com> 8.71-3
+* Sat Feb 20 2010 Tim Waugh <twaugh at redhat.com> 8.71-4
+- Actually revert the upstream gdevcups changes (bug #563313).
- Fixed pdf2dsc.ps (bug #565935).
- Use fixed patch for LDFLAGS to make sure libgs.so gets a soname
(bug #565935).
- Previous message: rpms/gscribble/F-12 .cvsignore, 1.2, 1.3 gscribble.spec, 1.1, 1.2 import.log, 1.1, 1.2 sources, 1.2, 1.3
- Next message: rpms/ghostscript/F-12 ghostscript-gdevcups-y-axis.patch, 1.3, 1.4 ghostscript.spec, 1.202, 1.203
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list