Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!intercon!news From: amanda@mermaid.intercon.com (Amanda Walker) Newsgroups: comp.lang.postscript Subject: Put up or shut up (was Re: using parallel and serial ports) Message-ID: <1679@intercon.com> Date: 4 Jan 90 08:41:13 GMT References: <4386@amelia.nas.nasa.gov> <17544@rpp386.cactus.org> Sender: news@intercon.com Reply-To: amanda@mermaid.intercon.com (Amanda Walker) Organization: InterCon Systems Corporation Lines: 48 OK, Woody, I'm gonna call you on this article. A lot of what we've been disagreeing about is more attitude than anything else, but this is getting ridiculous :-). In particular [about undocumented operators in statusdict and $printerdict]: > One can completely alter the actions of the switches. My, how ... useful. Sort of like rewiring the buttons on an elevator, I guess. This might be useful if you could write out your new assignments to EEPROM in some standard way (so that you could flip between AppleTalk and 57600 baud, for example), but as it is I can't figure out any real practical use for this... > There are many other magical things hidden here, and some of them are > intensely useful. OK, I'll bite. In several years of speaking to PostScript printers, I have found two and only two "intensely useful" operations hiding in $printerdict, and they're even half-documented. They are printer-dependent, but anything that plays with $printerdict will be by its very nature. The first operation is to define a new page-size procedure that calls framedevice to make the page frame buffer smaller, thus allowing more memory for things like font storage. For example, reducing the frame buffer to 5.5 by 8.5 inches (which just happens :-) to be the size of a normal half-size manual page), you end up with almost 700K of free VM on a LaserWriter, which means you can permanently load in 16 or so more Adobe fonts that you usually can. In order to make this work right, you need to look at the definition for an existing page size in order to get the arguments to "frametoprinter" or "frametoroket" right, but this is hardly "magic." The second is to invoke resident printer emulators (such as the Diablo 630 emulator in a LW, or the HPLJ emulators in some other printers) under program control (and even better, over AppleTalk). Once again, sometimes useful but hardly magic. I challenge you to come up with a single other "intensely useful" capability that you can get by using your "magical" operators, and post the code to do it. If so, I'll post my page resizing code, just to be fair. Even if you don't want to post code, for fear of losing consulting money, I'd just honestly like to know what "many things" you think are so nifty... I don't mean to flame at you, Woody, it's just that the more you post, the more I wonder whether you work with the same PostScript that I do :-). Amanda Walker InterCon Systems Corporation --