Number: 346 Date: 28-Mar-84 10':43':37 Submitter: Sannella.PA Source: DSnyder.henr Subject: Must improve hardcopy facilities documentation Lisp Version: Description: ' [this interchange shows that the current documentation is inadequate]' ' From': masinter.pa' Date': 22-Mar-84 22':43':02 PST' Subject': ARs and questions on NSPrinter & Press' To': LispSupport, Kaplan' ' I suspect he is confusing Interpress and Press here. ' ' ----------' ' Date': 22 March 1984 9':52 pm EST (Thursday)' From': DSnyder.henr' Subject': NSPRINTER.STATUS, HARDCOPYW, and EMPRESS' To': Cooper.PA' cc': Masinter.PA, DSnyder.HENR, KMatysek, PSWall' ' Eric,' ' I''ve been having trouble in trying to use NSPRINTER.STATUS to find out' whether EMPRESSing to a full press printer will be successful.' ' What I''m really after is to get hardcopy of Trillium screens. What I do now is to call NSPRINTER.STATUS, and if it says SPOOLER, FORMATTER, and PRINTER are all AVAILABLE I do a HARDCOPYW to a file, and then EMPRESS the file. Unfortunately, however, all I ever get from the EMPRESS attempt is the [No response from...] message. I''ve got the variables CH.NET.HINT, CH.DEFAULT.ORGANIZATION, and CH.DEFAULT.DOMAIN all set to the right things (I think) and it seems that the printer is getting located without any trouble. (The printer, incidentally, is INCA, if you want to play from there. NET.HINT is 112, ORG is XEROX, and DOMAIN is HENR801C.)' ' Is NSPRINTER.STATUS the wrong function to be using here? Am I interpreting its value incorrectly? Obviously I don''t want to go to the trouble of doing the HARDCOPYW, &tc., if the printer is unavailable. ' ' ' A few other odds and ends':' ' At first I was trying just to HARDCOPYW to the printer (i.e., not going through a file). If I do this with just one screen image it seems to work just fine (or at least I get the [No response from...] message), but if I do a bunch of HARDCOPYWs in a row something seems to get all clogged up, and all the background print jobs go into breaks, saying that the host isn''t available, or some such thing. Why is this? It seems to me it should all work okay. I would like to put in a request for an extra arg or something so that I can keep HARDOPYW from doing a BLOCK, and avoid having to save images on files. Or is there someway to do this now?' ' I''ve had to advise the function STREQUAL.EXCEPT.FOR.CASE, because you''re' calling it (I forget from where) with non-string arguments. It doesn''t matter if the CH... variables are strings or not.' ' Is there some way I can use a regular press printer if I specify the right SCALEFACTOR in the HARDCOPYW call? How big can a window get before' it''ll blow up a press printing attempt? Perhaps at least I can send images less than a certain size to our press printer.' ' I''d also like to know if there''s any way at all to get a whole bunch of screen images into a single file. I''ve tried putting one image on a file, followed by ^L, and another image, &tc. but couldn''t get anything to work.' ' Thanks much for your help!' ' David' ' -----' ' From': masinter.pa' Date': 22-Mar-84 22':50':33 PST' Subject': Re': NSPRINTER.STATUS, HARDCOPYW, and EMPRESS' In-reply-to': DSnyder.henr''s message of 22 March 1984 9':52 pm EST (Thursday)' To': DSnyder.henr' cc': Cooper, Masinter, KMatysek.henr, PSWall.henr, LispSupport.PA' ' (I forwarded your message to LispSupport.PA. Eric only comes in one day a week; the LispSupport mailbox is checked several times a day.)' ' I''m working from a portable computer with an 8-line display, and have to recall exactly what was in your message. I was a little confused about whether you have a PRESS printer (Raven, Dover) or an INTERPRESS printer. (Also, what version of Interlisp-D are you running, since the interface functions changed.)' ' (PRINTERSTATUS printername) should call the appropriate status function, and EMPRESS the appropriate printing function, no matter what type of printer it is.' ' There is are limitations on the complexity of the bitmap it can print, both Press and Interpress. Dovers of course have a limit since they don''t do scaling. Ravens and other PRESS printers seem to do ok with arbitrary sizes. 8044s and NS printers would do better with full screen images except for an obscure limitation in the Interpress spec which we neglected to program around in Lisp; perhaps Kaplan can tell you more on that.' ' If you want to watch what is going on, you can' ' (a) turn on (XIPTRACE T) -- it will open up a window which allows you to watch Xerox Internet Packet traffic. Or, you can turn on (COURIERTRACE T) which shows all courier calls.' ' That may give some more clues.' ' -----' ' Date': 23 Mar 84 11':52 PST' From': Masinter.pa' Subject': Re': NSPRINTER.STATUS, HARDCOPYW, and EMPRESS' In-reply-to': DSnyder.henr''s message of 22 March 1984 9':52 pm EST (Thursday)' To': DSnyder.henr' cc': LISPSUPPORT, Cooper.PA, KMatysek.henr, PSWall.henr' ' After looking at your message again, I suspect the problem is that when you call HARDCOPYW giving it a FILE argument, it generates a PRESS file instead of an Interpress file. Then, when you attempt to EMPRESS it, it sends it to the PUP host INCA rather than the NS host INCA. (Unfortunately, there is an INCA in the pup database as well as the NS printer INCA; the PUP and NS name spaces are independent.)' ' (PRINTERSTATUS "Inca':Henr801c':Xerox") and (after a long time because of network delays), got back a reasonable response.' ' There may be a problem of the separate HARDCOPYWs not properly monitor locking, which we will look into [LispSupport, note AR, Suspect problem with multiple HARDCOPYs in a row not interlocking, in Communications/NSProtocols].' ' STREQUAL.EXCEPT.FOR.CASE, yes, a real bug [LispSupport, note AR': STREQUAL.EXCEPT.FOR.CASE on COURIER should be replaced with comparison using UPPERCASEARRAY that allows atoms as well as strings]' ' -----' ' Date': 26 March 1984 8':58 am EST (Monday)' From': DSnyder.henr' Subject': Re': NSPRINTER.STATUS, HARDCOPYW, and EMPRESS' In-reply-to': Masinter.pa''s message of 23 Mar 84 11':52 PST' To': Masinter.pa' cc': DSnyder' ' Thanks for the reply. Your diagnosis sounds good but suggests no good solution. Would it work to make the NS Inca into a printerdevice (using PRINTERDEVICE(INCA)), and then HARDCOPYW(bitmap {INCA})?? How does the use of a colon in the printer''s name (INCA vs. INCA':) affect things? Will HARDCOPYW *always* make a press file?' ' Can you answer my other questions about appropriate SCALEFACTOR for a file containing a large (e.g., full screen) image going to a press printer (AZTEC), and multiple images on one file?' ' I''m kind of desperate about getting this all straightened out very soon.' ' Thanks again!!' ' -----' ' Date': 27 Mar 84 22':30 PST' From': Masinter.pa' Subject': Re': NSPRINTER.STATUS, HARDCOPYW, and EMPRESS' In-reply-to': DSnyder.henr''s message of 26 March 1984 8':58 am EST (Monday)' To': DSnyder.henr' cc': lispsupport, kaplan, sybalsky' ' I don''t think you need to get that complicated.' ' The problem is that the current interface to HARDCOPYW doesn''t give you the option of saying what KIND of file you want; it attempts to read it from the printer type, but if you just want the file and no printer, then that isn''t so good.' ' ' ' I don''t think you need to make NS Inca into a printerdevice. ' ' (Note to LispSupport': In fact, the PRINTERDEVICE interface I think is pretty bogus, since you can send things directly to the printer using {LPT}printername, e.g., {LPT}INCA':. The "device" interface is a little clunky in its own right, because it buffers in a funny way.)' ' The original problem (did you get back an AR#?) was that you were getting back a lot of spurious problems. To straighten things out':' ' If you want to talk about INCA as a printer, and it is a NS printer, then you will do best by ALWAYS saying INCA':, or INCA':HENR801A etc. ' ' You MIGHT be able to get away with saying INCA if you also do PUTPROP(INCA PRINTERTYPE INTERPRESS).' ' If you want HARDCOPYW to create a file and not print it, it will currently always create a file that is of type appropriate for (PRINTERTYPE) = printer type of first element of DEFAULTPRINTINGHOST. So, HARDCOPYW will create press files if your DEFAULTPRINTINGHOST is of type PRESS, and interpress files if it is of type INTERPRESS.' ' Now, Interlisp knows about two KINDS of PRESS printers, those that are (PRESS SPRUCE PENGUIN DOVER), and those that are (FULLPRESS RAVEN). The only difference as far as Interlisp-D is concerned is that FULLPRESS printers know how to handle scaling; the Lisp system throws away the scalefactor if you are going to a PRESS printer because it knows that Spruce/Dover/etc. print software can''t handle it.' ' [LispSupport': it COULD break up the image into pieces and print them on several pages]' ' As far as I can tell, AZTEC is neither; it is an IFS (file server). Did you mean somebody else? ' ' Finally': if you want to put multiple images on one file you are beyond the current capabilities of the Interlisp-D software. We would like this capability as part of a more global rewrite of the interface to printing (where the way to send an image to a file is via BITBLT) but haven''t implemented this yet. Can you please tell us more about your need, it may help in some priority setting.' ' ' -----' ' Date': 1 Jun 84 11':39 PDT' From': Masinter.pa' Subject': printing documentation' To': Sannella, LispSupport, Kaplan, Sybalsky, Nuyens' ' I''ve edited the documentation for printing a bit. I included SEND.FILE.TO.PRINTER and CONVERT.FILE.TO.TYPE.FOR.PRINTER taken out the references to EMPRESS and MAKEINTERPRESS and MAKEPRESS.' ' I left the description of the format of PRINTFILETYPES and PRINTERTYPES fairly vague -- I feel torn between complete information and confusing detail.' ' Feel free to give another shot on this -- it is IDHARDCOPY.IM.' Workaround: Test Case: Edit-By: masinter.PA Edit-Date: 13-Jul-84 17':48':39 Attn: Documentation Assigned To: In/By: Disposition: System: Windows and Graphics Subsystem: Printing Machine: Disk: Microcode Version: Memory Size: File Server: Server Software Version: Difficulty: Moderate Frequency: Everytime Impact: Moderate Priority: Unlikely Status: Open Problem Type: Documentation Source Files: