+++ /dev/null
-%!PS-Adobe-3.0
-%%Pages: 1
-%%Title: Alignment testpage for Ghostscript
-%%Creator: Dieter Stueken (<EMAIL: PROTECTED>)
-%%BeginProlog
-% Source: http://www.geocrawler.com/archives/3/378/1997/1/50/2064509/
-
-/rectdraw % <x0> <y0> <x1> <y1> rectdraw -
- { exch 4 -1 roll exch 2 array astore {0 moveto 0 PH rlineto stroke} forall
- 2 array astore {0 exch moveto PW 0 rlineto stroke} forall
- } bind def
-
-/arrow % <ang> <x0> <y0> arrow
- { gsave translate rotate
- 0 0 moveto 20 60 lineto -20 60 lineto closepath stroke
- 0 0 moveto 0 80 lineto stroke
- grestore
- } bind def
-
-/triangle { % len ang x y
- gsave translate dup rotate exch
- 0 setlinewidth
- 0 0 moveto
- dup 0 lineto
- dup 0.98 mul dup 10 div lineto
- closepath
- gsave 0.65 setgray fill grestore stroke
- 100 10 moveto
- 100 100 2 index {
- gsave 0 -12 rmoveto 0 24 rlineto stroke grestore
- gsave 0 24 rmoveto 10 div 2 index neg rotate
- cvi =string cvs -6 -4 rmoveto show grestore
- 100 10 rmoveto
- } for
- 0 0 moveto
- 0 10 2 index {
- pop
- gsave 0 -6 rmoveto 0 12 rlineto stroke grestore
- 10 1 rmoveto
- } for
- pop pop
- grestore
-} bind def
-
-/round {dup 3 1 roll mul cvi exch div} def
-
-/Show { % print value or unfold array
- dup type /realtype eq {100 round} if
- dup type /nulltype eq
- { pop (-NULL-) show}
- {dup type /arraytype eq
- { ([ ) show {Show} forall ( ]) show}
- {=string cvs show ( ) show}
- ifelse }
- ifelse
-} bind def
-
-/Pval { % key val, move down 1 line
- gsave exch
- gsave Show (:) show grestore
- 150 0 rmoveto Show
- grestore
- 0 -12 rmoveto
-} bind def
-
-/showtext {
- /S 80 string def
- { currentfile S readline pop dup (%END) eq { pop exit } if
- gsave show grestore 0 -12 rmoveto
- } loop
-} bind def
-
-/.knownget { 2 copy known { get true } { pop pop false } ifelse } bind def
-
-%%EndProlog
-%%BeginSetup
-
-% you may try different settings here, but start with default settings first
-%<<
-% /.HWMargins [8.5 38.0 10.5 12.5]
-% /Margins [-35 -51]
-%>> setpagedevice
-%
-
-%%EndSetup
-%%Page: 1
-
-% printout all values
-
-/Helvetica findfont
-12 scalefont setfont
-120 756 moveto
-
-showtext
-Current settings:
-
-%END
-
-[/OutputDevice
- /Margins
- /.HWMargins
- /.MarginsHWResolution
- /HWResolution
- /PageOffset
- /PageSize
-] { currentpagedevice 1 index
- .knownget not {(-undefined-)} if Pval
-} forall
-
-showtext
-
-Graphics alignment:
-
-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. You may define the alignment of your page to the paper by
-
- << /Margins [x y] >> setpagedevice
-with
-%END
-
-gsave
-/res currentpagedevice /.MarginsHWResolution .knownget not {600} if def
-( x = (1 - H) * ) show res 0 get =string cvs show
-(, y = (V - 1) * ) show res 1 get =string cvs show
-grestore 0 -12 rmoveto
-
-showtext
-
-If set correctly the drawn arrows should extend into the
-papers corners (not the clipping corners). After archieving
-that, you may continue with the clipping edges.
-
-The clipping edges may be set by
-
- << /.HWMargins [ml mb mr mt] >> setpagedevice
-
-where [ml mb mr mt] are the distances of the clipped edges of
-your graphics relative to the papers edges (left bottom right top)
-measured in 1/72 inches. The wedge shaped rules may be used to
-define these values very accurately as its intersections are in
-1/72 inches. Take the value at the cutoff point from the scale to
-the next clockwise edge.
-
-Start setting the margin values to all zero to see the natural hardware
-clipping of your printer. You should then define the margins just as big
-enough to keep the defined margins within your printers real hardware
-clipping. This is archieved if you can see the thin line drawn all around
-your defined margin. In addition the thin drawn arrows are just touching
-the margin and should be totally visible.
-
-When you put this settings into your inititializing file "gs_init.ps"
-you may want to apply this setting to a specific printer device only.
-Here is an example of a printer specific setup:
-
-<<
- /ljet4 << % make entries for some device
- /.HWMargins [16.0 13.2 13.0 11.1]
- /Margins [-132 -92]
- >>
- /ljet2p << % and for an other devices, too
- /.HWMargins [14.4 6.8 14.5 17.5]
- /Margins [-60 -23]
- >>
->> currentpagedevice /OutputDevice get
-.knownget {setpagedevice} if
-%END
-
-% get page size
-currentpagedevice /PageSize get aload pop
-/PH exch def
-/PW exch def
-
-1 setlinewidth
-PW 0 0 0 triangle
-PH 90 PW 0 triangle
-PW 180 PW PH triangle
-PH 270 0 PH triangle
-
-% get clipping values
-clippath pathbbox newpath
-
-% show clipping box
-gsave
-1 setlinewidth % 0.65 setgray
-4 copy rectdraw
-grestore
-
-/CT exch def
-/CR exch def
-/CB exch def
-/CL exch def
-
-% draw the alignment lines
-0 setlinewidth
-72 0 moveto 0 CT rlineto stroke
-0 72 moveto CR 0 rlineto stroke
-
-2 setlinewidth
-1 setlinejoin
-1 setlinecap
-
-0 200 moveto 71 0 rlineto -24 -12 rlineto 0 24 rlineto 24 -12 rlineto stroke
-34 206 moveto (H) show
-
-144 0 moveto 0 71 rlineto -12 -24 rlineto 24 0 rlineto -12 24 rlineto stroke
-150 34 moveto (V) show
-
-
-% draw arrows into to the papers corners
-1 setlinewidth
-45
-90 sub dup 0 0 arrow
-90 sub dup 0 PH arrow
-90 sub dup PW PH arrow
-90 sub dup PW 0 arrow
-pop %45
-
-% draw arrows touching the clipping edges
-0 setlinewidth
- 0 PW 2 div CB arrow
-180 PW 2 div CT arrow
--90 CL PH 2 div arrow
- 90 CR PH 2 div arrow
-
-showpage
-%%EOF
\ No newline at end of file