[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Buying Laserwriters

    Date: Wed, 11 Jan 89 17:00+0100
    From: unido!gmdzi!sysiphos!JC@uunet.UU.NET (Juergen Christoffel)

    One difference is that the NTX stacks its output face down by default
    (unless you open the face down tray) whereas the LaserWriter (Plus)
    always stacks it face up. As far as I remember, LGP-S/W reverts the
    order of pages in core which wouldn't be needed for the NTX.

    Can this in-core-turning be turned off easily? Per printer? (Hadn't time
    to look at the sources yet)

The hardcopy system already has a flag for controlling page printing
order.  The only question is how to control its value.  This was the
simplest kludge I could come up with.  You patch this code into your
running system and then edit your printer's namespace object to add the
User Propterty "PRINT-BACKWARDS NO".  Of course, the right way is to
define a new printer type and give a different :default-init-plist value
for :print-backwards.

;;; -*- Mode: LISP; Base: 8;  Package: HARDCOPY-INTERNALS -*-

;;; From sys:hardcopy;printer.lisp.1544
;;; My changes in lowercase.

(define-hardcopy-option :print-backwards
			"Whether to emit pages in backward order."

  ;; If the user specifies :print-backwards in the user options plist, pass
  ;; that value on to make-hardcopy-stream.
  ;; Foo! Why aren't the user properties organized as a real plist?
  (let* ((user-options (send device :get :user-property))
	 (backward-p (assoc :print-backwards user-options)))
    ;; Don't mess with options list unless the user explicitly said to.
    (when backward-p
      (setq backward-p (second backward-p))
      (cond ((cl:string-equal backward-p "yes" :end1 3)
	     (setq backward-p t))
	    ((cl:string-equal backward-p "no" :end1 2)
	     (setq backward-p nil))
	    (t (format t "~&Unrecognized PRINT-BACKWARDS value ~S.  Fix your namespace object.
Assuming value of Yes")
	       (setq backward-p t)))
      (setf (cl:getf options :print-backwards) backward-p)))
    (CATCH-ERROR-RESTART (ERROR "Specify a printer to use instead of ~A." (SEND DEVICE :PRETTY-NAME))