From owner-ports-jp@jp.FreeBSD.org Thu Jan 17 02:13:45 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g0GHDjr78196;
	Thu, 17 Jan 2002 02:13:45 +0900 (JST)
	(envelope-from owner-ports-jp@jp.FreeBSD.org)
Received: from serio.al.rim.or.jp (serio.al.rim.or.jp [202.247.191.123])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g0GHDjm78191
	for <ports-jp@jp.FreeBSD.org>; Thu, 17 Jan 2002 02:13:45 +0900 (JST)
	(envelope-from tnakai@yo.rim.or.jp)
Received: from mail3.rim.or.jp
	by serio.al.rim.or.jp (3.7W/HMX-13) id CAA14307
	for <ports-jp@jp.FreeBSD.org>; Thu, 17 Jan 2002 02:13:44 +0900 (JST)
Received: from miyu.takamagahara.net.yo.rim.or.jp (tcatgi002233.adsl.ppp.infoweb.ne.jp [61.210.68.233]) by mail3.rim.or.jp (8.9.3/3.7W)
	id CAA08211 for <ports-jp@jp.FreeBSD.org>; Thu, 17 Jan 2002 02:13:43 +0900 (JST)
Message-Id: <200201161713.CAA08211@mail3.rim.or.jp>
To: ports-jp@jp.FreeBSD.org
References: <20020114223040.229D946EE7@edison.ee.t.u-tokyo.ac.jp>
 <20020115235057.1.21333.qmail@ma2.justnet.ne.jp>
From: tnakai@yo.rim.or.jp (tnakai@yo.rim.or.jp)
Date: 17 Jan 2002 02:13:36 +0900
In-Reply-To: <20020115235057.1.21333.qmail@ma2.justnet.ne.jp>
 (MITA Yoshio's message of "Tue, 15 Jan 2002 23:50:57 +0900")
Lines: 2208
User-Agent: T-gnus/6.14.6 (based on Gnus v5.8.8) (revision 04) SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) Emacs/20.7 (i386--freebsd) MULE/4.0 (HANANOEN)
MIME-Version: 1.0 (split by SEMI 1.13.7 - "Awazu")
Content-Type: message/partial; id="Thu_Jan_17_02:13:36_2002@miyu.takamagahara.net"; number=2; total=3
Reply-To: ports-jp@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+011218
X-Sequence: ports-jp 12187
Subject: [ports-jp 12187] Re: print/ghostscript-cjk (2/3)
Errors-To: owner-ports-jp@jp.FreeBSD.org
Sender: owner-ports-jp@jp.FreeBSD.org
X-Originator: tnakai@miyu.takamagahara.net

