diff options
Diffstat (limited to 'Master/tlpkg/tlgs/Resource/Init/gs_statd.ps')
-rw-r--r-- | Master/tlpkg/tlgs/Resource/Init/gs_statd.ps | 63 |
1 files changed, 29 insertions, 34 deletions
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_statd.ps b/Master/tlpkg/tlgs/Resource/Init/gs_statd.ps index 20d4c96c4f8..3ea50eeead3 100644 --- a/Master/tlpkg/tlgs/Resource/Init/gs_statd.ps +++ b/Master/tlpkg/tlgs/Resource/Init/gs_statd.ps @@ -1,4 +1,4 @@ -% Copyright (C) 2001-2018 Artifex Software, Inc. +% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or @@ -21,15 +21,25 @@ systemdict begin % We make statusdict a little larger for Level 2 stuff. % Note that it must be allocated in local VM. .currentglobal //false .setglobal - /statusdict 91 dict .forcedef % statusdict is local, sys'dict global + currentdict /statusdict 91 dict .forceput % statusdict is local, sys'dict global % To support the Level 2 job control features, % serverdict must also be in local VM. - /serverdict 10 dict .forcedef % serverdict is local, sys'dict global + currentdict /serverdict 10 dict .forceput % serverdict is local, sys'dict global .setglobal end statusdict begin +/.setpagesize +{ 2 copy 2 array astore /PageSize exch mark 3 1 roll .dicttomark + { setpagedevice } stopped { + pop % the setpagedevice dict + /setpagesize $error /errorname get signalerror + } { + pop pop % success -- pop the arguments + } ifelse +} bind def + % Keep the table of named paper sizes as procedures. Reuse them later % as compatibility operators. /.pagetypeprocs 70 dict begin @@ -39,14 +49,6 @@ statusdict begin % These procedures are also accessed as data structures during initialization, % so the page dimensions must be the first two elements of the procedure. -/.setpagesize { - /statusdict .systemvar begin - { .setpagesize } stopped { - /setpagesize $error /errorname get signalerror - } if - end -} bind def - % Page sizes defined by Adobe documentation % Note: these executable arrays should all begin with two % integers which are the width and height (see gs_setpd.ps). @@ -132,7 +134,6 @@ statusdict begin /ANSI_F {2016 2880 //.setpagesize stopped { pop pop /ANSI_F $error /errorname get signalerror } if } bind def %END SIZES currentdict end -dup /.setpagesize .undef userdict begin dup { def } forall end % reuse! readonly def @@ -164,19 +165,19 @@ readonly def % Tray and format selection - /11x17tray {/11x17 .uservar stopped { pop pop /11x17tray $error /errorname get signalerror } if } bind def - /a3tray {/a3 .uservar stopped { pop pop /a3tray $error /errorname get signalerror } if } bind def - /a4tray {/a4 .uservar stopped { pop pop /a4tray $error /errorname get signalerror } if } bind def - /a5tray {/a5 .uservar stopped { pop pop /a5tray $error /errorname get signalerror } if } bind def - /a6tray {/a6 .uservar stopped { pop pop /a6tray $error /errorname get signalerror } if } bind def - /b4tray {/b4 .uservar stopped { pop pop /b4tray $error /errorname get signalerror } if } bind def - /b5tray {/b5 .uservar stopped { pop pop /b5tray $error /errorname get signalerror } if } bind def - /flsatray {/flsa .uservar stopped { pop pop /flsatray $error /errorname get signalerror } if } bind def - /flsetray {/flse .uservar stopped { pop pop /flsetray $error /errorname get signalerror } if } bind def - /halflettertray {/halfletter .uservar stopped { pop pop /halflettertray $error /errorname get signalerror } if } bind def - /ledgertray {/ledger .uservar stopped { pop pop /ledgertray $error /errorname get signalerror } if } bind def - /legaltray {/legal .uservar stopped { pop pop /legaltray $error /errorname get signalerror } if } bind def - /lettertray {/letter .uservar stopped { pop pop /lettertray $error /errorname get signalerror } if } bind def +/11x17tray {/11x17 .uservar stopped { pop pop /11x17tray $error /errorname get signalerror } if } bind executeonly def +/a3tray {/a3 .uservar stopped { pop pop /a3tray $error /errorname get signalerror } if } bind executeonly def +/a4tray {/a4 .uservar stopped { pop pop /a4tray $error /errorname get signalerror } if } bind executeonly def +/a5tray {/a5 .uservar stopped { pop pop /a5tray $error /errorname get signalerror } if } bind executeonly def +/a6tray {/a6 .uservar stopped { pop pop /a6tray $error /errorname get signalerror } if } bind executeonly def +/b4tray {/b4 .uservar stopped { pop pop /b4tray $error /errorname get signalerror } if } bind executeonly def +/b5tray {/b5 .uservar stopped { pop pop /b5tray $error /errorname get signalerror } if } bind executeonly def +/flsatray {/flsa .uservar stopped { pop pop /flsatray $error /errorname get signalerror } if } bind executeonly def +/flsetray {/flse .uservar stopped { pop pop /flsetray $error /errorname get signalerror } if } bind executeonly def +/halflettertray {/halfletter .uservar stopped { pop pop /halflettertray $error /errorname get signalerror } if } bind executeonly def +/ledgertray {/ledger .uservar stopped { pop pop /ledgertray $error /errorname get signalerror } if } bind executeonly def +/legaltray {/legal .uservar stopped { pop pop /legaltray $error /errorname get signalerror } if } bind executeonly def +/lettertray {/letter .uservar stopped { pop pop /lettertray $error /errorname get signalerror } if } bind executeonly def % Per-job parameters @@ -255,12 +256,12 @@ readonly def } bind def /setpage { ORIENT1 { 1 } { 0 } ifelse ne {exch} if - statusdict /.setpagesize get exec + //.setpagesize exec } bind def /setpagemargin {pop} bind def % can't do better without setpagedevice /setpageparams { exch pop ORIENT1 { 1 } { 0 } ifelse ne {exch} if - statusdict /.setpagesize get exec + //.setpagesize exec } bind def /setpagetype { statusdict begin @@ -307,13 +308,6 @@ readonly def %%%%%% End of documented items. -/.setpagesize - { mark /HWSize [ - 4 index 4 index matrix defaultmatrix dtransform - abs ceiling cvi exch abs ceiling cvi exch - ] currentdevice putdeviceprops pop pop pop - initmatrix initclip erasepage - } bind def /.password 0 def /.timeouts [0 60 30] def //true setdostartpage @@ -322,6 +316,7 @@ mark setidlefonts 0 0 setmargins product setprintername +currentdict /.setpagesize .undef end % statusdict %%%%%% The following documented compatibility "operators" are in systemdict, |