<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-NZ link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Somewhere between Therion 5.5.7+67fffb0 (2021-02-22) and Therion 5.5.7+c43b32a (2021-03-08) (hope those are the right versions – I might have got confused) the behaviour of my line arrows and map-connections has changed.<o:p></o:p></p><p class=MsoNormal>I use some modified/customised code for these, which I last edited in 2018, so while this recent change in behaviour might be a consequence of my clumsy coding, the change is triggered somewhere between those two development releases.<o:p></o:p></p><p class=MsoNormal>Therion calls the metapost definition l_arrow to draw both arrows and map connections, so to some extent the appearance of each is tied together.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’m just wondering if I should tidy up my symbol definition code (I know I should) or whether something has been broken slightly in the recent Therion versions?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This is what I used to have, with Therion 5.5.7+67fffb0 (2021-02-22) and earlier.<o:p></o:p></p><p class=MsoNormal><img width=228 height=40 style='width:2.375in;height:.4166in' id="Picture_x0020_10" src="cid:image002.png@01D7394F.CC1AB160"><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><img width=219 height=348 style='width:2.2777in;height:3.625in' id="Picture_x0020_11" src="cid:image004.png@01D7394F.CC1AB160"> <img width=428 height=181 style='width:4.4583in;height:1.8819in' id="Picture_x0020_17" src="cid:image007.png@01D7394F.CC1AB160"><o:p></o:p></p><p class=MsoNormal>And for arrows, these small filled heads are what I used to get<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><img width=123 height=115 style='width:1.2777in;height:1.1944in' id="Picture_x0020_9" src="cid:image008.png@01D7394F.CC1AB160"><img width=200 height=121 style='width:2.0833in;height:1.2569in' id="Picture_x0020_8" src="cid:image009.png@01D7394F.CC1AB160"> <img width=211 height=95 style='width:2.2013in;height:.993in' id="Picture_x0020_7" src="cid:image010.png@01D7394F.CC1AB160"><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>With Therion 5.5.7+c43b32a (2021-03-08) this is what I now get<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> <img width=213 height=43 style='width:2.2222in;height:.4444in' id="Picture_x0020_5" src="cid:image012.png@01D7394F.CC1AB160"><o:p></o:p></p><p class=MsoNormal><img width=203 height=347 style='width:2.118in;height:3.618in' id="Picture_x0020_6" src="cid:image014.png@01D7394F.CC1AB160"><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><img width=106 height=97 style='width:1.1041in;height:1.0138in' id="Picture_x0020_4" src="cid:image016.png@01D7394F.CC1AB160"><img width=175 height=117 style='width:1.8263in;height:1.2152in' id="Picture_x0020_3" src="cid:image018.png@01D7394F.CC1AB160"><img width=153 height=81 style='width:1.5902in;height:.8402in' id="Picture_x0020_2" src="cid:image020.png@01D7394F.CC1AB160"><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> Same is happening with Therion 5.5.7+f94faef (2021-04-23)<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>Looks like the arrow heads on a line arrow now are drawn wider, such that a gap appears inside of the arrow head, dependant on the arc of the line on which it is drawn.<o:p></o:p></p><p class=MsoNormal>And somehow the arrow head on the map-connection line has become fat and blobby.  The pen width appears to have grown very wide.<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>As though my custom code is no longer being used for arrow heads?<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>My custom code for map-connections, last edited in May 2018 as below.<o:p></o:p></p><p class=MsoNormal>Aside from the problem I have described above, I would like the arrow lines to be narrower than the map connection lines, and the arrow heads for line arrows to be small and the arrow heads for map connections to be large.<o:p></o:p></p><p class=MsoNormal>Three years ago when I tried I could not make it work, but maybe as a result of this someone can give some guidance.  <o:p></o:p></p><p class=MsoNormal>Having mapconnection call l_arrow brings about a nice degree of consistency, but can be frustrating where discrete differences are desired.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If anyone knows how to morph the arrow heads to follow the curve of the line, that would be great as well.  To avoid the disjointed examples on the left above.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Bruce<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>#ARROW and MAP-CONNECTION REDEFINITIONS</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>#--------------------------</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>code metapost</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>% Q = 0 -- no arrows</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>% 1 -- end</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>% 2 -- begin</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>% 3 -- both</span><o:p></o:p></p><p class=MsoNormal><b><span style='font-family:"Arial",sans-serif'>def l_arrow (expr P, Q) =</span><o:p></o:p></b></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>T:=identity;</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>pickup PenB;</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>thdraw P;</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif;color:black;background:yellow'>p := (-.1u,-.5u)--(0,0)--(.1u,-.5u)--cycle; </span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif;color:black;background:yellow'>% 0.25 changed to .5 and close end to get nicer arrowhead</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>if odd Q:</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>thfilldraw p rotated (angle(thdir(P,0))+90) </span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>shifted (point 0 of P);</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>fi;</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>if Q>1:</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>thfilldraw p rotated (angle(thdir(P,length P))-90) </span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>shifted (point infinity of P);</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>fi;</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>enddef;</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'> </span><o:p></o:p></p><p class=MsoNormal><b><span style='font-family:"Arial",sans-serif'>def l_mapconnection (expr P) =</span><o:p></o:p></b></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>thdrawoptions(dashed dashpattern(on 1bp off 2bp on 1bp off 2bp) </span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'> </span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>scaled (2 * optical_zoom) withpen PenB);</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>%draw map-connection line with arrowhead at end</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>l_arrow(P,1); <span style='color:black;background:yellow'>%How to double or triple arrowhead size with this call?</span></span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'> </span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>%draw dot at start of map-connection line</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>thdraw point infinity of P withpen pencircle scaled 0.3u; </span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif;color:black;background:yellow'>%Why infinity and not 0 for dot at start of line?? </span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif;color:black;background:yellow'>%If point before arrow head, then point does not render in legend but does on map??</span><span style='font-family:"Arial",sans-serif'> </span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'> </span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>thdrawoptions();</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>enddef;</span><o:p></o:p></p><p class=MsoNormal><span style='font-family:"Arial",sans-serif'>endcode</span><o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>