
% LPS$$LOADDICT device control library module.
% Version V1.1
%
%		Copyright ) 1986 by
%	Digital Equipment Corporation, Maynard, Mass.
%               All rights reserved.
%
% This software is furnished under a license and may be used and copied
% only in accordance with the terms of such license and with the inclusion
% of the above copyright notice.  This software or any other copies thereof
% may not be provided or otherwise made available to any other person.
% No title to and ownership of the software is hereby transferred.
%
% The information in this software is subject to change without notice and
% should not be construed as a commitment by Digital Equipment Corporation.
%
% Digital assumes no responsibility for the use or reliability of its
% software on equipment which is not supplied by Digital.
%

/lps$lpsdict 40 dict def		% Define lps$lpsdict dictionary
statusdict begin
  lps$lpsdict begin

%
% Declare variables which are actually used.
%
    /lps$input-tray (unspecified) def % Input tray paper is fed from.
                                % string: top, middle, bottom.

    /lps$output-tray () def	% Output tray requested.
                                % string: top, side, or face_up.

    /lps$page-layup? false def	    % Are we using page layup?

    /lps$page-orientation (portrait) def    % (portrait) or (landscape)

    /lps$page-size (letter) def	% Size of the user's pages.
	% string: a, a3, a4, a5, b, b4, b5, executive, legal, letter, ledger.

    /lps$redefine-restore? false def % false if no simple objects must
                                % be preserved across restores.

    /lps$sheet-count 1 def	% Number of copies of each sheet to print.
				% Initialized to 1.

    /lps$sheet-defaulted true def % True if sheet_size defaulted, else false.
				% Initialized to true.

    /lps$page-limits? false def	% Keeps track if there page limits. Init false

    /lps$page-low-limit 0 def	% First page to print

    /lps$page-high-limit 0 def	% Last page to print

    /lps$sheet-size () def	% Size of the selected paper.
	% string: a, a3, a4, a5, b, b4, b5, executive, legal, letter, ledger.

    /lps$pages-printed 1 def	% Needed for Page-limit.  Initialize to 1.
                                % A better name might be 'page-being-printed'.

% Set up lookup tables for Sheet_size parameters.
% These convert strings the symbiont passes to executable PS code.
%
% Table for Paper-size look up.
%
    /paper-size-dict 11 dict def 
    paper-size-dict begin
      /a 	 /lettertray def
      /a3	 /a3tray def
      /a4	 /a4tray def
      /a5	 /a5tray def
      /b	 /11x17tray def
      /b4	 /b4tray def
      /b5	 /b5tray def
      /executive /executivetray def
      /legal	 /legaltray def
      /letter	 /lettertray def
      /ledger	 /11x17tray def
      end

%
% Declare procedures or list names of ones used in other modules.
%
    /lps$pop2 {pop pop} bind def     % Pops 2 objects off the stack
   %/lps$incr-pages-printed
   %/lps$throw-out-page

%
% Define operators to preserve simple object values across restores
%
    /lps$preserved-objects 10 dict def		% Store objects that are to be
						% preserved here.

%% Assume in lps$lpsdict.  Name of object must be on stack.

    /lps$add-preserved-object {
      lps$preserved-objects exch null put
      /lps$redefine-restore? true def} def

%
% These are reserved for future releases
%
%/lps$sheet-height def		% Reserved for future use
%/lps$sheet-width def		% Reserved for future use
%/lps$page-height def		% Reserved for future use
%/lps$paper-width def		% Reserved for future use
%/lps$pages-printed 0 def	% Reserved for future use 
