Path: utzoo!attcan!uunet!samsung!zaphod.mps.ohio-state.edu!uwm.edu!bionet!apple!well!shiva From: shiva@well.sf.ca.us (Kenneth Porter) Newsgroups: comp.lang.postscript Subject: Re: PostScript vs TrueType? Summary: NEC LC890 Bug Test (comment detection loop) Message-ID: <20146@well.sf.ca.us> Date: 6 Sep 90 07:49:24 GMT References: <9724@goofy.Apple.COM> <438@three.mv.com> <9931@goofy.Apple.COM> <1513@chinacat.Unicom.COM> Lines: 66 Woody posted code containing the following fragment as an example of something that would hang an NEC LC890, with the request that fellow LC890 owners would test it. { currentfile( )readstring { (%%%)eq %look for separator { exit }if } { pop %hangs, looking forever }ifelse }loop % % ...bunch of PostScript code to skip over... % %%%%%% Sorry, Woody, but your LC890 file works just fine on my LC890. It finds the (%%%) and exits. I put the test in foo.ps and did "cat foo.ps foo.ps | lpr" and got a standard EOF indication back. I even put prints in the exit and pop paths of the loop to verify which was taken and the comment detection path *was* taken. I also cat-ed two copies of your complete font example and got the same result. Just so we agree on versions, here's a dump of some stats from the printer: Product: Silentwriter Version: 47.0 Revision: 1 Printer Name: Silentwriter Pagecount: 24432 Do Start Page: true Margins: -16 25 Default Paper Tray: 2 Default Timeouts: 0 60 30 Usertime: 581751454 VM Total: 1318576 VM Used: 544622 VM Available: 773954 Save Level: 2 Perhaps there's something odd about your host setup. What do you use to send files? If a unix spooler, what filters are involved? Could a filter in the host be stripping your comments or adding unexpected newlines? Incidentally, I noted that the code fragment was saving the packing flag and packing the font. Users of Presentation Manager should be aware that the PM PostScript prolog is ignorant of the packing flag and writes a dictionary into a procedure body to get local variables in a private dictionary: /BuildChar { 0 begin ... end } def BuildChar load 0 3 dict put This means that you can't set packing on by default when using PM or the above trick will cause an invalidaccess as the put stores into a (packed) readonly object.