nsb@THUMPER.BELLCORE.COM (Nathaniel Borenstein) (08/10/90)
I know this was discussed a while back on this list, but I can't seem to dig it up. I think that I'm running a down-level version of ditroff or psdit, and that this is causing embedded Andrew insets (zip, raster) not to print properly. When I capture the postscript output for an embedded zip, for example, it starts something like this: % included PostScript \ %!\ PB\ /troffadjust { pop 0 } def\ 385 troffadjust 215 neg translate\ %!PS-Adobe-2.0 EPSF-1.2\ % Begin Zip PostScript Prelude Version 0.0\ My printer seems to be dying on the backslashes. I'm sure I've seen this problem discussed on this list before, so I'm sorry to bring it up again, but could someone please tell me what, exactly, the problem is? Thanks. -- Nathaniel
jaap@mtxinu.COM (Jaap Akkerhuis) (08/15/90)
In article <oakfsKy0M2YtM89V1a@thumper.bellcore.com> nsb@THUMPER.BELLCORE.COM (Nathaniel Borenstein) complains: > I know this was discussed a while back on this list, but I can't seem to > dig it up. > > I think that I'm running a down-level version of ditroff or psdit, and > that this is causing embedded Andrew insets (zip, raster) not to print > properly. When I capture the postscript output for an embedded zip, for > example, it starts something like this: > > % included PostScript > \ > %!\ > PB\ > /troffadjust { pop 0 } def\ > 385 troffadjust 215 neg translate\ > %!PS-Adobe-2.0 EPSF-1.2\ > % Begin Zip PostScript Prelude Version 0.0\ > > My printer seems to be dying on the backslashes. I'm sure I've seen > this problem discussed on this list before, so I'm sorry to bring it up > again, but could someone please tell me what, exactly, the problem is? > Thanks. -- Nathaniel Yeah, this has been discussed before. It is a problem in some versions of troff, starting somewhere at DWB2.0. For the people who have the source, the fix is in the ``scaled down version of stdio'' which is part of troff. If you look closely you will find in printf and fprintf a place where troff places a backslash in front of every non-printable character. It does this with a statements in the form of if(c < 32 ) putchar('\'); Well, that should be something more in the style of: if(c < 32) switch(c) { case '\n': case '\t': case '\r': break; default: putchar('\'); } For people who don't have the source, complain loudly at your supplier. And yes, this has been discussed before. jaap PS. All code fragments above are from memory, and the real code will likely be different, but this is the basic idea.
nsb@THUMPER.BELLCORE.COM (Nathaniel Borenstein) (08/15/90)
Many thanks to all who responded. The fix worked, and I can now print Andrew documents with embedded insets. Thank you all! -- Nathaniel