earleh@eleazar.dartmouth.edu (Earle R. Horton) (03/07/89)
Got this in the mail today, regarding the need for PrGeneral in printer drivers... <From: goofy!apple.com!IanHendry@apple.com (Ian Hendry) <To: earleh@eleazar.Dartmouth.EDU (Earle R. Horton) <Subject: Re: How do I write a serial printer dri < <Just one comment: < <>>3. There is a very recent technote about PrGeneral, I believe, but <>>this is sort of off-the-topic. <>> <>> Yeah, a working printer driver does not need PrGeneral <>implemented. But maybe it couldn't hurt to have one... < <Some apps complain if they cannot get a PrGeneral. Canvas 2.0 for <example warns you each time you try to print and then does it anyway. <HyperCard is not so forgiving (not surprising to me...) and will refuse to <use a driver that does not have PrGeneral (PDEF 7). < <Thought you'd like to know, < <Ian Hendry <No E-mail, post replies to network. I don't have Canvas 2.0, but HyperCard 1.2.1 works fine with my DMP-110 printer driver, and this driver has no PrGeneral. In fact, it has only PDEF 4 and PDEF 0. It may be that the printer driver Ian tried with HyperCard needs something else, or that HyperCard wants a PrGeneral under some combination of circumstances unknown to me. From looking at the TechNote in question (128), I don't think it would be too difficult to write one, if it became obvious that PrGeneral were a necessary part of the printer resource file. Since there has been no official word on this as yet, I assume for now that it is not necessary, however. Earle R. Horton. 23 Fletcher Circle, Hanover, NH 03755--Graduate student. He who puts his hand to the plow and looks back is not fit for the kingdom of winners. In any case, 'BACK' doesn't work.
IanHendry@apple.com (Ian Hendry) (03/08/89)
<<>> Yeah, a working printer driver does not need PrGeneral <<>implemented. But maybe it couldn't hurt to have one... << <<Some apps complain if they cannot get a PrGeneral. Canvas 2.0 for <<example warns you each time you try to print and then does it anyway. <<HyperCard is not so forgiving (not surprising to me...) and will refuse to <<use a driver that does not have PrGeneral (PDEF 7). << < I don't have Canvas 2.0, but HyperCard 1.2.1 works fine with my <DMP-110 printer driver, and this driver has no PrGeneral. In fact, it <has only PDEF 4 and PDEF 0. It may be that the printer driver Ian <tried with HyperCard needs something else, or that HyperCard wants a <PrGeneral under some combination of circumstances unknown to me. You are correct, I should have said, it "sometimes will refuse." I don't know exactly what the circumstances are myself. Just for fun, take the imagewriter driver and remover PDEF 7 (PrGeneral) with ResEdit. Now try to print in HyperCard. It will give you an error message about "version 2.5 or later." This printer driver is otherwise totally functional (try printing from the finder for example). Now for fun try "ImageSaver" which is part of SuperGlue. You get a different error, same problem. Now put the PDEF 7 from the ImageWriter into the ImageSaver which does not have a PDEF 7 (this is not for use, just to see what HyperCard will do) and HyperCard no longer objects. My recollections agree that, as you point out, there are some drivers that do not require a PDEF 7. The above games do not really show what is going on and I sure don't know. If you figure it out please let me know. By the way I am using 1.2.2, but I don't think it makes any difference. < From looking at the TechNote in question (128), I don't think it <would be too difficult to write one, if it became obvious that Very easy to write. <PrGeneral were a necessary part of the printer resource file. Since <there has been no official word on this as yet, I assume for now that <it is not necessary, however. I don't know one way or the other... but Tech notes and HyperCard are official. At any rate, let the rest of us know what you find out! Ian Hendry No E-mail, post replies to network. TE: 408-974-4737 Disclaimer: It was all HIS idea anyway!
casseres@Apple.COM (David Casseres) (03/09/89)
In article <873@internal.Apple.COM> IanHendry@apple.com (Ian Hendry) writes: >You are correct, I should have said, it "sometimes will refuse." I don't >know exactly what the circumstances are myself. Just for fun, take the >imagewriter driver and remover PDEF 7 (PrGeneral) with ResEdit. Now try >to print in HyperCard. It will give you an error message about "version >2.5 or later." This printer driver is otherwise totally functional (try >printing from the finder for example). Now for fun try "ImageSaver" which >is part of SuperGlue. You get a different error, same problem. Now put >the PDEF 7 from the ImageWriter into the ImageSaver which does not have a >PDEF 7 (this is not for use, just to see what HyperCard will do) and >HyperCard no longer objects. Here's what's going on. The system glue that handles printing calls attempts to load PDEF 7 and fails, so it returns an error to the application (I forget which error, but it's documented). At this point the application is just required to not crash or do anything real dumb. Some applications will just go ahead and print, but others (like HyperCard) may decide that it just has to have PrGeneral. Some applications may make this a printer-dependent requirement, e.g. "if the printer is an ImageWriter it has to have PrGeneral, but if it's a LaserWriter it doesn't have to." ><PrGeneral were a necessary part of the printer resource file. Since ><there has been no official word on this as yet, I assume for now that ><it is not necessary, however. Printer drivers do not have to implement PrGeneral; that's why the error- message return is documented. David Casseres
casseres@Apple.COM (David Casseres) (03/09/89)
In article <880@internal.Apple.COM> casseres@Apple.COM (David Casseres) writes: >Printer drivers do not have to implement PrGeneral; that's why the error- >message return is documented. I should have added, however, that all current Apple-supported drivers do implement PrGeneral, and consequently application developers are inclined to depend on it (as with HyperCard). Therefore it's a good idea to provide at least a minimal implementation of PrGeneral, which is easy to do. David Casseres