jmr@nada.kth.se (Jan Michael Rynning) (01/05/90)
In article <1679@intercon.com> amanda@mermaid.intercon.com (Amanda Walker) writes: >The first operation is to define a new page-size procedure that calls >framedevice to make the page frame buffer smaller, [...] On the first Apple LaserWriters (PostScript version 23.0) we had to use this to be able to print on the bottom 1.25 or so inches of A4 papers. Apart from that I've never found anything practically useful ``hidden'' in the dictionaries. Jan Michael Rynning, jmr@nada.kth.se Department of Numerical Analysis If you can't fully handle domains: and Computing Science, ARPA: jmr%nada.kth.se@uunet.uu.net Royal Institute of Technology, UUCP: {uunet,mcvax,...}!nada.kth.se!jmr S-100 44 Stockholm, BITNET: jmr@sekth Sweden. Phone: +46-8-7906288
jmr@nada.kth.se (Jan Michael Rynning) (02/13/90)
I picked up LWNT_470.PPD from Adobe's file server, and in that file I found the following piece of code, which is supposed to tell me the current page size of my Apple LaserWriter II NT PostScript version 47.0 laserprinter. *?PageSize: " save statusdict begin /papersize where{ pop 12 dict begin /lettertray (Letter) def /legaltray (Legal) def /11x17tray (Tabloid) def /ledgertray (Ledger) def /a3tray (A3) def /a4tray (A4) def /a5tray (A5) def /b4tray (B4) def /b5tray (B5) def /executivetray (Executive) def papersize { {load exec} stopped not{= flush}if }{ {load exec} stopped not{print (.Transverse) = flush}if }ifelse end }{ /pagetype where{pop[(Letter)(Legal)]pagetype dup 1 gt{pop 1}if get = flush}if }ifelse end restore " *End When I sent the query to the printer it told me the page size was "Letter". I did expect an "A4", since I had an A4 papertray with A4 papers, and the printer obviously knew that, as it had set up an A4 imageable area. Now, how do I get the the printer to tell me the truth? I know I can do a "statusdict /printerstatus get exec 126 and", and look at the result (0=no papertray, 2=A4 papertray, 66=envelope papertray, etc.). Is that the way I should do it? If it is, it should be in the PPD file, if not, the proper way to do it should be in the PPD file. While we are at it, APPLE230.PPD does not indicate that the Apple LaserWriter PostScript version 23.0 laserprinter can print on A4 papers. It was sold with an A4 papertray (only, no lettersize papertray, we don't use lettersize paper anyway), and it is possible to set up an A4 imageable area by using some Post- Script operators which you won't find in the "Red Book". The code to set up an A4 imageable area on that printer should be included in its PPD file. I did some printouts on a NeXT laserprinter some weeks ago. The printer was equipped with an A4 papertray (only, no lettersize etc.). Nevertheless, the Display PostScript version 1006.24 which ran on the NeXT set up a lettersize imageable area, and didn't even recognize the "a4" operator. I thought Adobe had learnt its A4 lesson from the oversight in PostScript version 23.0. A4 is the predominant papersize in most countries of the world (the U.S. is about the only exception). Adobe, can you please support A4 in all future versions of PostScript, for all devices that can handle it, and can you also supply the patches needed for PostScript versions where you omitted it, in spite of the fact that they run on devices which are perfectly capable of printing on A4 paper, are sold with A4 papertrays only, to customers who use A4 paper? Jan Michael Rynning, jmr@nada.kth.se Department of Numerical Analysis If you can't fully handle domains: and Computing Science, ARPA: jmr%nada.kth.se@uunet.uu.net Royal Institute of Technology, UUCP: {uunet,mcvax,...}!nada.kth.se!jmr S-100 44 Stockholm, BITNET: jmr@sekth Sweden. Phone: +46-8-7906288