summaryrefslogtreecommitdiff
path: root/gs/lib/align.ps
diff options
context:
space:
mode:
Diffstat (limited to 'gs/lib/align.ps')
-rw-r--r--gs/lib/align.ps71
1 files changed, 71 insertions, 0 deletions
diff --git a/gs/lib/align.ps b/gs/lib/align.ps
new file mode 100644
index 000000000..75d2b66c7
--- /dev/null
+++ b/gs/lib/align.ps
@@ -0,0 +1,71 @@
+% Copyright (C) 1989, 1996 Aladdin Enterprises. All rights reserved.
+%
+% This file is part of Aladdin Ghostscript.
+%
+% Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author
+% or distributor accepts any responsibility for the consequences of using it,
+% or for whether it serves any particular purpose or works at all, unless he
+% or she says so in writing. Refer to the Aladdin Ghostscript Free Public
+% License (the "License") for full details.
+%
+% Every copy of Aladdin Ghostscript must include a copy of the License,
+% normally in a plain ASCII text file named PUBLIC. The License grants you
+% the right to copy, modify and redistribute Aladdin Ghostscript, but only
+% under certain conditions described in the License. Among other things, the
+% License requires that the copyright notice and this notice be preserved on
+% all copies.
+
+% Print a page that indicates the proper settings of Margins and HWMargins
+% for a given device. Requires a Level 2 system.
+
+% Reset the offset and margins.
+
+<<
+ /PageOffset [0 0]
+ /Margins [0 0]
+ /.HWMargins [0 0 0 0]
+>>
+setpagedevice
+<<
+ /ImagingBBox null
+>>
+setpagedevice
+
+% Determine the actual page size.
+
+clippath pathbbox newpath
+/y1 exch def /x1 exch def pop pop
+
+% Draw lines that should be exactly 1" in from each edge,
+% and should extend precisely to the edge of the paper.
+
+1 setlinewidth
+0 setgray
+72 0 moveto 0 y1 rlineto stroke
+0 72 moveto x1 0 rlineto stroke
+
+% Print the text in the middle of the page.
+
+/S 80 string def
+108 360 moveto
+/Helvetica 12 selectfont
+ { currentfile S readline pop dup (%END) eq { pop exit } if
+ gsave show grestore 0 -15 rmoveto
+ } loop
+Let the distance in inches from the left edge of the page to
+the vertical line be H, and from the bottom edge to the
+horizontal line be V; let the lengths of the gaps at the top
+and bottom of the vertical line be T and B respectively, and
+the gaps at the left and right of the horizontal line be L
+and R. For measurements in inches, the proper page device
+parameters for this printer are set by
+ << /.HWMargins [ml mb mr mt] /Margins [x y]
+ >> setpagedevice
+where
+ ml = L * 72, mb = B * 72, mr = R * 72, mt = T * 72
+%END
+/res currentpagedevice /.MarginsHWResolution get def
+( x = (1 - H) * ) show res 0 get =string cvs show
+(, y = (V - 1) * ) show res 1 get =string cvs show
+
+showpage