-     if (width < 1)
-@@ -891,7 +917,7 @@
- 
-     lputs(s, "F1");
-     sput_lips_int(s, width);
--    lputs(s, LIPS_IS2);
-+    sputc(s, LIPS_IS2);
- 
-     return 0;
- }
-@@ -905,7 +931,8 @@
-     int line_cap = 0;
- 
-     if (pdev->TextMode) {
--	lputs(s, LIPS_CSI "&}");
-+	sputc(s, LIPS_CSI);
-+	lputs(s, "&}");
- 	pdev->TextMode = FALSE;
-     }
-     switch (cap) {
-@@ -921,7 +948,7 @@
- 	break;
-     }
-     /* $B@~C<7A>u;XDjL?Na(B */
--    sprintf(c, "}E%d" LIPS_IS2, line_cap);
-+    sprintf(c, "}E%d%c", line_cap, LIPS_IS2);
-     lputs(s, c);
- 
-     pdev->linecap = cap;
-@@ -940,7 +967,8 @@
-     int lips_join = 0;
- 
-     if (pdev->TextMode) {
--	lputs(s, LIPS_CSI "&}");
-+	sputc(s, LIPS_CSI);
-+	lputs(s, "&}");
- 	pdev->TextMode = FALSE;
-     }
- 
-@@ -960,7 +988,7 @@
- 	break;
-     }
- 
--    sprintf(c, "}F%d" LIPS_IS2, lips_join);
-+    sprintf(c, "}F%d%c", lips_join, LIPS_IS2);
-     lputs(s, c);
- 
-     return 0;
-@@ -974,14 +1002,15 @@
-     floatp lips_miterlimit;
- 
-     if (pdev->TextMode) {
--	lputs(s, LIPS_CSI "&}");
-+	sputc(s, LIPS_CSI);
-+	lputs(s, "&}");
- 	pdev->TextMode = FALSE;
-     }
-     lips_miterlimit = (16383.0 * 2.0) / limit;
- 
-     lputs(s, "}M");
-     sput_lips_int(s, lips_miterlimit);
--    lputs(s, LIPS_IS2);
-+    sputc(s, LIPS_IS2);
- 
-     return 0;
- }
-@@ -1008,15 +1037,19 @@
- 	}
- 
- 	if (pdev->TextMode) {
--	    lputs(s, LIPS_CSI "&}");
-+	    sputc(s, LIPS_CSI);
-+	    lputs(s, "&}");
- 	    pdev->TextMode = FALSE;
- 	}
- 	pdev->current_color = color;
- 
--	if (color == gx_no_color_index)
--	    lputs(s, "I0" LIPS_IS2);
--	else
--	    lputs(s, "I1" LIPS_IS2);
-+	if (color == gx_no_color_index) {
-+	    lputs(s, "I0");
-+	    sputc(s, LIPS_IS2);
-+	} else {
-+	    lputs(s, "I1");
-+	    sputc(s, LIPS_IS2);
-+	}
- 
- 	/* $BEI$j$D$V$7%+%i!<;XDjL?Na(B */
- 	/* J {color} IS2 */
-@@ -1028,7 +1061,7 @@
- 	    sput_lips_int(s, g);
- 	    sput_lips_int(s, b);
- 	}
--	lputs(s, LIPS_IS2);
-+	sputc(s, LIPS_IS2);
- 
- 	/* $BC1?'%$%a!<%8!&%+%i!<;XDjL?Na(B */
- 	/* }T {color} IS2 */
-@@ -1040,7 +1073,7 @@
- 	    sput_lips_int(s, g);
- 	    sput_lips_int(s, b);
- 	}
--	lputs(s, LIPS_IS2);
-+	sputc(s, LIPS_IS2);
-     }
-     return 0;
- }
-@@ -1063,7 +1096,8 @@
- 	}
- 
- 	if (pdev->TextMode) {
--	    lputs(s, LIPS_CSI "&}");
-+	    sputc(s, LIPS_CSI);
-+	    lputs(s, "&}");
- 	    pdev->TextMode = FALSE;
- 	}
- 	/* $B%i%$%s%+%i!<;XDjL?Na(B */
-@@ -1076,7 +1110,7 @@
- 	    sput_lips_int(s, g);
- 	    sput_lips_int(s, b);
- 	}
--	lputs(s, LIPS_IS2);
-+	sputc(s, LIPS_IS2);
-     }
-     return 0;
- }
-@@ -1092,10 +1126,11 @@
-     float scale, xscale, yscale;
- 
-     if (pdev->TextMode) {
--	lputs(s, LIPS_CSI "&}");
-+	sputc(s, LIPS_CSI);
-+	lputs(s, "&}");
- 	pdev->TextMode = FALSE;
-     }
--#if 1
-+#if 0
-     /* Scale $B$r3]$1$F$$$k$N$O(B, Ghostscript 5.10/5.50 $B$N%P%0$N$?$a(B */
-     xscale = fabs(igs->ctm.xx);
-     yscale = fabs(igs->ctm.xy);
-@@ -1107,10 +1142,13 @@
- #endif
- 
-     if (count == 0) {
--	lputs(s, "E10" LIPS_IS2);
-+	lputs(s, "E10");
-+	sputc(s, LIPS_IS2);
-     } else {
--	lputs(s, "}d\x2C" "1");
--#if 1
-+	lputs(s, "}d");
-+	sputc(s, 0x2c);
-+	lputs(s, "1");
-+#if 0
- 	sput_lips_int(s, offset * scale / vdev->x_pixels_per_inch + 0.5);
- #else
- 	sput_lips_int(s, offset);
-@@ -1120,7 +1158,7 @@
- 		if (i == 0) {
- 		    sput_lips_int(s, 1);
- 		} else {
--#if 1
-+#if 0
- 		    sput_lips_int(s,
- 				  pattern[i] * scale /
- 				  vdev->x_pixels_per_inch - 0.5);
-@@ -1129,7 +1167,7 @@
- #endif
- 		}
- 	    } else {
--#if 1
-+#if 0
- 		sput_lips_int(s,
- 			      pattern[i] * scale / vdev->x_pixels_per_inch +
- 			      0.5);
-@@ -1138,7 +1176,11 @@
- #endif
- 	    }
- 	}
--	lputs(s, LIPS_IS2 "E1\x2C" "0" LIPS_IS2);
-+	sputc(s, LIPS_IS2);
-+	lputs(s, "E1");
-+	sputc(s, 0x2c);
-+	lputs(s, "0");
-+	sputc(s, LIPS_IS2);
-     }
- 
-     return 0;
-@@ -1152,12 +1194,13 @@
-     gx_device_lips4v *const pdev = (gx_device_lips4v *) vdev;
- 
-     if (pdev->TextMode) {
--	lputs(s, LIPS_CSI "&}");
-+	sputc(s, LIPS_CSI);
-+	lputs(s, "&}");
- 	pdev->TextMode = FALSE;
-     }
-     lputs(s, "Pf");
-     sput_lips_int(s, flatness);
--    lputs(s, LIPS_IS2);
-+    sputc(s, LIPS_IS2);
- 
-     return 0;
- }
-@@ -1177,14 +1220,17 @@
-     gx_device_lips4v *const pdev = (gx_device_lips4v *) vdev;
- 
-     if (pdev->TextMode) {
--	lputs(s, LIPS_CSI "&}");
-+	sputc(s, LIPS_CSI);
-+	lputs(s, "&}");
- 	pdev->TextMode = FALSE;
-     }
-     /* $B%Q%99=C[3+;OL?Na(B */
-     if (type & gx_path_type_clip) {
--	lputs(s, "P(10" LIPS_IS2);
-+	lputs(s, "P(10");
-+	sputc(s, LIPS_IS2);
-     } else
--	lputs(s, "P(00" LIPS_IS2);
-+	lputs(s, "P(00");
-+	sputc(s, LIPS_IS2);
- 
-     return 0;
- }
-@@ -1199,7 +1245,7 @@
-     lputs(s, "p10");
-     sput_lips_int(s, x);
-     sput_lips_int(s, y);
--    lputs(s, LIPS_IS2);
-+    sputc(s, LIPS_IS2);
- 
-     return 0;
- }
-@@ -1221,7 +1267,7 @@
-     lputs(s, "p402");
-     sput_lips_int(s, x);
-     sput_lips_int(s, y);
--    lputs(s, LIPS_IS2);
-+    sputc(s, LIPS_IS2);
- 
-     return 0;
- }
-@@ -1241,7 +1287,7 @@
-     sput_lips_int(s, y2);
-     sput_lips_int(s, x3);
-     sput_lips_int(s, y3);
--    lputs(s, LIPS_IS2);
-+    sputc(s, LIPS_IS2);
- 
-     return 0;
- }
-@@ -1252,7 +1298,8 @@
- {
-     stream *s = gdev_vector_stream(vdev);
- 
--    lputs(s, "p0" LIPS_IS2);
-+    lputs(s, "p0");
-+    sputc(s, LIPS_IS2);
-     return 0;
- }
- 
-@@ -1261,26 +1308,33 @@
- {
-     stream *s = gdev_vector_stream(vdev);
- 
--    lputs(s, "P)" LIPS_IS2);
-+    lputs(s, "P)");
-+    sputc(s, LIPS_IS2);
-     if (type & gx_path_type_rule) {
- 	if (type & gx_path_type_winding_number) {
--	    lputs(s, "}I1" LIPS_IS2);
-+	    lputs(s, "}I1");
-+	    sputc(s, LIPS_IS2);
- 	} else {
--	    lputs(s, "}I0" LIPS_IS2);
-+	    lputs(s, "}I0");
-+	    sputc(s, LIPS_IS2);
- 	}
-     }
-     if (type & gx_path_type_fill) {
- 	if (type & gx_path_type_stroke) {
--	    lputs(s, "P&00" LIPS_IS2);
-+	    lputs(s, "P&00");
-+	    sputc(s, LIPS_IS2);
- 	} else {
--	    lputs(s, "PF00" LIPS_IS2);
-+	    lputs(s, "PF00");
-+	    sputc(s, LIPS_IS2);
- 	}
-     }
-     if (type & gx_path_type_stroke) {
--	lputs(s, "PS00" LIPS_IS2);
-+	lputs(s, "PS00");
-+	sputc(s, LIPS_IS2);
-     }
-     if (type & gx_path_type_clip) {
--	lputs(s, "PC10" LIPS_IS2);
-+	lputs(s, "PC10");
-+	sputc(s, LIPS_IS2);
-     }
-     return 0;
- }
-@@ -1327,19 +1381,23 @@
-     char str[6];
- 
-     if (pdev->TextMode) {
--	lputs(s, LIPS_CSI "&}");
-+	sputc(s, LIPS_CSI);
-+	lputs(s, "&}");
- 	pdev->TextMode = FALSE;
-     }
--    lputs(s, "%" LIPS_IS2 "}p" LIPS_IS2);
-+    lputs(s, "%");
-+    sputc(s, LIPS_IS2);
-+    lputs(s, "}p");
-+    sputc(s, LIPS_IS2);
- 
-     if (num_copies > 255)
- 	num_copies = 255;
-     if (pdev->prev_num_copies != num_copies) {
--	sprintf(str, LIPS_CSI "%dv", num_copies);
-+	sprintf(str, "%c%dv", LIPS_CSI, num_copies);
- 	lputs(s, str);
- 	pdev->prev_num_copies = num_copies;
-     }
--    lputs(s, LIPS_FF);
-+    sputc(s, LIPS_FF);
-     sflush(s);
-     vdev->in_page = false;
-     pdev->first_page = false;
-@@ -1354,12 +1412,12 @@
-     gx_device_lips4v *const pdev = (gx_device_lips4v *) dev;
-     FILE *f = vdev->file;
- 
--    fprintf(f, LIPS_DCS "0J" LIPS_ST);
-+    fprintf(f, "%c0J%c", LIPS_DCS, LIPS_ST);
-     if (pdev->pjl) {
--	fprintf(f, LIPS_ESC "%%-12345X@PJL SET LPARM : LIPS SW2 = OFF\n");
-+	fprintf(f, "%c%%-12345X@PJL SET LPARM : LIPS SW2 = OFF\n", LIPS_ESC);
- 	fprintf(f,
--		LIPS_ESC "%%-12345X" LIPS_ESC "%%-12345X@PJL EOJ\n" LIPS_ESC
--		"%%-12345X");
-+		"%c%%-12345X%c%%-12345X@PJL EOJ\n"
-+		"%c%%-12345X", LIPS_ESC, LIPS_ESC, LIPS_ESC);
-     }
-     gdev_vector_close_file(vdev);
- 
-@@ -1526,10 +1584,10 @@
- 	    int i;
- 
- 	    for (i = 0; i < usern.size; i++)
--		if (usern.data[i] < '\x20' || usern.data[i] > '\x7e'
-+		if (usern.data[i] < 0x20 || usern.data[i] > 0x7e
- 		    /*
--		       && usern.data[i] < '\xa0') ||
--		       usern.data[i] > '\xfe'
-+		       && usern.data[i] < 0xa0) ||
-+		       usern.data[i] > 0xfe
- 		     */
- 		    ) {
- 		    ecode = gs_error_rangecheck;
-@@ -1729,7 +1787,8 @@
- 	    return 0;
-     }
-     if (pdev->TextMode) {
--	lputs(s, LIPS_CSI "&}");
-+	sputc(s, LIPS_CSI);
-+	lputs(s, "&}");
- 	pdev->TextMode = FALSE;
-     }
-     /*
-@@ -1742,7 +1801,8 @@
- 	    return 0;
- 	/* one $B?'$K@w$a!"F)2a$K$9$k(B */
- 	if (pdev->MaskState != 1) {
--	    lputs(s, "}H1" LIPS_IS2);
-+	    lputs(s, "}H1");
-+	    sputc(s, LIPS_IS2);
- 	    pdev->MaskState = 1;
- 	}
- 	if (pdev->color_info.depth == 8) {
-@@ -1750,7 +1810,7 @@
- 
- 	    lputs(s, "}T");
- 	    sput_lips_int(s, one_color);
--	    lputs(s, LIPS_IS2);
-+	    sputc(s, LIPS_IS2);
- 	} else {
- 	    r = (one >> 16) * 1000.0 / 255.0;
- 	    g = ((one >> 8) & 0xff) * 1000.0 / 255.0;
-@@ -1759,7 +1819,7 @@
- 	    sput_lips_int(s, r);
- 	    sput_lips_int(s, g);
- 	    sput_lips_int(s, b);
--	    lputs(s, LIPS_IS2);
-+	    sputc(s, LIPS_IS2);
- 	}
-     } else if (one == gx_no_color_index)
- 	/* 1bit $B$OF)L@(B $B%S%C%HH?E>!&(Bzero $B?'$K@w$a$k(B */
-@@ -1767,13 +1827,14 @@
- 	gx_color_index zero_color = vdev->color_info.max_gray - zero;
- 
- 	if (pdev->MaskState != 1) {
--	    lputs(s, "}H1" LIPS_IS2);
-+	    lputs(s, "}H1");
-+	    sputc(s, LIPS_IS2);
- 	    pdev->MaskState = 1;
- 	}
- 	if (pdev->color_info.depth == 8) {
- 	    lputs(s, "}T");
- 	    sput_lips_int(s, zero_color);
--	    lputs(s, LIPS_IS2);
-+	    sputc(s, LIPS_IS2);
- 	} else {
- 	    r = (zero >> 16) * 1000.0 / 255.0;
- 	    g = ((zero >> 8) & 0xff) * 1000.0 / 255.0;
-@@ -1782,20 +1843,21 @@
- 	    sput_lips_int(s, r);
- 	    sput_lips_int(s, g);
- 	    sput_lips_int(s, b);
--	    lputs(s, LIPS_IS2);
-+	    sputc(s, LIPS_IS2);
- 	}
-     } else if (one == vdev->white) {
- 	/* $B%S%C%HH?E>(B $BGrEI$j(B  zero $B?'$K@w$a$k(B */
- 	gx_color_index zero_color = vdev->color_info.max_gray - zero;
- 
- 	if (pdev->MaskState != 0) {
--	    lputs(s, "}H0" LIPS_IS2);
-+	    lputs(s, "}H0");
-+	    sputc(s, LIPS_IS2);
- 	    pdev->MaskState = 0;
- 	}
- 	if (pdev->color_info.depth == 8) {
- 	    lputs(s, "}T");
- 	    sput_lips_int(s, zero_color);
--	    lputs(s, LIPS_IS2);
-+	    sputc(s, LIPS_IS2);
- 	} else {
- 	    r = (zero >> 16) * 1000.0 / 255.0;
- 	    g = ((zero >> 8) & 0xff) * 1000.0 / 255.0;
-@@ -1804,7 +1866,7 @@
- 	    sput_lips_int(s, r);
- 	    sput_lips_int(s, g);
- 	    sput_lips_int(s, b);
--	    lputs(s, LIPS_IS2);
-+	    sputc(s, LIPS_IS2);
- 	}
-     } else {
- 	if (zero != gx_no_color_index) {
-@@ -1813,7 +1875,8 @@
- 		return code;
- 	}
- 	if (pdev->MaskState != 1) {
--	    lputs(s, "}H1" LIPS_IS2);
-+	    lputs(s, "}H1");
-+	    sputc(s, LIPS_IS2);
- 	    pdev->MaskState = 1;
- 	}
- 	color_set_pure(&color, one);
-@@ -1829,7 +1892,8 @@
-     sput_lips_int(s, dpi * 100);
-     sput_lips_int(s, h);	/* Height */
-     sput_lips_int(s, w);	/* Width */
--    lputs(s, "100110" LIPS_IS2);
-+    lputs(s, "100110");
-+    sputc(s, LIPS_IS2);
- 
-     lputs(s, "}Q11");
- 
-@@ -1899,13 +1963,15 @@
- 	lips4v_setfillcolor(vdev, &dcolor);
-     } else {
- 	if (pdev->TextMode) {
--	    lputs(s, LIPS_CSI "&}");
-+	    sputc(s, LIPS_CSI);
-+	    lputs(s, "&}");
- 	    pdev->TextMode = FALSE;
- 	}
-     }
- 
-     if (pdev->MaskState != 0) {
--	lputs(s, "}H0" LIPS_IS2);	/* $BO@M}IA2h@_DjL?Na(B */
-+	lputs(s, "}H0");	/* $BO@M}IA2h@_DjL?Na(B */
-+	sputc(s, LIPS_IS2);
- 	pdev->MaskState = 0;
-     }
-     lputs(s, "}P");
-@@ -1917,7 +1983,8 @@
-     sput_lips_int(s, w);
-     sput_lips_int(s, depth / num_components);
-     sputc(s, depth < 24 ? '0' : ':');	/* 24 bit $B$N$H$-E@=g<!(B */
--    lputs(s, "0110" LIPS_IS2);
-+    lputs(s, "0110");
-+    sputc(s, LIPS_IS2);
- 
-     {
- 	int i;
-@@ -1974,12 +2041,14 @@
- 	    return 0;
-     }
-     if (pdev->TextMode) {
--	lputs(s, LIPS_CSI "&}");
-+	sputc(s, LIPS_CSI);
-+	lputs(s, "&}");
- 	pdev->TextMode = FALSE;
-     }
-     /* $B=q$-$@$7(B */
-     if (pdev->MaskState != 1) {
--	lputs(s, "}H1" LIPS_IS2);	/* $BO@M}IA2h@_DjL?Na(B */
-+	lputs(s, "}H1");	/* $BO@M}IA2h@_DjL?Na(B */
-+	sputc(s, LIPS_IS2);
- 	pdev->MaskState = 1;
-     }
-     lputs(s, "}P");
-@@ -1989,7 +2058,8 @@
-     sput_lips_int(s, dpi * 100);
-     sput_lips_int(s, h);
-     sput_lips_int(s, w);
--    lputs(s, "100110" LIPS_IS2);
-+    lputs(s, "100110");
-+    sputc(s, LIPS_IS2);
- 
-     lputs(s, "}Q11");
- 
-@@ -2114,7 +2184,8 @@
- 	int interpolate = 0;
- 
- 	if (pdev->TextMode) {
--	    lputs(s, LIPS_CSI "&}");
-+	    sputc(s, LIPS_CSI);
-+	    lputs(s, "&}");
- 	    pdev->TextMode = FALSE;
- 	}
- 	gs_matrix_invert(&pim->ImageMatrix, &imat);
-@@ -2156,19 +2227,21 @@
- 		sput_lips_int(s, by - cy);
- 		sput_lips_int(s, dx - bx);
- 		sput_lips_int(s, dy - by);
--		lputs(s, LIPS_IS2);
-+		sputc(s, LIPS_IS2);
- 		return 0;
- 	    } else {
- 		/* $BIA2hO@M}@_DjL?Na(B - $BF)2a(B */
- 		if (pdev->MaskState != 1) {
--		    lputs(s, "}H1" LIPS_IS2);
-+		    lputs(s, "}H1");
-+		    sputc(s, LIPS_IS2);
- 		    pdev->MaskState = 1;
- 		}
- 	    }
- 	} else {
- 	    /* $BIA2hO@M}@_DjL?Na(B - $BGrEI$j(B */
- 	    if (pdev->MaskState != 0) {
--		lputs(s, "}H0" LIPS_IS2);
-+		lputs(s, "}H0");
-+		sputc(s, LIPS_IS2);
- 		pdev->MaskState = 0;
- 	    }
- 	    pdev->ncomp = num_components;
-@@ -2198,23 +2271,25 @@
- 		lputs(s, "0");
- 	    else {
- 		if (format == gs_image_format_chunky)	/* RGBRGBRGB... */
--		    lputs(s, "\x3A");
-+		    sputc(s, 0x3a);
- 		else		/* RRR...GGG...BBB... */
--		    lputs(s, "\x3B");
-+		    sputc(s, 0x3b);
- 	    }
- 	}
- 	if (interpolate > 0)
- 	    sput_lips_int(s, interpolate);
--	lputs(s, LIPS_IS2);
-+	sputc(s, LIPS_IS2);
-     }
-     return 0;
- }
- 
- /* Process the next piece of an image. */
- private int
--lips4v_image_plane_data(gx_device * dev, gx_image_enum_common_t * info,
--			const gx_image_plane_t * planes, int height)
-+lips4v_image_plane_data(gx_image_enum_common_t * info,
-+			const gx_image_plane_t * planes, int height,
-+			int *rows_used)
- {
-+    gx_device *dev = info->dev;
-     gx_device_vector *const vdev = (gx_device_vector *) dev;
-     gx_device_lips4v *const pdev = (gx_device_lips4v *) dev;
-     gdev_vector_image_enum_t *pie = (gdev_vector_image_enum_t *) info;
-@@ -2267,9 +2342,9 @@
- }
- 
- private int
--lips4v_image_end_image(gx_device * dev, gx_image_enum_common_t * info,
--                       bool draw_last)
-+lips4v_image_end_image(gx_image_enum_common_t * info, bool draw_last)
- {
-+    gx_device *dev = info->dev;
-     gx_device_vector *const vdev = (gx_device_vector *) dev;
-     gx_device_lips4v *const pdev = (gx_device_lips4v *) dev;
-     gdev_vector_image_enum_t *pie = (gdev_vector_image_enum_t *) info;
-@@ -2279,7 +2354,8 @@
-     if (pdev->OneBitMask)
- 	pdev->OneBitMask = false;
-     else
--	lputs(s, "}Q1100" LIPS_IS2);	/* End of Image */
-+	lputs(s, "}Q1100");
-+	sputc(s, LIPS_IS2);	/* End of Image */
- 
-     pdev->MaskReverse = -1;
- 
diff -ruN ghostscript-cjk/files/patch-gdevlips:gdevlips.h ghostscript-cjk.new/files/patch-gdevlips:gdevlips.h
--- ghostscript-cjk/files/patch-gdevlips:gdevlips.h	Thu Jan 17 00:47:07 2002
+++ ghostscript-cjk.new/files/patch-gdevlips:gdevlips.h	Thu Jan  1 09:00:00 1970
@@ -1,25 +0,0 @@
---- gdevlips/gdevlips.h	Wed Oct 25 05:47:01 2000
-+++ gdevlips/gdevlips.h	Mon Jan 14 15:59:13 2002
-@@ -21,14 +21,14 @@
- /*$Id: gdevlips.h $ */
- /* Common header file for LIPS driver */
- 
--#define	LIPS_ESC	"\x1b"
--#define	LIPS_FF		"\x0c"
--#define	LIPS_CSI	"\x9b"	/* LIPS_ESC "[" */
--#define	LIPS_DCS	"\x90"	/* LIPS_ESC "P" */
--#define	LIPS_ST		"\x9c"	/* LIPS_ESC "\\" */
--#define LIPS_SP         "\x20"
--#define LIPS_IS1        "\x1f"
--#define LIPS_IS2        "\x1e"
-+#define	LIPS_ESC	0x1b
-+#define	LIPS_FF		0x0c
-+#define	LIPS_CSI	0x9b	/* LIPS_ESC "[" */
-+#define	LIPS_DCS	0x90	/* LIPS_ESC "P" */
-+#define	LIPS_ST		0x9c	/* LIPS_ESC "\\" */
-+#define LIPS_SP         0x20
-+#define LIPS_IS1        0x1f
-+#define LIPS_IS2        0x1e
- 
- #define TRUE 1
- #define FALSE 0
diff -ruN ghostscript-cjk/files/patch-gdevlips:gdevlips.mak ghostscript-cjk.new/files/patch-gdevlips:gdevlips.mak
--- ghostscript-cjk/files/patch-gdevlips:gdevlips.mak	Thu Jan 17 00:47:07 2002
+++ ghostscript-cjk.new/files/patch-gdevlips:gdevlips.mak	Thu Jan 17 01:29:34 2002
@@ -1,70 +1,30 @@
---- gdevlips/gdevlips.mak.orig	Wed Nov  1 05:01:11 2000
-+++ gdevlips/gdevlips.mak	Mon Jan 14 19:10:42 2002
-@@ -12,54 +12,31 @@
- 	$(GLCC) -DA4 $(GLO_)gdevl4r.$(OBJ) $(C_) $(GLSRC)gdevl4r.c
- $(GLOBJ)gdevlips.$(OBJ): $(GLSRC)gdevlips.c
- 	$(GLCC) $(GLO_)gdevlips.$(OBJ) $(C_) $(GLSRC)gdevlips.c
--lips2p.dev: $(lipsr_) page.dev
--	$(SETPDEV) lips2p $(lipsr_)
--lips3.dev: $(lipsr_) page.dev
--	$(SETPDEV) lips3 $(lipsr_)
--bjc880j.dev: $(lipsr_) page.dev
--	$(SETPDEV) bjc880j $(lipsr_)
--lips4.dev: $(lipsr_) page.dev
--	$(SETPDEV) lips4 $(lipsr_)
-+$(DD)lips2p.dev: $(lipsr_) $(DD)page.dev
-+	$(SETPDEV) $(DD)lips2p $(lipsr_)
-+$(DD)lips3.dev: $(lipsr_) $(DD)page.dev
-+	$(SETPDEV) $(DD)lips3 $(lipsr_)
-+$(DD)bjc880j.dev: $(lipsr_) $(DD)page.dev
-+	$(SETPDEV) $(DD)bjc880j $(lipsr_)
-+$(DD)lips4.dev: $(lipsr_) $(DD)page.dev
-+	$(SETPDEV) $(DD)lips4 $(lipsr_)
- 
- lipsv_=$(GLOBJ)gdevl4v.$(OBJ) $(GLOBJ)gdevlips.$(OBJ)
--lips4v.dev: $(ECHOGS_XE) $(lipsv_) vector.dev
--	$(SETDEV) lips4v $(lipsv_)
--	$(ADDMOD) lips4v -include vector
-+$(DD)lips4v.dev: $(ECHOGS_XE) $(lipsv_) $(DD)vector.dev
-+	$(SETDEV) $(DD)lips4v $(lipsv_)
-+	$(ADDMOD) $(DD)lips4v -include $(DD)vector
- 
- $(GLOBJ)gdevl4v.$(OBJ): $(GLSRC)gdevl4v.c $(GLSRC)gdevlips.h $(GDEV) $(math__h)\
+--- gdevlips/gdevlips.mak.orig	Thu Nov  2 12:12:13 2000
++++ gdevlips/gdevlips.mak	Thu Jan 17 01:29:06 2002
+@@ -30,27 +30,6 @@
   $(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
- 
+-
 -### ------- Epson ESC/Page printer device ----------------- ###
 -
--escpage_=$(GLOBJ)gdevespg.$(OBJ) $(GLOBJ)gdevlprn.$(OBJ) \
--	$(GLOBJ)gdevlips.$(OBJ)
+-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
 -
--escpage.dev: $(escpage_) page.dev
--	$(SETPDEV) escpage $(escpage_)
+-$(GLOBJ)escpage.dev: $(escpage_) $(DD)page.dev
+-	$(SETPDEV) $(DD)escpage $(escpage_)
 -
--lp2000.dev: $(escpage_) page.dev
--	$(SETPDEV) lp2000 $(escpage_)
+-$(GLOBJ)lp2000.dev: $(escpage_) $(DD)page.dev
+-	$(SETPDEV) $(DD)lp2000 $(escpage_)
 -
 -### --- The NEC NPDL language printer device ------ ###
 -
--npdl_=$(GLOBJ)gdevnpdl.$(OBJ) $(GLOBJ)gdevlprn.$(OBJ) $(GLOBJ)gdevlips.$(OBJ)
--
+-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
 -
--npdl.dev: $(npdl_) page.dev
--	$(SETPDEV) npdl $(npdl_)
--
- ### --- Ricoh RPDL printer device ------ ###
- 
- rpdl_=$(GLOBJ)gdevrpdl.$(OBJ) $(GLOBJ)gdevlprn.$(OBJ) $(GLOBJ)gdevlips.$(OBJ)
- $(GLOBJ)gdevrpdl.$(OBJ): $(GLSRC)gdevrpdl.c $(GLSRC)gdevlprn.h $(PDEVH)
- 	$(GLCC) -DA4 $(GLO_)gdevrpdl.$(OBJ) $(C_) $(GLSRC)gdevrpdl.c
- 
--rpdl.dev: $(rpdl_) page.dev
--	$(SETPDEV) rpdl $(rpdl_)
-+$(DD)rpdl.dev: $(rpdl_) $(DD)page.dev
-+	$(SETPDEV) $(DD)rpdl $(rpdl_)
+-$(GLOBJ)npdl.dev: $(npdl_) $(DD)page.dev
+-	$(SETPDEV) $(DD)npdl $(npdl_)
+ 	
+ ### --- The RICOH RPDL language printer device ------ ###
  
diff -ruN ghostscript-cjk/files/patch-gdevlips:gdevlprn.h ghostscript-cjk.new/files/patch-gdevlips:gdevlprn.h
--- ghostscript-cjk/files/patch-gdevlips:gdevlprn.h	Thu Jan 17 00:47:07 2002
+++ ghostscript-cjk.new/files/patch-gdevlips:gdevlprn.h	Thu Jan  1 09:00:00 1970
@@ -1,52 +0,0 @@
---- gdevlips/gdevlprn.h	Wed Oct 25 05:47:01 2000
-+++ gdevlips/gdevlprn.h	Mon Jan 14 15:59:14 2002
-@@ -58,17 +58,19 @@
- 	 { 0 },		/* skip */\
- 	 { NULL,\
- 	   print_page_copies,\
--	   gx_default_make_buffer_device,\
-+	   { gx_default_create_buf_device,\
-+	     gx_default_size_buf_device,\
-+	     gx_default_setup_buf_device,\
-+	     gx_default_destroy_buf_device\
-+	   },\
- 	   gdev_prn_default_get_space_params,\
- 	   gx_default_start_render_thread,\
- 	   gx_default_open_render_device,\
- 	   gx_default_close_render_device,\
--	   gx_default_buffer_page,\
--	   gdev_prn_get_overlay_bits,\
--	   gdev_prn_locate_overlay_buffer\
-+	   gx_default_buffer_page\
- 	 },\
- 	 { PRN_MAX_BITMAP, PRN_BUFFER_SPACE,\
--	     { band_params_initial_values },\
-+	     { BAND_PARAMS_INITIAL_VALUES },\
- 	   0/*false*/,	/* params_are_read_only */\
- 	   BandingAuto	/* banding_type */\
- 	 },\
-@@ -98,17 +100,19 @@
- 	 { 0 },		/* skip */\
- 	 { NULL,\
- 	   print_page_copies,\
--	   gx_default_make_buffer_device,\
-+	   { gx_default_create_buf_device,\
-+	     gx_default_size_buf_device,\
-+	     gx_default_setup_buf_device,\
-+	     gx_default_destroy_buf_device\
-+	   },\
- 	   gdev_prn_default_get_space_params,\
- 	   gx_default_start_render_thread,\
- 	   gx_default_open_render_device,\
- 	   gx_default_close_render_device,\
--	   gx_default_buffer_page,\
--	   gdev_prn_get_overlay_bits,\
--	   gdev_prn_locate_overlay_buffer\
-+	   gx_default_buffer_page\
- 	 },\
- 	 { PRN_MAX_BITMAP, PRN_BUFFER_SPACE,\
--	     { band_params_initial_values },\
-+	     { BAND_PARAMS_INITIAL_VALUES },\
- 	   0/*false*/,	/* params_are_read_only */\
- 	   BandingAuto	/* banding_type */\
- 	 },\
diff -ruN ghostscript-cjk/files/patch-gdevmd2k.mak.patch ghostscript-cjk.new/files/patch-gdevmd2k.mak.patch
--- ghostscript-cjk/files/patch-gdevmd2k.mak.patch	Thu Jan  1 09:00:00 1970
+++ ghostscript-cjk.new/files/patch-gdevmd2k.mak.patch	Thu Jan 17 01:48:16 2002
@@ -0,0 +1,19 @@
+--- gdevmd2k-0.2a/gdevmd2k.mak-5.50.orig	Sun Nov 19 18:42:20 2000
++++ gdevmd2k-0.2a/gdevmd2k.mak-5.50	Sun Nov 19 18:52:14 2000
+@@ -3,11 +3,11 @@
+ 
+ md2k_=$(GLOBJ)gdevmd2k.$(OBJ)
+ 
+-md2k.dev: $(md2k_) page.dev
+-	$(SETPDEV) md2k $(md2k_)
++$(DD)md2k.dev: $(md2k_) $(DD)page.dev
++	$(SETPDEV) $(DD)md2k $(md2k_)
+ 
+-md5k.dev: $(md2k_) page.dev
+-	$(SETPDEV) md5k $(md2k_)
++$(DD)md5k.dev: $(md2k_) $(DD)page.dev
++	$(SETPDEV) $(DD)md5k $(md2k_)
+ 
+-$(GLOBJ)gdevmd2k.$(OBJ): gdevmd2k.c $(PDEVH) $(gsparam_h)
++$(GLOBJ)gdevmd2k.$(OBJ): $(GLSRC)gdevmd2k.c $(PDEVH) $(gsparam_h)
+ 	$(GLCC) $(GLO_)gdevmd2k.$(OBJ) $(C_) $(GLSRC)gdevmd2k.c
diff -ruN ghostscript-cjk/files/patch-gdevmjc.c ghostscript-cjk.new/files/patch-gdevmjc.c
--- ghostscript-cjk/files/patch-gdevmjc.c	Thu Jan  1 09:00:00 1970
+++ ghostscript-cjk.new/files/patch-gdevmjc.c	Thu Jan 17 01:09:26 2002
@@ -0,0 +1,335 @@
+--- src/gdevmjc.c.orig	Tue May 23 19:16:52 2000
++++ src/gdevmjc.c	Tue May 23 19:17:44 2000
+@@ -43,7 +43,8 @@
+ #include <limits.h>
+ #include "gdevprn.h"
+ #include "gdevpcl.h"
+-#include "gsprops.h"
++#include "gsparam.h"
++#include "gsstate.h"
+ 
+ #include "mjmtx2.c"
+ #include "mjbksep.c"
+@@ -150,7 +151,9 @@
+ 
+ /* Undefined macros expected to be defined in gdevpcl.h */
+ #define PAPER_SIZE_A3_NOBI 28
++#ifndef PAPER_SIZE_A2
+ #define PAPER_SIZE_A2 29
++#endif
+ #define PAPER_SIZE_B4 30
+ #define PAPER_SIZE_B5 31
+ 
+@@ -190,14 +193,12 @@
+ private dev_proc_print_page(mjc720_print_page);
+ private dev_proc_print_page(mj500c_print_page);
+ 
+-private dev_proc_get_props(mj_get_props);
+-private dev_proc_put_props(mj_put_props);
++private dev_proc_get_params(mj_get_params);
++private dev_proc_put_params(mj_put_params);
+ 
+ private void expand_line(P4(word*, int, int, int));
+-private int put_prop_float(P5(gs_prop_item *, float *, float, float, int));
+-private int put_prop_int(P5(gs_prop_item *, int *, int, int, int));
+-
+-private void set_bpp(P2(gx_device *, int));
++private int mj_put_param_int(P6(gs_param_list *, gs_param_name, int *, int, int, int));
++private void mj_set_bpp(P2(gx_device *, int));
+ 
+ private uint gdev_prn_rasterwidth(P2(const gx_device_printer *, int ));
+ 
+@@ -224,7 +225,7 @@
+ #define mj    ((gx_device_mj *) pdev)
+ 
+ #define prn_hp_colour_device(procs, dev_name, x_dpi, y_dpi, bpp, print_page)\
+-    prn_device_body(gx_device_printer, procs, dev_name,\
++    prn_device_body(gx_device_mj, procs, dev_name,\
+     WIDTH_10THS, HEIGHT_10THS, x_dpi, y_dpi, 0, 0, 0, 0, 0,\
+     bpp, 0, 0, 0, 0, print_page)
+ 
+@@ -235,9 +236,9 @@
+ }
+ 
+ 
+-#define mj_colour_procs(proc_colour_open, proc_get_props, proc_put_props) {\
++#define mj_colour_procs(proc_colour_open, proc_get_params, proc_put_params) {\
+ 	proc_colour_open,\
+-	gdev_pcl_get_initial_matrix,\
++	gx_default_get_initial_matrix,\
+ 	gx_default_sync_output,\
+ 	gdev_prn_output_page,\
+ 	gdev_prn_close,\
+@@ -249,15 +250,15 @@
+ 	NULL,	/* copy_color */\
+ 	NULL,	/* draw_line */\
+ 	gx_default_get_bits,\
+-	proc_get_props,\
+-	proc_put_props\
++	proc_get_params,\
++	proc_put_params\
+ }
+ 
+ private int mjc_open(P1(gx_device *));
+ private int mj_colour_open(P1(gx_device *));
+ 
+ private gx_device_procs mj_procs =
+-mj_colour_procs(mjc_open, mj_get_props, mj_put_props);
++mj_colour_procs(mjc_open, mj_get_params, mj_put_params);
+ 
+ gx_device_mj far_data gs_mjc180_device =
+ mj_device(mj_procs, "mjc180", 180, 180, BITSPERPIXEL,
+@@ -306,14 +307,14 @@
+   static const float mj_b4[4] = { MJ700V2C_MARGINS_B4 };
+   static const float mj_b5[4] = { MJ700V2C_MARGINS_B5 };
+   static const float mj_letter[4] = { MJ700V2C_MARGINS_LETTER };
+-  const float _ds *m;
++  const float *m;
+   int psize;
+ 
+   int paper_size;
+ 
+   /* Set up colour params if put_props has not already done so */
+   if (pdev->color_info.num_components == 0)
+-    set_bpp(pdev, pdev->color_info.depth);
++    mj_set_bpp(pdev, pdev->color_info.depth);
+ 
+   paper_size = gdev_mjc_paper_size(pdev);
+   if (paper_size == PAPER_SIZE_A2 ) {
+@@ -332,10 +333,7 @@
+     m = mj_letter;
+   }
+ 
+-  pdev->l_margin = m[0];
+-  pdev->b_margin = m[1];
+-  pdev->r_margin = m[2];
+-  pdev->t_margin = m[3];
++  gx_device_set_margins(pdev, m, true);
+ 
+   switch (mj->colorcomp) {
+   case 1:
+@@ -360,80 +358,74 @@
+  * and control over the bits-per-pixel used in output rendering */
+ /* Added properties for DeskJet 5xxC */
+ 
+-private const gs_prop_item props_mj[] = {
+-  /* Read-write properties. */
+-  prop_def("Density", prt_int),
+-  prop_def("Cyan", prt_int),
+-  prop_def("Magenta", prt_int),
+-  prop_def("Yellow", prt_int),
+-  prop_def("Black", prt_int),
+-  prop_def("Dither", prt_int),
+-  prop_def("ColorComponent", prt_int),
+-  prop_def("Direction", prt_int),
+-  prop_def("MicroWeave", prt_int),
+-  prop_def("DotSize", prt_int),
+-};
+-
+ private int
+-mj_get_props(gx_device *pdev, gs_prop_item *plist)
+-{	int start = gdev_prn_get_props(pdev, plist);
+-	if ( plist != 0 ) {
+-		register gs_prop_item *pi = plist + start;
+-		memcpy(pi, props_mj, sizeof(props_mj));
+-		pi[0].value.i = mj->density;
+-		pi[1].value.i = mj->cyan;
+-		pi[2].value.i = mj->magenta;
+-		pi[3].value.i = mj->yellow;
+-		pi[4].value.i = mj->black;
+-		pi[5].value.i = mj->dither;
+- 		pi[6].value.i = mj->colorcomp;
+-		pi[7].value.i = mj->direction;
+-		pi[8].value.i = mj->microweave;
+-		pi[9].value.i = mj->dotsize;
+-	}
+-	return start + sizeof(props_mj) / sizeof(gs_prop_item);
++mj_get_params(gx_device *pdev, gs_param_list *plist)
++{	int code = gdev_prn_get_params(pdev, plist);
++	if ( code < 0 ||
++	    (code = param_write_int(plist, "Density", &mj->density)) < 0 ||
++	    (code = param_write_int(plist, "Cyan", &mj->cyan)) < 0 ||
++	    (code = param_write_int(plist, "Magenta", &mj->magenta)) < 0 ||
++	    (code = param_write_int(plist, "Yellow", &mj->yellow)) < 0 ||
++	    (code = param_write_int(plist, "Black", &mj->black)) < 0 ||
++	    (code = param_write_int(plist, "Dither", &mj->dither)) < 0 ||
++	    (code = param_write_int(plist, "ColorComponent", &mj->colorcomp)) < 0 ||
++	    (code = param_write_int(plist, "Direction", &mj->direction)) < 0 ||
++	    (code = param_write_int(plist, "MicroWeave", &mj->microweave)) < 0 ||
++	    (code = param_write_int(plist, "DotSize", &mj->dotsize)) < 0
++	   )
++	  return code;
++	return code;
+ }
+ 
+ /* Put properties. */
+ private int
+-mj_put_props(gx_device *pdev,  gs_prop_item *plist,  int count)
++mj_put_params(gx_device *pdev, gs_param_list *plist)
+ {
+-	static const argn = 10;
+-/* 	gs_prop_item *known[argn]; */
+- 	gs_prop_item *known[10];
+ 	int old_bpp = mj->color_info.depth;
+ 	int bpp = 0;
+ 	int code = 0;
+-
+-	props_extract(plist, count, props_mj, argn, known, 0);
+-	code = gdev_prn_put_props(pdev, plist, count);
+-	if ( code < 0 ) return code;
+-
+-	code = put_prop_int(known[0], &mj->density, 0, INT_MAX, code);
+-	code = put_prop_int(known[1], &mj->cyan, 0, INT_MAX, code);
+-	code = put_prop_int(known[2], &mj->magenta, 0, INT_MAX, code);
