summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/lib/gsnup.ps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlgs/lib/gsnup.ps')
-rw-r--r--[-rwxr-xr-x]Master/tlpkg/tlgs/lib/gsnup.ps186
1 files changed, 93 insertions, 93 deletions
diff --git a/Master/tlpkg/tlgs/lib/gsnup.ps b/Master/tlpkg/tlgs/lib/gsnup.ps
index df96ba332da..9b4fa039d39 100755..100644
--- a/Master/tlpkg/tlgs/lib/gsnup.ps
+++ b/Master/tlpkg/tlgs/lib/gsnup.ps
@@ -1,93 +1,93 @@
-%!
-% Copyright (C) 1999 Aladdin Enterprises. All rights reserved.
-%
-% This software is provided AS-IS with no warranty, either express or
-% implied.
-%
-% This software is distributed under license and may not be copied,
-% modified or distributed except as expressly authorized under the terms
-% of the license contained in the file LICENSE in this distribution.
-%
-% For more information about licensing, please refer to
-% http://www.ghostscript.com/licensing/. For information on
-% commercial licensing, go to http://www.artifex.com/licensing/ or
-% contact Artifex Software, Inc., 101 Lucas Valley Road #110,
-% San Rafael, CA 94903, U.S.A., +1(415)492-9861.
-
-% $Id: gsnup.ps 6300 2005-12-28 19:56:24Z giles $
-% Prefix this to very well-behaved PostScript files for n-up printing.
-
-/cdef { 1 index where { pop pop } { def } ifelse } def
-
-%%%%%%%%%%%%%%%% Begin parameters %%%%%%%%%%%%%%%%
-
-% All parameters are also settable from the command line with -d, e.g.,
-% -d.Nx=3
-
-/.Nx 2 cdef % # of pages across the physical page
-/.Ny 2 cdef % # of pages down the physical page
-/.Landscape false cdef % if true, rotate page by 90 degrees
-
-%%%%%%%%%%%%%%%% End parameters %%%%%%%%%%%%%%%%
-
-vmstatus pop pop 0 eq { save pop } if
-.Landscape {
- currentpagedevice /PageSize get aload pop
- exch 2 array astore
- 1 dict dup /PageSize 4 -1 roll put
- setpagedevice
-} if
-/.BP currentpagedevice /BeginPage get def
-/.EP currentpagedevice /EndPage get def
-/.Ps 1 string def % survive save/restore
-/.Pn { .Ps 0 get } def
-true setglobal % protect from restore
-/.ELevel [0] def
-/.Rmat matrix def
-false setglobal
-/.max { 2 copy lt { exch } if pop } cdef
-% Work around the common save ... showpage ... restore locution.
-/restore {
- .Rmat currentmatrix pop restore
- vmstatus pop pop .ELevel 0 get lt { .Rmat setmatrix } if
-} bind def
-<<
- /BeginPage {
- .Nx .Ny .max
- gsave
- initclip clippath pathbbox exch 4 -1 roll sub 3 1 roll exch sub
- grestore
- 2 copy exch .Nx div exch .Ny div
- .Pn dup .Nx mod exch .Nx idiv .Ny 1 sub exch sub
- % Stack: nmax pw ph pw/nx ph/ny ix iy
- exch 3 index mul exch 2 index mul
- translate
- % Stack: nmax pw ph pw/nx ph/ny
- 4 -1 roll 4 index div 4 -1 roll 4 index div
- % Stack: nmax pw/nx ph/ny pw/nmax ph/nmax
- exch 4 -1 roll exch sub 2 div
- 3 1 roll sub 2 div
- translate
- % Stack: nmax
- 1 exch div dup scale
- .BP
- }
- /EndPage {
- dup 2 lt {
- .ELevel 0 vmstatus pop pop put
- .Ps 0 .Pn 1 add .Nx .Ny mul mod put
- .Pn 0 eq {
- .EP
- } {
- pop pop false
- } ifelse
- } {
- pop pop false
- } ifelse
- }
->> setpagedevice
-/.EOJ {
- { .Pn 0 eq { exit } if showpage } loop
-} def
-
-{ currentfile cvx exec .EOJ } exec
+%!
+% Copyright (C) 1999 Aladdin Enterprises. All rights reserved.
+%
+% This software is provided AS-IS with no warranty, either express or
+% implied.
+%
+% This software is distributed under license and may not be copied,
+% modified or distributed except as expressly authorized under the terms
+% of the license contained in the file LICENSE in this distribution.
+%
+% For more information about licensing, please refer to
+% http://www.ghostscript.com/licensing/. For information on
+% commercial licensing, go to http://www.artifex.com/licensing/ or
+% contact Artifex Software, Inc., 101 Lucas Valley Road #110,
+% San Rafael, CA 94903, U.S.A., +1(415)492-9861.
+
+% $Id: gsnup.ps 6300 2005-12-28 19:56:24Z giles $
+% Prefix this to very well-behaved PostScript files for n-up printing.
+
+/cdef { 1 index where { pop pop } { def } ifelse } def
+
+%%%%%%%%%%%%%%%% Begin parameters %%%%%%%%%%%%%%%%
+
+% All parameters are also settable from the command line with -d, e.g.,
+% -d.Nx=3
+
+/.Nx 2 cdef % # of pages across the physical page
+/.Ny 2 cdef % # of pages down the physical page
+/.Landscape false cdef % if true, rotate page by 90 degrees
+
+%%%%%%%%%%%%%%%% End parameters %%%%%%%%%%%%%%%%
+
+vmstatus pop pop 0 eq { save pop } if
+.Landscape {
+ currentpagedevice /PageSize get aload pop
+ exch 2 array astore
+ 1 dict dup /PageSize 4 -1 roll put
+ setpagedevice
+} if
+/.BP currentpagedevice /BeginPage get def
+/.EP currentpagedevice /EndPage get def
+/.Ps 1 string def % survive save/restore
+/.Pn { .Ps 0 get } def
+true setglobal % protect from restore
+/.ELevel [0] def
+/.Rmat matrix def
+false setglobal
+/.max { 2 copy lt { exch } if pop } cdef
+% Work around the common save ... showpage ... restore locution.
+/restore {
+ .Rmat currentmatrix pop restore
+ vmstatus pop pop .ELevel 0 get lt { .Rmat setmatrix } if
+} bind def
+<<
+ /BeginPage {
+ .Nx .Ny .max
+ gsave
+ initclip clippath pathbbox exch 4 -1 roll sub 3 1 roll exch sub
+ grestore
+ 2 copy exch .Nx div exch .Ny div
+ .Pn dup .Nx mod exch .Nx idiv .Ny 1 sub exch sub
+ % Stack: nmax pw ph pw/nx ph/ny ix iy
+ exch 3 index mul exch 2 index mul
+ translate
+ % Stack: nmax pw ph pw/nx ph/ny
+ 4 -1 roll 4 index div 4 -1 roll 4 index div
+ % Stack: nmax pw/nx ph/ny pw/nmax ph/nmax
+ exch 4 -1 roll exch sub 2 div
+ 3 1 roll sub 2 div
+ translate
+ % Stack: nmax
+ 1 exch div dup scale
+ .BP
+ }
+ /EndPage {
+ dup 2 lt {
+ .ELevel 0 vmstatus pop pop put
+ .Ps 0 .Pn 1 add .Nx .Ny mul mod put
+ .Pn 0 eq {
+ .EP
+ } {
+ pop pop false
+ } ifelse
+ } {
+ pop pop false
+ } ifelse
+ }
+>> setpagedevice
+/.EOJ {
+ { .Pn 0 eq { exit } if showpage } loop
+} def
+
+{ currentfile cvx exec .EOJ } exec