[comp.laser-printers] Laserwriter II difference from LWI

sjh@HELICON.MATH.PURDUE.EDU (Steve Holmes) (08/21/90)

Below I include the result of trapping the output of a TeX document which 
contained only

AAAAAAA$\longrightarrow$ZZZZZZZ
\bye

which was then filtered through dvi2ps,
and then removing by hand all of the extraneous code, including that which 
printed the A's and Z's (which were there to help isolate the arrow).  

Problem: This code printed on the LWI prints a staight arrow, on the LWIINTX it
prints an arrow with an offset in the middle.  like:

_____________---------------->

The offset is less than the line width.

I don't have time to try to remove more code to see if I can figure out what
is going on.  I have added a couple of comments near the end to indicate 
which line is drawing which part of the arrow.

Can anyone out there help?  What is causing this problem?  Is there something
I can do in dvi2ps to fix it, or is there printer upgrade or adjustment that
can be made to fix it?  There are a number of faculty in the math department
who need this arrow and are not satisfied with the broken one.

(Please mail responses, I don't get a chance to read news often.)

Thanks,
Steve Holmes				purdue!sjh
Systems Administrator			sjh@math.purdue.edu
Dept. of Mathematics			(317) 494-6055
Purdue University
W. Lafayette, Indiana 47907

==============================================================================
%!
/TeXDict 200 dict def 
TeXDict begin 
/Inch {300 mul} def 
/Mtrx 6 array def
/ch-image {ch-data 0 get} def 
/ch-width {ch-data 1 get} def 
/ch-height {ch-data 2 get} def 
/ch-xoff {ch-data 3 get} def 
/ch-yoff {ch-data 4 get} def 
/ch-tfmw {ch-data 5 get} def 
/CharBuilder 
{ /ch-code exch def 
/font-dict exch def 
/ch-data font-dict /BitMaps get ch-code get def 
ch-data null eq not
{ ch-tfmw 0 ch-xoff neg ch-yoff neg ch-width ch-xoff sub ch-height ch-yoff sub
setcachedevice
ch-width ch-height true [1 0 0 1 ch-xoff ch-yoff]
{ch-image} imagemask
}
if
} def
/@sf 
{ cvn cvx exec setfont
} def
/@dc 
{ /ch-code exch def
dup 0 get
length 2 lt
{ pop [ <00> 1 1 0 0 8.00 ] } if
/ch-data exch def
currentfont /BitMaps get ch-code ch-data put
currentfont /Encoding get ch-code 
dup (   ) cvs cvn 
put
} def
/c 
{ c-string exch 0 exch put
c-string show
} def
/c-string ( ) def
%
%Begin
%
TeXDict begin
letter initmatrix
72 300 div dup neg scale 
1.0333 Inch 10.0166 Inch neg translate 
Mtrx currentmatrix pop 
%
%newfont
%
[ 300 ] /cmsy10.300 /newname exch def
pop
newname 7 dict def 
newname load begin

/FontType 3 def
/FontMatrix [1 0 0 -1 0 0] def
/FontBBox [0 0 1 1] def
/BitMaps 128 array def
/BuildChar {CharBuilder} def
/Encoding 128 array def
0 1 127 {Encoding exch /.undef put} for
end
newname newname load definefont pop
%
% done newfont
%
(cmsy10.300) @sf
[<FFFFFF80FFFFFF80> 32 2 -3 -9 32.286] 0 @dc
[<000000040000000002000000000200000000010000000000800000000040FFFFFFFFF8FFFFFFFFF800000000400000000080
  0000000100000000020000000002000000000400> 40 14 -2 -3 41.510] 33 @dc
1 pop
erasepage initgraphics 
Mtrx setmatrix
/SaveImage save def() pop
0 0 moveto 
1 setlinejoin 
(cmsy10.300) @sf
%
% This line prints the short straight extension to the left of the arrow
%
0 c
%
% This line prints the short arrow
%
-6 0 rmoveto 33 c
showpage 
end
Steve Holmes				purdue!sjh
Systems Administrator			sjh@math.purdue.edu
Dept. of Mathematics			(317) 494-6055
Purdue University