home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!olivea!apple!apple!macwinders.support.apple.com!user
- From: winders@aux.support.apple.com (Scott Winders)
- Newsgroups: comp.sys.mac.hardware
- Subject: Re: SUMMARY: Print Area on LaserWriter IIf
- Message-ID: <winders-210792085045@macwinders.support.apple.com>
- Date: 21 Jul 92 16:01:26 GMT
- References: <1992Jul21.022317.26941@mr.med.ge.com>
- Sender: daemon@Apple.COM
- Followup-To: comp.sys.mac.hardware,comp.sys.mac.programmer,comp.protocols.appletalk
- Organization: Apple Computer, Inc.
- Lines: 214
-
- In article <1992Jul21.022317.26941@mr.med.ge.com>, owen@sparkey.med.ge.com
- (Owen C. Dake) wrote:
- >
- >
- > I was hoping to get a full explanation from our local Apple
- > representative before posting a summary but all I got was
- > "buy more memory". I did get several helpful responses via
- > email however, including "buy more memory". I was able to
- > glean a reasonable understanding of the situation and received
- > a couple of PostScript procedures that helped me work around
- > the problem.
- >
- > It seems that the new printers IIf & IIg require a lot of
- > memory to support all of their features. Mine has 5MB
- > (which I neglected to mention) which isn't enough to support
- > PhotoGrade and full page printing. Hal Perkins sent me a
- > PostScript procedure to disable PhotoGrade (enclosed). Also
- > John Young sent me a PostScript procedure which can be embedded
- > in each PostScript document as it is sent to the printer to
- > change the page size (also enclosed).
- >
- > Thanks to all who responded. I opted to disable PhotoGrade while
- > I order more memory.
- >
- > ---------------------- Procedure to disable PhotoGrade ----------------------
- >
- > %!
- > serverdict begin 0 exitserver
- > <</PreRenderingEnhance false>> setpagedevice
- >
- > ---------------------- Procedure to change page size ------------------
- >
- > %!
- > statusdict /product get dup
- > (LaserWriter IIf) eq exch (LaserWriter IIg) eq or
- > {letter} if
- >
- > ------------------
-
- Here is some information I have posted in the past that you may find
- useful.
- The PostScript code posted above for disabling PhotoGrade works but is not
- ideal. I would strongly suggest using the code I provide below. The
- PostScript
- code for changing page size works too but is a little bit of overkill. All
- you
- have to do is include the "letter" operater in the job. Anyway, please look
- at
- the following:
-
- LaserWriter IIf & IIg: PhotoGrade, RAM, and Image Size
-
- Article Created: 26 November 1991
- Article Last Reviewed:
- Article Last Updated:
-
- TOPIC -----------------------------------------------------------
-
- When we print to the LaserWriter IIg, there is a half-inch margin around
- the outside of each page. We've been printing closer to the edge of the
- page with the LaserWriter IINT and IINTX. How can we adjust this on the
- LaserWriter IIg?
-
- DISCUSSION ------------------------------------------------------
-
- These margin differences are caused by the memory requirements of
- PhotoGrade. The LaserWriter IIg defaults to using PhotoGrade enhancement
- unless told otherwise. Because a letter-size image -- with PhotoGrade
- enabled -- needs a frame buffer four times larger than an unenhanced image,
- the LaserWriter reduces the image size as required. It reduces a
- letter-size buffer, which would use 3935376 bytes, to a lettersmall buffer
- that uses 3511296 bytes.
-
- As shipped, the LaserWriter IIg has only enough memory for an a4small
- frame buffer with PhotoGrade enhancement. Without PhotoGrade enabled, it
- can easily handle a full legal-sized image, but must be explicitly
- instructed to do so. You can do this in a couple of ways:
-
- - Disable Photograde
- If the PostScript operator for the required page size is included
- in the print job, the LaserWriter will disable PhotoGrade to maintain
- compatibility.
-
- - Modify the Default Parameter
- You can modify the persistent parameter that forces the PhotoGrade
- default. This is probably not a good idea unless you find it easier than
- modifying the printing code. It is inconvenient, and modifies the
- persistent memory. You can modify the persistent memory a limited number
- of times before it wears out.
-
- To request a specific page size and override PhotoGrade, include a
- reference to the required page size in the beginning of the print job. The
- different page size operators are listed below, along with their memory
- requirements with and without PhotoGrade enhancement.
-
- PhotoGrade
- Page Size Off On
- ----------- ------- -------
- b5 741888 2967552
- lettersmall 877824 3511296
- a4small 924420 3697680
- letter 983844 3935376
- a4 1015872 4063488
- legal 1257344 5029376
-
- If you print a job with no requested page size, the LaserWriter IIf and IIg
- use the default size of lettersmall. If the job specifies a size, the
- LaserWriter will try to honor it as closely as possible within its memory
- limitations. The following table depicts the page size substitution order.
-
- Frame Buffer Substitution Order
- -------------------------------
- lettergray -> lettersmallgray -> letter -> lettersmall
- legalgray -> legal -> lettersmall
- a4gray -> a4smallgray -> a4 -> a4small
- b5gray -> b5
-
- With the Apple LaserWriter IIf as shipped with 2MB, a request for a
- letter-size frame buffer results in a lettersmall buffer, the default.
- Requesting an a4 page results in an a4small buffer. The next table shows
- the maximum page size available for each memory configuration.
-
- MB Largest Page Size
- -- -----------------
- 2 a4small, PhotoGrade disabled
- 4 legal, PhotoGrade disabled
- 5 a4small, PhotoGrade enabled
- 8 legal, PhotoGrade enabled
-
- In summary, prepending the letter operator to the documents would be
- adequate. Or you can disable PhotoGrade one time, and leave it alone until
- you need it again later. Note that the non-volatile RAM used in both the
- LaserWriter IIf and IIg has a limit to the number of times it can be
- modified: approximately 50000 writes. While this is a large number, you
- could rapidly exceed it if the modification were sent with each page or
- job. Once this part wears out, the factory defaults will be used each time
- the LaserWriter is powered on.
-
- The following three code segments show, respectively:
-
- - The letter operator at the start of a job
- - Code to disable PhotoGrade
- - Code to enable PhotoGrade
-
- code segment 1
- %some sample PostScript with the letter operator prepended
- letter
- /Helvetica findfont 12 scalefont setfont
- 72 720 moveto
- (This is a test) show
-
- code segment 2
- %Disable PhotoGrade.ps D.W. 11/91
- %This code disables PhotoGrade enhancement after a couple of checks:
- % Verifies that it's running on a LaserWriter IIg or IIf.
- % Checks if PhotoGrade is already disabled - prevents NVRAM fatigue.
- % (The memory device is limited to approximately 50000 writes.)
-
- statusdict /product get dup
- (LaserWriter IIf) ne exch (LaserWriter IIg) ne and
- { (Not a IIf or IIg and may not support PhotoGrade. Canceling.) =
- stop
- } if
- currentpagedevice /PreRenderingEnhance get not
- { (PhotoGrade is already disabled on this LaserWriter) = }
- { serverdict begin 0 exitserver }
- ifelse
- vmstatus pop pop 0 eq
- { (Disabling PhotoGrade.) =
- <</PreRenderingEnhance false>> setpagedevice
- } if
-
- code segment 3
- %Enable PhotoGrade.ps D.W. 11/91
- %This code enables PhotoGrade enhancement after a couple of checks:
- % Verifies that it's running on a LaserWriter IIg or IIf.
- % Checks if PhotoGrade is already enabled - prevents NVRAM fatigue.
- % (The memory device is limited to approximately 50000 writes.)
- % Also, let the user know if there isn't enough RAM for PhotoGrade.
-
- statusdict /product get dup
- (LaserWriter IIf) ne exch (LaserWriter IIg) ne and
- { (Not a IIf or IIg and may not support PhotoGrade. Canceling.) =
- stop
- } if
- currentpagedevice /PreRenderingEnhance get
- { (PhotoGrade is already enabled on this LaserWriter.) = }
- { serverdict begin 0 exitserver }
- ifelse
- vmstatus pop pop 0 eq
- { statusdict /ramsize get exec 5242880 lt
- { (Enabling PhotoGrade, but it won't be used - 5MB required.) = }
- { (Enabling PhotoGrade.) = }
- ifelse
- <</PreRenderingEnhance true>> setpagedevice
- } if
-
- Copyright 1991, Apple Computer, Inc.
- -----
-
- To get the PostScript program you sent us to work properly you can turn off
- PhotoGrade or prepend the "a4" PostScript operator to your PostScript
- programs. Here is an example:
-
- a4
- 300 -300 moveto
- 300 1500 lineto stroke
- -300 300 moveto
- 1500 300 lineto stroke
- showpage
-
-
- Scott Winders
- winders@aux.support.apple.com
-