Article View: comp.soft-sys.andrew
Article #2119Re: Printing bugs with insets.
From: Jaap Akkerhuis
Date: Tue, 27 Feb 1990 19:44
Date: Tue, 27 Feb 1990 19:44
81 lines
3237 bytes
3237 bytes
Excerpts from internet.info-andrew: 26-Feb-90 Printing bugs with insets.
Rocky - Rakesh Patel@khn (5259+1)
> There are some serious bugs with printing and insets...
> When embedded rasters are incuded in a document, ezprint ends up
> sticking `\` at the end of each postscript command. That is a serious problem.
Well, it is not a problem of ezprint. It is a problem what pops up in
newer versions of troff (As far as I've have seen, in ditroff release
2.0). This newer version of troff has a bug fix which cause this new one
introduce a bug, the classical example of ``there is always one last
bug''. For historical reasons ditroff has its own version of the stdio
library. It has been decided that [fs]printf will always stick a
backslash before non-printable characters, although this code actually
never got executed in the original ditroff version. This bug is fixed
and now another one pops up: accidently '\n' is also considered
non-printable.
The problem can easy be demonstrated with something along the line of:
troff
\!this string will appear in the ouput with a backslash attached
\!it shouldn't
.ex
There should now be some output with the two strings clearly visible and
with a backslash before the CR following these strings.
If you have the source, it is easy to fix. Look at the file n1.c and
look at the scaled down version of C library printf. You will see twice
code in the style of:
else if (c == 'c') {
c = *astr & 0377;
if (c > 0177 || c < 040)
putchar('\\');
putchar(*astr & 0177);
etc.
It is obvious that one should not print the backslash for certain chars
< 040, so the code need to look along the lines of:
else if (c == 'c') {
c = *astr & 0377;
switch(c) {
case '\n':
case '\t':
case '\f':
case '\b':
putchar(c); break;
default:
if (c > 0177 || c < 040)
putchar('\\');
putchar(*astr & 0177);
}
etc.
Note that I'm doing this from memory, so you mileage might vary how the
code actually looks like. Of course, if you don't have the source yell
to your supplier.
> The other problem is seen when embedding other insets into a zip object.
[Example deleted]
> This is a serious mess. I'm surprised no one has bothered to even mention
> these problems or attempted to fix them. Note that I have been happy
> with the new release since the folks at CMU (and friends) have put considerable
> effort in to de-CMUize the release. I just wish we could print the stuff
> now. :-(
Yep, it is a serious mess. Printing is not ATK strongest point. It is of
course difficult to put this infinite embedding of objects on paper. It
is amazing how much does work and yes, I'm afraid embedding insets in
zip looses when it gets printed.
Technical Details
Message-ID:
<AZuhW3200Vsw87elEj@andrew.cmu.edu>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!jarthur!elroy.jpl.nasa.gov!ames!pasteur!ucbvax!andrew.cmu.edu!jaap+References:
<AZuP_K601V8X8PIktA@khnphwzhn.njin.net>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!jarthur!elroy.jpl.nasa.gov!ames!pasteur!ucbvax!andrew.cmu.edu!jaap+ From: jaap+@andrew.cmu.edu (Jaap Akkerhuis) Newsgroups: comp.soft-sys.andrew Subject: Re: Printing bugs with insets. Message-ID: <AZuhW3200Vsw87elEj@andrew.cmu.edu> Date: 27 Feb 90 19:44:03 GMT References: <AZuP_K601V8X8PIktA@khnphwzhn.njin.net> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 81