🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.soft-sys.andrew
Article #2118

Printing bugs with insets.

#2118
From: Rocky - Rakesh Patel
Date: Mon, 26 Feb 1990 22:49
178 lines
5912 bytes

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.

psdit from Transcript,  recognizes all code between a '%' and a '.' on 
a line by itself to be embedded postscript.  However, since ezprint generates
a '\' at the end of each line of the postscript code,  it ends with a `.\'. 
This causes psdit to assume the following ditroff output code to be postscript.
That really is a bug with ezprint - not psdit. Those '\'s shouldn't be added
unless it is part of the valid postscript code.


The other problem is seen when embedding other insets into a zip object.

For example:

[An Andrew ToolKit view (a drawing) was included here, but could not be
displayed.]

Results in the following code from ezprint (ezprint -t) :

.so /usr/local/andrew/lib/tmac/tmac.atk
.IZ
.nr IN 36p
.nr LT 432p
.nr PO 54p
.br
.ad b
'ft R
.nr PS 12
.ps \n(PS
.nr VS 14p
.vs \n(VSu
.nr EN 8n
.sp 0.5i
.nr DP 0
.ds Fn \fR
.ds HF R
.nr HS \n(.s
.ds FF R
.nr FS \n(.s
.RS
.nh
.OC
'PB 586 413
'if  \n(zT  \{\
\!    586 troffadjust 413 neg translate

\!%!PS-Adobe-2.0 EPSF-1.2
\!% Begin Zip PostScript Prelude  Version 0.0
\!gsave  % Save Environment Around Zip Drawing
\!1 -1 scale
\!1 setlinewidth  2 setlinejoin
\!
\!/zip_Rectangle {
\!	gsave newpath
\!	0 setgray  /LW exch def  /shade exch def
\!	/B exch def  /R exch def  /T exch def  /L exch def
\!	L T moveto  R T lineto  R B lineto  L B lineto  L T lineto
\!	shade 0 gt {gsave shade setgray fill grestore} if
\!	closepath LW 0 gt {LW setlinewidth stroke} if  grestore
\!	}def
\!/zip_Round_Rectangle {
\!	gsave newpath
\!	0 setgray  /LW exch def  /shade exch def
\!	/YR exch def
\!	/XR exch def
\!	/B exch def  /R exch def  /T exch def  /L exch def
\!	L XR add   T moveto
\!	R T  R B XR arcto  4 {pop} repeat
\!	R B  L B XR arcto  4 {pop} repeat
\!	L B  L T XR arcto  4 {pop} repeat
\!	L T  R T XR arcto  4 {pop} repeat
\!	shade 0 gt {gsave shade setgray fill grestore} if
\!	closepath LW 0 gt {LW setlinewidth stroke}if  grestore
\!	}def
\!/zip_Line {
\!	0 setgray /LW exch def  moveto lineto LW setlinewidth stroke
\!	}def
\!/zip_Poly_Line {
\!	newpath 0 setgray
\!	2 sub /npoints exch def
\!	moveto currentpoint
\!	/lastY exch def   /lastX exch def
\!	0 1 npoints {pop lineto} for
\!	lastx lasty lineto
\!	/lastx lastX def  /lasty lastY def
\!	shade 0 gt {gsave shade setgray fill grestore} if
\!	LW 0 gt {LW setlinewidth stroke} if
\!	}def
\!/zip_Trapezoid {
\!    setgray
\!    moveto  3 {lineto} repeat
\!    fill  0 setgray
\!    }def
\!/zip_Ellipse {
\!    moveto  /R exch def
\!    gsave scale
\!    currentpoint newpath
\!    R 0 360 arc  closepath stroke grestore
\!    }def
\!/zip_Fill_Ellipse {
\!    moveto  /R exch def
\!    gsave scale
\!    currentpoint newpath
\!    R 0 360 arc  closepath setgray fill  grestore
\!    }def
\!/zip_Center_X {
\!    stringwidth pop  2 div sx exch sub /sx exch def
\!    }def
\!/zip_Right_X {
\!    stringwidth pop  sx exch sub /sx exch def
\!    }def
\!/zip_Middle_Y {
\!    2 div sy exch sub /sy exch def
\!    }def
\!/zip_Bottom_Y {
\!    sy exch sub /sy exch def
\!    }def
\!% End Zip PostScript Prelude
\!
\!% Begin Zip Drawing
\! 0 -396 translate  % Portrait Mode
\! /width 586 def /height 413 def  % Set Clip Rectangle
\! newpath 0 0 moveto
\! 0 height lineto width height lineto
\! width 0 lineto 0 0 lineto clip  newpath
\! /lastx 278.24 def /lasty 192.12 def /shade 0.00 def /LW 1 def
\!  278.24 192.12
\! 1 zip_Poly_Line
\! /Times-BoldItalic findfont 40 scalefont setfont
\! gsave 1 -1 scale
\! /sx 285.43 def  /sy 23.67 neg def
\! (Some people don't like fire breathing dragons....) zip_Center_X
\! 40 zip_Middle_Y
\! sx sy moveto (Some people don't like fire breathing dragons....) show
grestore
\! gsave   % Save Zip Environment Surrounding Imbedded Object
\! 0 530 translate 1 -1 scale  % Set Zip Imbedded Object Environment
  /width -1 def  /height -1 def /xScale 0.4800 def /yScale 0.4800 def
     width xScale mul height yScale mul scale
     /picstr width 7 add 8 idiv string def
        width height 1
        [width    0    0    height neg    0    height]
        {currentfile picstr readhexstring pop}
     image
\! grestore  % Restore Zip Environment Surrounding Imbedded Object
\! grestore  % Restore Environment Around Zip Drawing
\! % End Zip Drawing
\}
'PE 586 413
.TA




Notice that the embedded raster's postscript is not quoted with '\!',
and that the raster's data for the image operator is non-existent.
When feeding this code through ditroff, we end up with the non-
quoted postsrcipt being translated as ditroff code of course....

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.  :-(

I have to set up my format command to strip the extraneous '\'s added 
after each postscript line, so that  normal rasters can print. This problem
with insets is a serious mess. I haven't decided yet whether to dive in
there and see
if I can fix the problem.  Has anyone fixed these problems, or taken a good
look at them?

Rakesh Patel.
Technical Details
Message-ID: <AZuP_K601V8X8PIktA@khnphwzhn.njin.net>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!samsung!uakari.primate.wisc.edu!ames!pasteur!ucbvax!khnphwzhn.njin.net!rapatel

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!samsung!uakari.primate.wisc.edu!ames!pasteur!ucbvax!khnphwzhn.njin.net!rapatel
From: rapatel@khnphwzhn.njin.net (Rocky - Rakesh Patel)
Newsgroups: comp.soft-sys.andrew
Subject: Printing bugs with insets.
Message-ID: <AZuP_K601V8X8PIktA@khnphwzhn.njin.net>
Date: 26 Feb 90 22:49:58 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Organization: The Internet
Lines: 178