shithub: neatpost

Download patch

ref: 976bd33db97521c48309b9e4ed1a6ff466956c20
parent: be125d2592791b5b168ab0e828ba561725500fae
author: Ali Gholami Rudi <ali@rudi.ir>
date: Mon Jun 10 13:11:23 EDT 2013

ps: define pagesize for changing page dimensions

--- a/ps.c
+++ b/ps.c
@@ -27,7 +27,7 @@
 static char *prolog =
 	"/linewidth .4 def\n"
 	"/resolution 720 def\n"
-	"/pagebbox [0 0 612 792] def\n"
+	"/pagesize [612 792] def\n"
 	"/inch {72 mul} bind def\n"
 	"\n"
 	"/setup {\n"
@@ -37,23 +37,12 @@
 	"	linewidth setlinewidth\n"
 	"	1 setlinecap\n"
 	"\n"
-	"	pagedimensions\n"
-	"	xcenter ycenter translate\n"
-	"	width 2 div neg height 2 div translate\n"
+	"	0 pagesize 1 get translate\n"
 	"	scaling scaling scale\n"
 	"\n"
 	"	0 0 moveto\n"
 	"} def\n"
 	"\n"
-	"/pagedimensions {\n"
-	"	pagebbox aload pop\n"
-	"	4 -1 roll exch 4 1 roll 4 copy\n"
-	"	sub /width exch def\n"
-	"	sub /height exch def\n"
-	"	add 2 div /xcenter exch def\n"
-	"	add 2 div /ycenter exch def\n"
-	"} def\n"
-	"\n"
 	"/pagesetup {\n"
 	"	/page exch def\n"
 	"	currentdict /pagedict known currentdict page known and {\n"
@@ -85,6 +74,7 @@
 	out("%s", prolog);
 	out("%%%%EndProlog\n");
 	out("%%%%BeginSetup\n");
+	out("<< /PageSize pagesize /ImagingBBox null >> setpagedevice\n");
 	out("mark\n");
 	out("setup\n");
 	out("%%%%EndSetup\n");