On Wed, Apr 6, 2016 at 9:52 AM, Hans Hagen <pragma@wxs.nl> wrote:
On 4/6/2016 1:44 AM, Aditya Mahajan wrote:
Hi,

There appears to be a metapost bug with square pens and dash patterns:

\starttext

\startMPcode
     pickup pencircle scaled 1bp;
     drawarrow origin -- (5cm, 4cm) dashed evenly;
     pickup pensquare scaled 1bp;
     drawarrow origin -- (5cm,-4cm) dashed evenly;
\stopMPcode

\stoptext

Note that the second arrow is not dashed at all! This is not due to the
thick pen.

pencircles make simple round pens that are mapped directly onto ps primitives and there dashing applies (dashing is just passing data to the backend) ... afaik other penshapes can result in a filled path so no dashing applies

(but mp master luigi will tripple check it in the source for you so he might come up with another answer)

(and after that, as mathematical challenge, alan will write a mp macro that fakes the dashing)

Hans




 # cat test-square.mp test-circle.mp 
beginfig(1);
tracingall;
%pickup pencircle scaled 1bp;
%drawarrow origin -- (5cm, 4cm) dashed evenly;
pickup pensquare scaled 1bp;
drawarrow origin -- (5cm,-4cm) dashed evenly;
endfig;
end.



beginfig(1);
tracingall;
pickup pencircle scaled 1bp;
drawarrow origin -- (5cm, 4cm) dashed evenly;
%pickup pensquare scaled 1bp;
%drawarrow origin -- (5cm,-4cm) dashed evenly;
endfig;
end.

 # mpost test-square.mp 
says, near the end,


Edge structure at line 7 (just shipped out):
Filled pen stroke :
(0,0)..controls (47.24408,-37.79527) and (94.48817,-75.59053)
 ..(141.73225,-113.3858)
dashed (on 3 off 3) shifted 0 (this will be ignored)


while
# mpost test-circle.mp 
says 

Edge structure at line 7 (just shipped out):
Filled pen stroke :
(0,0)..controls (47.24408,37.79527) and (94.48817,75.59053)
 ..(141.73225,113.3858)
dashed (on 3 off 3) shifted 0

So it doesn't look  a mpost bug .

--
luigi