summaryrefslogtreecommitdiff
path: root/print/ghostscript-gpl/files
diff options
context:
space:
mode:
authorEdwin Groothuis <edwin@FreeBSD.org>2003-09-28 02:31:35 +0000
committerEdwin Groothuis <edwin@FreeBSD.org>2003-09-28 02:31:35 +0000
commit8284a67912d5a722301a2f9e769191ef2af253c3 (patch)
tree7640c550cc2bae5bf2accdc6d842396b8d54a0f1 /print/ghostscript-gpl/files
parentUpdate to 0.92-pre4 (diff)
iUpdate port: print/ghostscript-afpl
- Update EPLASER driver to version 3.1.1 - Fix papersize handling of LIPS driver PR: ports/57008 Submitted by: KATO Tsuguru <tkato@prontomail.com>
Notes
Notes: svn path=/head/; revision=89599
Diffstat (limited to 'print/ghostscript-gpl/files')
-rw-r--r--print/ghostscript-gpl/files/patch-eplaser:gdevescv.c89
-rw-r--r--print/ghostscript-gpl/files/patch-eplaser:gdevesmv.c89
-rw-r--r--print/ghostscript-gpl/files/patch-lips:gdevl4r.c42
-rw-r--r--print/ghostscript-gpl/files/patch-lips:gdevl4v.c71
-rw-r--r--print/ghostscript-gpl/files/patch-lips:gdevlips.mak59
-rw-r--r--print/ghostscript-gpl/files/patch-lips:gdevlprn.h13
-rw-r--r--print/ghostscript-gpl/files/patch-src:gxobj.h13
7 files changed, 227 insertions, 149 deletions
diff --git a/print/ghostscript-gpl/files/patch-eplaser:gdevescv.c b/print/ghostscript-gpl/files/patch-eplaser:gdevescv.c
index be2792ffee44..3578352b1b7e 100644
--- a/print/ghostscript-gpl/files/patch-eplaser:gdevescv.c
+++ b/print/ghostscript-gpl/files/patch-eplaser:gdevescv.c
@@ -1,5 +1,5 @@
---- eplaser/gdevescv.c.orig Fri Jan 24 13:35:28 2003
-+++ eplaser/gdevescv.c Tue Mar 25 18:03:39 2003
+--- eplaser/gdevescv.c.orig Fri Jul 25 20:59:58 2003
++++ eplaser/gdevescv.c Tue Sep 9 22:03:50 2003
@@ -37,8 +37,6 @@
*/
@@ -9,18 +9,11 @@
#include <string.h>
#include "math_.h"
-@@ -321,30 +319,30 @@
+@@ -321,6 +319,16 @@
};
/* Vector device implementation */
--private int escv_beginpage(P1(gx_device_vector * vdev));
--private int escv_setfillcolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
--private int escv_setstrokecolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
--private int escv_setdash(P4(gx_device_vector * vdev, const float *pattern,
-- uint count, floatp offset));
--private int escv_setflat(P2(gx_device_vector * vdev, floatp flatness));
--private int escv_setlogop(P3(gx_device_vector * vdev, gs_logical_operation_t lop,
-- gs_logical_operation_t diff));
++#if GS_VERSION_MAJOR >= 8
+private int escv_beginpage(gx_device_vector * vdev);
+private int escv_setfillcolor(gx_device_vector * vdev, const gx_drawing_color * pdc);
+private int escv_setstrokecolor(gx_device_vector * vdev, const gx_drawing_color * pdc);
@@ -29,73 +22,41 @@
+private int escv_setflat(gx_device_vector * vdev, floatp flatness);
+private int escv_setlogop(gx_device_vector * vdev, gs_logical_operation_t lop,
+ gs_logical_operation_t diff);
++#else
+ private int escv_beginpage(P1(gx_device_vector * vdev));
+ private int escv_setfillcolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
+ private int escv_setstrokecolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
+@@ -329,10 +337,25 @@
+ private int escv_setflat(P2(gx_device_vector * vdev, floatp flatness));
+ private int escv_setlogop(P3(gx_device_vector * vdev, gs_logical_operation_t lop,
+ gs_logical_operation_t diff));
++#endif
private int escv_vector_dorect(gx_device_vector * vdev, fixed x0, fixed y0, fixed x1,
fixed y1, gx_path_type_t type);
private int escv_vector_dopath(gx_device_vector * vdev, const gx_path * ppath,
gx_path_type_t type);
--private int escv_beginpath(P2(gx_device_vector * vdev, gx_path_type_t type));
--private int escv_moveto(P6(gx_device_vector * vdev, floatp x0, floatp y0,
-- floatp x, floatp y, gx_path_type_t type));
--private int escv_lineto(P6(gx_device_vector * vdev, floatp x0, floatp y0,
-- floatp x, floatp y, gx_path_type_t type));
--private int escv_curveto(P10(gx_device_vector * vdev, floatp x0, floatp y0,
++#if GS_VERSION_MAJOR >= 8
+private int escv_beginpath(gx_device_vector * vdev, gx_path_type_t type);
+private int escv_moveto(gx_device_vector * vdev, floatp x0, floatp y0,
+ floatp x, floatp y, gx_path_type_t type);
+private int escv_lineto(gx_device_vector * vdev, floatp x0, floatp y0,
+ floatp x, floatp y, gx_path_type_t type);
+private int escv_curveto(gx_device_vector * vdev, floatp x0, floatp y0,
- floatp x1, floatp y1, floatp x2, floatp y2,
-- floatp x3, floatp y3, gx_path_type_t type));
--private int escv_closepath(P6(gx_device_vector * vdev, floatp x, floatp y,
-- floatp x_start, floatp y_start, gx_path_type_t type));
++ floatp x1, floatp y1, floatp x2, floatp y2,
+ floatp x3, floatp y3, gx_path_type_t type);
+private int escv_closepath(gx_device_vector * vdev, floatp x, floatp y,
+ floatp x_start, floatp y_start, gx_path_type_t type);
-
--private int escv_endpath(P2(gx_device_vector * vdev, gx_path_type_t type));
++
+private int escv_endpath(gx_device_vector * vdev, gx_path_type_t type);
++#else
+ private int escv_beginpath(P2(gx_device_vector * vdev, gx_path_type_t type));
+ private int escv_moveto(P6(gx_device_vector * vdev, floatp x0, floatp y0,
+ floatp x, floatp y, gx_path_type_t type));
+@@ -345,6 +368,7 @@
+ floatp x_start, floatp y_start, gx_path_type_t type));
+
+ private int escv_endpath(P2(gx_device_vector * vdev, gx_path_type_t type));
++#endif
private int escv_setlinewidth(gx_device_vector * vdev, floatp width);
private int escv_setlinecap(gx_device_vector * vdev, gs_line_cap cap);
private int escv_setlinejoin(gx_device_vector * vdev, gs_line_join join);
-@@ -1879,13 +1877,13 @@
-
- /* Process the next piece of an image. */
- private int
--#if GS_VERSION_MAJOR == 6
-+#if GS_VERSION_MAJOR >= 6
- escv_image_plane_data(gx_image_enum_common_t *info, const gx_image_plane_t *planes, int height, int *rows_used)
- #else
- escv_image_plane_data(gx_device *dev, gx_image_enum_common_t *info, const gx_image_plane_t *planes, int height)
- #endif
- {
--#if GS_VERSION_MAJOR == 6
-+#if GS_VERSION_MAJOR >= 6
- gx_device *dev = info->dev;
- #endif
- gx_device_vector *const vdev = (gx_device_vector *) dev;
-@@ -1903,7 +1901,7 @@
-
- {
-
--#if GS_VERSION_MAJOR == 6
-+#if GS_VERSION_MAJOR >= 6
- if (height == 260)
- height = 1;
- #endif
-@@ -2041,13 +2039,13 @@
-
-
- private int
--#if GS_VERSION_MAJOR == 6
-+#if GS_VERSION_MAJOR >= 6
- escv_image_end_image(gx_image_enum_common_t * info, bool draw_last)
- #else
- escv_image_end_image(gx_device *dev, gx_image_enum_common_t * info, bool draw_last)
- #endif
- {
--#if GS_VERSION_MAJOR == 6
-+#if GS_VERSION_MAJOR >= 6
- gx_device *dev = info->dev;
- #endif
- gx_device_vector *const vdev = (gx_device_vector *) dev;
diff --git a/print/ghostscript-gpl/files/patch-eplaser:gdevesmv.c b/print/ghostscript-gpl/files/patch-eplaser:gdevesmv.c
index bc6f85a0b807..b18c7503f5f5 100644
--- a/print/ghostscript-gpl/files/patch-eplaser:gdevesmv.c
+++ b/print/ghostscript-gpl/files/patch-eplaser:gdevesmv.c
@@ -1,5 +1,5 @@
---- eplaser/gdevesmv.c.orig Fri Jan 24 13:34:55 2003
-+++ eplaser/gdevesmv.c Tue Mar 25 18:13:37 2003
+--- eplaser/gdevesmv.c.orig Tue Aug 26 19:45:23 2003
++++ eplaser/gdevesmv.c Tue Sep 9 22:08:25 2003
@@ -34,8 +34,6 @@
*/
@@ -9,18 +9,11 @@
#include <string.h>
#include "math_.h"
-@@ -393,30 +391,30 @@
+@@ -407,6 +405,16 @@
/* Vector device implementation */
--private int esmv_beginpage(P1(gx_device_vector * vdev));
--private int esmv_setfillcolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
--private int esmv_setstrokecolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
--private int esmv_setdash(P4(gx_device_vector * vdev, const float *pattern,
-- uint count, floatp offset));
--private int esmv_setflat(P2(gx_device_vector * vdev, floatp flatness));
--private int esmv_setlogop(P3(gx_device_vector * vdev, gs_logical_operation_t lop,
-- gs_logical_operation_t diff));
++#if GS_VERSION_MAJOR >= 8
+private int esmv_beginpage(gx_device_vector * vdev);
+private int esmv_setfillcolor(gx_device_vector * vdev, const gx_drawing_color * pdc);
+private int esmv_setstrokecolor(gx_device_vector * vdev, const gx_drawing_color * pdc);
@@ -29,73 +22,41 @@
+private int esmv_setflat(gx_device_vector * vdev, floatp flatness);
+private int esmv_setlogop(gx_device_vector * vdev, gs_logical_operation_t lop,
+ gs_logical_operation_t diff);
++#else
+ private int esmv_beginpage(P1(gx_device_vector * vdev));
+ private int esmv_setfillcolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
+ private int esmv_setstrokecolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
+@@ -415,10 +423,25 @@
+ private int esmv_setflat(P2(gx_device_vector * vdev, floatp flatness));
+ private int esmv_setlogop(P3(gx_device_vector * vdev, gs_logical_operation_t lop,
+ gs_logical_operation_t diff));
++#endif
private int esmv_vector_dorect(gx_device_vector * vdev, fixed x0, fixed y0, fixed x1,
fixed y1, gx_path_type_t type);
private int esmv_vector_dopath(gx_device_vector * vdev, const gx_path * ppath,
gx_path_type_t type);
--private int esmv_beginpath(P2(gx_device_vector * vdev, gx_path_type_t type));
--private int esmv_moveto(P6(gx_device_vector * vdev, floatp x0, floatp y0,
-- floatp x, floatp y, gx_path_type_t type));
--private int esmv_lineto(P6(gx_device_vector * vdev, floatp x0, floatp y0,
-- floatp x, floatp y, gx_path_type_t type));
--private int esmv_curveto(P10(gx_device_vector * vdev, floatp x0, floatp y0,
++#if GS_VERSION_MAJOR >= 8
+private int esmv_beginpath(gx_device_vector * vdev, gx_path_type_t type);
+private int esmv_moveto(gx_device_vector * vdev, floatp x0, floatp y0,
+ floatp x, floatp y, gx_path_type_t type);
+private int esmv_lineto(gx_device_vector * vdev, floatp x0, floatp y0,
+ floatp x, floatp y, gx_path_type_t type);
+private int esmv_curveto(gx_device_vector * vdev, floatp x0, floatp y0,
- floatp x1, floatp y1, floatp x2, floatp y2,
-- floatp x3, floatp y3, gx_path_type_t type));
--private int esmv_closepath(P6(gx_device_vector * vdev, floatp x, floatp y,
-- floatp x_start, floatp y_start, gx_path_type_t type));
++ floatp x1, floatp y1, floatp x2, floatp y2,
+ floatp x3, floatp y3, gx_path_type_t type);
+private int esmv_closepath(gx_device_vector * vdev, floatp x, floatp y,
+ floatp x_start, floatp y_start, gx_path_type_t type);
-
--private int esmv_endpath(P2(gx_device_vector * vdev, gx_path_type_t type));
++
+private int esmv_endpath(gx_device_vector * vdev, gx_path_type_t type);
++#else
+ private int esmv_beginpath(P2(gx_device_vector * vdev, gx_path_type_t type));
+ private int esmv_moveto(P6(gx_device_vector * vdev, floatp x0, floatp y0,
+ floatp x, floatp y, gx_path_type_t type));
+@@ -431,6 +454,7 @@
+ floatp x_start, floatp y_start, gx_path_type_t type));
+
+ private int esmv_endpath(P2(gx_device_vector * vdev, gx_path_type_t type));
++#endif
private int esmv_setlinewidth(gx_device_vector * vdev, floatp width);
private int esmv_setlinecap(gx_device_vector * vdev, gs_line_cap cap);
private int esmv_setlinejoin(gx_device_vector * vdev, gs_line_join join);
-@@ -1958,13 +1956,13 @@
-
- /* Process the next piece of an image. */
- private int
--#if GS_VERSION_MAJOR == 6
-+#if GS_VERSION_MAJOR >= 6
- esmv_image_plane_data(gx_image_enum_common_t *info, const gx_image_plane_t *planes, int height, int *rows_used)
- #else
- esmv_image_plane_data(gx_device *dev, gx_image_enum_common_t *info, const gx_image_plane_t *planes, int height)
- #endif
- {
--#if GS_VERSION_MAJOR == 6
-+#if GS_VERSION_MAJOR >= 6
- gx_device *dev = info->dev;
- #endif
- gx_device_vector *const vdev = (gx_device_vector *) dev;
-@@ -1982,7 +1980,7 @@
-
- {
-
--#if GS_VERSION_MAJOR == 6
-+#if GS_VERSION_MAJOR >= 6
- if (height == 260)
- height = 1;
- #endif
-@@ -2139,13 +2137,13 @@
-
-
- private int
--#if GS_VERSION_MAJOR == 6
-+#if GS_VERSION_MAJOR >= 6
- esmv_image_end_image(gx_image_enum_common_t * info, bool draw_last)
- #else
- esmv_image_end_image(gx_device * dev, gx_image_enum_common_t * info, bool draw_last)
- #endif
- {
--#if GS_VERSION_MAJOR == 6
-+#if GS_VERSION_MAJOR >= 6
- gx_device *dev = info->dev;
- #endif
- gx_device_vector *const vdev = (gx_device_vector *) dev;
diff --git a/print/ghostscript-gpl/files/patch-lips:gdevl4r.c b/print/ghostscript-gpl/files/patch-lips:gdevl4r.c
index 018f0f93c495..267f26ac8a13 100644
--- a/print/ghostscript-gpl/files/patch-lips:gdevl4r.c
+++ b/print/ghostscript-gpl/files/patch-lips:gdevl4r.c
@@ -1,13 +1,47 @@
--- lips/gdevl4r.c.orig Thu Nov 2 12:09:18 2000
-+++ lips/gdevl4r.c Sun Nov 10 21:12:14 2002
-@@ -178,8 +178,8 @@
++++ lips/gdevl4r.c Fri Sep 12 09:22:08 2003
+@@ -178,8 +178,13 @@
private int lips4c_output_page(gx_device_printer * pdev, FILE * prn_stream);
private int lips_delta_encode(byte * inBuff, byte * prevBuff, byte * outBuff, byte * diffBuff, int Length);
private int lips_byte_cat(byte * TotalBuff, byte * Buff, int TotalLen, int Len);
--private int lips_print_page_copies(P4(gx_device_printer * pdev, FILE * prn_stream, lips_printer_type ptype, int numcopies));
--private int lips_print_page_copies(P4(gx_device_printer * pdev, FILE * prn_stream, lips_printer_type ptype, int numcopies));
++#if GS_VERSION_MAJOR >= 8
+private int lips_print_page_copies(gx_device_printer * pdev, FILE * prn_stream, lips_printer_type ptype, int numcopies);
+private int lips_print_page_copies(gx_device_printer * pdev, FILE * prn_stream, lips_printer_type ptype, int numcopies);
++#else
+ private int lips_print_page_copies(P4(gx_device_printer * pdev, FILE * prn_stream, lips_printer_type ptype, int numcopies));
+ private int lips_print_page_copies(P4(gx_device_printer * pdev, FILE * prn_stream, lips_printer_type ptype, int numcopies));
++#endif
private int lips4type_print_page_copies(gx_device_printer * pdev, FILE * prn_stream, int num_copies, int ptype);
private int
+@@ -1065,11 +1070,11 @@
+ if (paper_size == USER_SIZE) {
+ fprintf(prn_stream, "%c2 I", LIPS_CSI);
+ fprintf(prn_stream, "%c80;%d;%dp", LIPS_CSI,
+- width * 10, height * 10);
++ height * 10, width * 10);
+ } else if (paper_size == USER_SIZE + LANDSCAPE) {
+ fprintf(prn_stream, "%c2 I", LIPS_CSI);
+ fprintf(prn_stream, "%c81;%d;%dp", LIPS_CSI,
+- height * 10, width * 10);
++ width * 10, height * 10);
+ } else {
+ fprintf(prn_stream, "%c%dp", LIPS_CSI, paper_size);
+ }
+@@ -1078,14 +1083,14 @@
+ prev_paper_height != height) {
+ fprintf(prn_stream, "%c2 I", LIPS_CSI);
+ fprintf(prn_stream, "%c80;%d;%dp", LIPS_CSI,
+- width * 10, height * 10);
++ height * 10, width * 10);
+ }
+ } else if (paper_size == USER_SIZE + LANDSCAPE) {
+ if (prev_paper_width != width ||
+ prev_paper_height != height) {
+ fprintf(prn_stream, "%c2 I", LIPS_CSI);
+ fprintf(prn_stream, "%c81;%d;%dp", LIPS_CSI,
+- height * 10, width * 10);
++ width * 10, height * 10);
+ }
+ }
+ /* desired number of copies */
diff --git a/print/ghostscript-gpl/files/patch-lips:gdevl4v.c b/print/ghostscript-gpl/files/patch-lips:gdevl4v.c
index c4b3bfb38e76..91da63b0b63e 100644
--- a/print/ghostscript-gpl/files/patch-lips:gdevl4v.c
+++ b/print/ghostscript-gpl/files/patch-lips:gdevl4v.c
@@ -1,6 +1,6 @@
--- lips/gdevl4v.c.orig Thu Nov 2 12:09:18 2000
-+++ lips/gdevl4v.c Sun Nov 10 21:17:34 2002
-@@ -230,41 +230,35 @@
++++ lips/gdevl4v.c Fri Sep 12 10:11:25 2003
+@@ -230,41 +230,66 @@
};
/* Vector device implementation */
@@ -12,6 +12,7 @@
-private int lips4v_setdash(P4(gx_device_vector * vdev, const float *pattern,
- uint count, floatp offset));
-private int lips4v_setflat(P2(gx_device_vector * vdev, floatp flatness));
++#if GS_VERSION_MAJOR >= 8
+private int lips4v_beginpage(gx_device_vector * vdev);
+private int lips4v_setfillcolor(gx_device_vector * vdev,
+ const gx_drawing_color * pdc);
@@ -20,25 +21,52 @@
+private int lips4v_setdash(gx_device_vector * vdev, const float *pattern,
+ uint count, floatp offset);
+private int lips4v_setflat(gx_device_vector * vdev, floatp flatness);
++private int
++lips4v_setlogop(gx_device_vector * vdev, gs_logical_operation_t lop,
++ gs_logical_operation_t diff);
private int
-lips4v_setlogop(P3
--
+
- (gx_device_vector * vdev, gs_logical_operation_t lop,
- gs_logical_operation_t diff));
++lips4v_beginpath(gx_device_vector * vdev, gx_path_type_t type);
++private int
++lips4v_moveto(gx_device_vector * vdev, floatp x0, floatp y0, floatp x,
++ floatp y, gx_path_type_t type);
++private int
++lips4v_lineto(gx_device_vector * vdev, floatp x0, floatp y0, floatp x,
++ floatp y, gx_path_type_t type);
++private int
++lips4v_curveto(gx_device_vector * vdev, floatp x0, floatp y0, floatp x1,
++ floatp y1, floatp x2, floatp y2, floatp x3, floatp y3,
++ gx_path_type_t type);
++lips4v_closepath(gx_device_vector * vdev, floatp x, floatp y, floatp x_start,
++ floatp y_start, gx_path_type_t type);
++
++private int lips4v_endpath(gx_device_vector * vdev, gx_path_type_t type);
++#else
++private int lips4v_beginpage(P1(gx_device_vector * vdev));
++private int lips4v_setfillcolor(gx_device_vector * vdev,
++ const gx_drawing_color * pdc);
++private int lips4v_setstrokecolor(gx_device_vector * vdev,
++ const gx_drawing_color * pdc);
++private int lips4v_setdash(gx_device_vector * vdev, const float *pattern,
++ uint count, floatp offset);
++private int lips4v_setflat(gx_device_vector * vdev, floatp flatness);
++private int
+lips4v_setlogop(gx_device_vector * vdev, gs_logical_operation_t lop,
+ gs_logical_operation_t diff);
private int
-lips4v_beginpath(P2(gx_device_vector * vdev, gx_path_type_t type));
+lips4v_beginpath(gx_device_vector * vdev, gx_path_type_t type);
-+private int
-+lips4v_moveto(gx_device_vector * vdev, floatp x0, floatp y0, floatp x,
-+ floatp y, gx_path_type_t type);
private int
-lips4v_moveto(P6
- (gx_device_vector * vdev, floatp x0, floatp y0, floatp x,
- floatp y, gx_path_type_t type));
--private int
++lips4v_moveto(gx_device_vector * vdev, floatp x0, floatp y0, floatp x,
++ floatp y, gx_path_type_t type);
+ private int
-lips4v_lineto(P6
- (gx_device_vector * vdev, floatp x0, floatp y0, floatp x,
- floatp y, gx_path_type_t type));
@@ -60,6 +88,35 @@
-private int lips4v_endpath(P2(gx_device_vector * vdev, gx_path_type_t type));
+private int lips4v_endpath(gx_device_vector * vdev, gx_path_type_t type);
++#endif
private int lips4v_setlinewidth(gx_device_vector * vdev, floatp width);
private int lips4v_setlinecap(gx_device_vector * vdev, gs_line_cap cap);
private int lips4v_setlinejoin(gx_device_vector * vdev, gs_line_join join);
+@@ -758,10 +783,10 @@
+ /* 用紙サイズ */
+ if (pdev->prev_paper_size != paper_size) {
+ if (paper_size == USER_SIZE) {
+- sprintf(paper, "%c80;%d;%dp", LIPS_CSI, width * 10, height * 10);
++ sprintf(paper, "%c80;%d;%dp", LIPS_CSI, height * 10, width * 10);
+ lputs(s, paper);
+ } else if (paper_size == USER_SIZE + LANDSCAPE) {
+- sprintf(paper, "%c81;%d;%dp", LIPS_CSI, height * 10, width * 10);
++ sprintf(paper, "%c81;%d;%dp", LIPS_CSI, width * 10, height * 10);
+ lputs(s, paper);
+ } else {
+ sprintf(paper, "%c%dp", LIPS_CSI, paper_size);
+@@ -770,12 +795,12 @@
+ } else if (paper_size == USER_SIZE) {
+ if (pdev->prev_paper_width != width ||
+ pdev->prev_paper_height != height)
+- sprintf(paper, "%c80;%d;%dp", LIPS_CSI, width * 10, height * 10);
++ sprintf(paper, "%c80;%d;%dp", LIPS_CSI, height * 10, width * 10);
+ lputs(s, paper);
+ } else if (paper_size == USER_SIZE + LANDSCAPE) {
+ if (pdev->prev_paper_width != width ||
+ pdev->prev_paper_height != height)
+- sprintf(paper, "%c81;%d;%dp", LIPS_CSI, height * 10, width * 10);
++ sprintf(paper, "%c81;%d;%dp", LIPS_CSI, width * 10, height * 10);
+ lputs(s, paper);
+ }
+ pdev->prev_paper_size = paper_size;
diff --git a/print/ghostscript-gpl/files/patch-lips:gdevlips.mak b/print/ghostscript-gpl/files/patch-lips:gdevlips.mak
new file mode 100644
index 000000000000..a434f739a5fa
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-lips:gdevlips.mak
@@ -0,0 +1,59 @@
+--- lips/gdevlips.mak.orig Thu Nov 2 12:12:13 2000
++++ lips/gdevlips.mak Sat Sep 27 22:16:20 2003
+@@ -1,17 +1,19 @@
+ # ---------------- Laser Printer devices ---------------- #
+ # $Id: gdevlips.mak $
+
++lips_opts=-DGS_VERSION_MAJOR=$(GS_VERSION_MAJOR)
++
+ $(GLOBJ)gdevlprn.$(OBJ): $(GLSRC)gdevlprn.c $(GLSRC)gdevlprn.h\
+ $(gdevprn_h) $(PDEVH)
+- $(GLCC) $(GLO_)gdevlprn.$(OBJ) $(C_) $(GLSRC)gdevlprn.c
++ $(GLCC) $(GLO_)gdevlprn.$(OBJ) $(C_) $(lips_opts) $(GLSRC)gdevlprn.c
+
+ ### --- The Canon LIPS II+/III/IVc/IV printer device --- ###
+
+ lipsr_=$(GLOBJ)gdevl4r.$(OBJ) $(GLOBJ)gdevlips.$(OBJ) $(GLOBJ)gdevlprn.$(OBJ)
+ $(GLOBJ)gdevl4r.$(OBJ): $(GLSRC)gdevl4r.c $(GLSRC)gdevlips.h $(PDEVH)
+- $(GLCC) -DA4 $(GLO_)gdevl4r.$(OBJ) $(C_) $(GLSRC)gdevl4r.c
++ $(GLCC) -DA4 $(GLO_)gdevl4r.$(OBJ) $(C_) $(lips_opts) $(GLSRC)gdevl4r.c
+ $(GLOBJ)gdevlips.$(OBJ): $(GLSRC)gdevlips.c
+- $(GLCC) $(GLO_)gdevlips.$(OBJ) $(C_) $(GLSRC)gdevlips.c
++ $(GLCC) $(GLO_)gdevlips.$(OBJ) $(C_) $(lips_opts) $(GLSRC)gdevlips.c
+ $(DD)lips2p.dev: $(lipsr_) $(DD)page.dev
+ $(SETPDEV) $(DD)lips2p $(lipsr_)
+ $(DD)lips3.dev: $(lipsr_) $(DD)page.dev
+@@ -29,13 +31,13 @@
+ $(GLOBJ)gdevl4v.$(OBJ): $(GLSRC)gdevl4v.c $(GLSRC)gdevlips.h $(GDEV) $(math__h)\
+ $(gscspace_h) $(gsutil_h) $(gsparam_h) $(gsmatrix_h) $(gdevvec_h)\
+ $(ghost_h) $(gzstate_h) $(igstate_h)
+- $(GLCC) -DA4 $(GLO_)gdevl4v.$(OBJ) $(C_) $(GLSRC)gdevl4v.c
++ $(GLCC) -DA4 $(GLO_)gdevl4v.$(OBJ) $(C_) $(lips_opts) $(GLSRC)gdevl4v.c
+
+ ### ------- Epson ESC/Page printer device ----------------- ###
+
+ escpage_=$(GLOBJ)gdevespg.$(OBJ) $(GLOBJ)gdevlprn.$(OBJ)
+ $(GLOBJ)gdevespg.$(OBJ): $(GLSRC)gdevespg.c $(GLSRC)gdevlprn.h $(PDEVH)
+- $(GLCC) -DA4 $(GLO_)gdevespg.$(OBJ) $(C_) $(GLSRC)gdevespg.c
++ $(GLCC) -DA4 $(GLO_)gdevespg.$(OBJ) $(C_) $(lips_opts) $(GLSRC)gdevespg.c
+
+ $(GLOBJ)escpage.dev: $(escpage_) $(DD)page.dev
+ $(SETPDEV) $(DD)escpage $(escpage_)
+@@ -47,7 +49,7 @@
+
+ npdl_=$(GLOBJ)gdevnpdl.$(OBJ) $(GLOBJ)gdevlprn.$(OBJ)
+ $(GLOBJ)gdevnpdl.$(OBJ): $(GLSRC)gdevnpdl.c $(GLSRC)gdevlprn.h $(PDEVH)
+- $(GLCC) -DA4 $(GLO_)gdevnpdl.$(OBJ) $(C_) $(GLSRC)gdevnpdl.c
++ $(GLCC) -DA4 $(GLO_)gdevnpdl.$(OBJ) $(C_) $(lips_opts) $(GLSRC)gdevnpdl.c
+
+ $(GLOBJ)npdl.dev: $(npdl_) $(DD)page.dev
+ $(SETPDEV) $(DD)npdl $(npdl_)
+@@ -56,7 +58,7 @@
+
+ rpdl_=$(GLOBJ)gdevrpdl.$(OBJ) $(GLOBJ)gdevlprn.$(OBJ)
+ $(GLOBJ)gdevrpdl.$(OBJ): $(GLSRC)gdevrpdl.c $(GLSRC)gdevlprn.h $(PDEVH)
+- $(GLCC) -DA4 $(GLO_)gdevrpdl.$(OBJ) $(C_) $(GLSRC)gdevrpdl.c
++ $(GLCC) -DA4 $(GLO_)gdevrpdl.$(OBJ) $(C_) $(lips_opts) $(GLSRC)gdevrpdl.c
+
+ $(GLOBJ)rpdl.dev: $(rpdl_) $(DD)page.dev
+ $(SETPDEV) $(DD)rpdl $(rpdl_)
diff --git a/print/ghostscript-gpl/files/patch-lips:gdevlprn.h b/print/ghostscript-gpl/files/patch-lips:gdevlprn.h
index f8169e113db7..f692dbe410a2 100644
--- a/print/ghostscript-gpl/files/patch-lips:gdevlprn.h
+++ b/print/ghostscript-gpl/files/patch-lips:gdevlprn.h
@@ -1,11 +1,16 @@
--- lips/gdevlprn.h.orig Thu Nov 2 12:09:18 2000
-+++ lips/gdevlprn.h Sun Nov 10 21:11:22 2002
-@@ -29,7 +29,7 @@
++++ lips/gdevlprn.h Sat Sep 13 23:06:38 2003
+@@ -28,8 +28,13 @@
+
#include "gdevprn.h"
- #define lprn_dev_proc_image_out(proc)\
-- void proc(P6(gx_device_printer *, FILE *, int, int, int, int))
++#if GS_VERSION_MAJOR >= 8
++#define lprn_dev_proc_image_out(proc)\
+ void proc(gx_device_printer *, FILE *, int, int, int, int)
++#else
+ #define lprn_dev_proc_image_out(proc)\
+ void proc(P6(gx_device_printer *, FILE *, int, int, int, int))
++#endif
#define dev_proc_image_out(proc) lprn_dev_proc_image_out(proc)
diff --git a/print/ghostscript-gpl/files/patch-src:gxobj.h b/print/ghostscript-gpl/files/patch-src:gxobj.h
index e3dca6b573f6..1b3bb6758042 100644
--- a/print/ghostscript-gpl/files/patch-src:gxobj.h
+++ b/print/ghostscript-gpl/files/patch-src:gxobj.h
@@ -1,17 +1,18 @@
---- src/gxobj.h.orig Fri Feb 22 07:24:53 2002
-+++ src/gxobj.h Fri Dec 20 22:56:03 2002
-@@ -103,10 +103,14 @@
+--- src/gxobj.h.orig Thu Feb 21 14:24:53 2002
++++ src/gxobj.h Sat Sep 27 19:17:17 2003
+@@ -103,11 +103,15 @@
* required by the hardware, regardless of the value of obj_align_mod.
* See gsmemraw.h for more information about this.
*/
-+#if !defined(__ia64__)
++#if !defined(__ia64__) && !defined(__amd64__)
#define obj_align_mod\
(((arch_align_memory_mod - 1) |\
(align_bitmap_mod - 1) |\
(obj_back_scale - 1)) + 1)
+ /* The only possible values for obj_align_mod are 4, 8, or 16.... */
+#else
-+#define obj_align_mod 16
++#define obj_align_mod 16
+#endif
- /* The only possible values for obj_align_mod are 4, 8, or 16.... */
#if obj_align_mod == 4
# define log2_obj_align_mod 2
+ #else