<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="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 11 (filtered medium)">
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:blue;
text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
pre
{margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.avgcert, li.avgcert, div.avgcert
{mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman";}
span.EmailStyle19
{mso-style-type:personal;
font-family:Arial;
color:navy;}
span.EmailStyle20
{mso-style-type:personal;
font-family:Arial;
color:navy;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 77.95pt 72.0pt 77.95pt;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=blue>
<div class=Section1>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>Ben<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>I think the following (dumped below) from the therion
sources mpost\thPoint.mp holds the solution to what we are looking for. And I think
the smartlabel is the wonderous self organising label routine. I have not had
time to verify all this however.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>Stacho tried to point me to it <a
href="http://article.gmane.org/gmane.comp.gis.therion/2468/match=symbol+show+fixed+points+text">http://article.gmane.org/gmane.comp.gis.therion/2468/match=symbol+show+fixed+points+text</a>
but I did not follow up on it.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>The first definition below is the code for drawing the
? symbol of a continuation point. You just need to replace the thdraw
statements with the symbol you would like. Don’t ask me how – my approach is
to trawl the rest of the therion code for a symbol I like and perhaps tweak it
a little.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>The second shows how mark is used to decide what
station ‘x’ mark to use, and then how the flags control how the secondary
symbols are added. The %% comments are mine, so may not be correct. It shows
that station comment text is only added if the station is flagged entrance.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>I think moving the smartlabel into all but the station_temporary
conditional statements might be what we are after.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>Bruce<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>def p_continuation_UIS(expr pos,theta,sc,al) =<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> U:=(.15u,.3u);<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> T:=identity aligned al shifted pos;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> %% draw ? symbol<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> pickup PenC;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw
(-.1u,.2u){up}..{down}(.1u,.2u)..{down}(0,-.05u);<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> pickup PenX;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw (0,-.2u);<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>enddef;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>def p_station_SKBB(expr pos,mark,txt)(text flags) =<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> T:=identity shifted pos;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> if mark=4: p_station_fixed(pos)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> elseif mark=3: p_station_natural(pos)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> elseif mark=2: p_station_painted(pos)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> elseif mark=1: p_station_temporary(pos)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> fi;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> path path_cave; %% = omega symbol<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> path_cave = (-.3u,-.25u) -- (-.2u,-.25u){dir 135} ..
(0, .25u) .. {dir 225}(.2u,-.25u) -- (.3u,-.25u);<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> for i=flags:<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> pickup PenX;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> if i="entrance":<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>% thfill fullcircle scaled 1 cm
withtransparentcolor tr_blue;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw path_cave;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>% p_label.urt(txt,pos+(0.4u,0),0,0);<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> %% move this if block outside of for loop to
label all stations, not just flagged entrance<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> if not numeric txt: <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> p_smartlabel(txt,pos); %% This is the
wonderous self organising label i think<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> fi;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> %%<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> elseif i="sink":<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw path_cave cutbefore ((-u,0)--(u,0))
cutafter ((-u,0)--(u,0));<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> pickup PenA;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw (0,-.45u) -- (0,.05u) withcolor blue;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw (-.15u,-.02u) -- (0,.05u) -- (.15u,-.02u)
withcolor blue;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> elseif i="spring":<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw path_cave cutbefore ((-u,0)--(u,0))
cutafter ((-u,0)--(u,0));<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> pickup PenA;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw (0,-.45u) -- (0,.05u) withcolor blue;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw (-.15u,-.38u) -- (0,-.45u) --
(.15u,-.38u) withcolor blue;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> elseif i="doline":<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw
(-.5u,.05u){down}..(0,-0.6u)..{up}(.5u,.05u);<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> elseif i="dig":<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw (-.5u,.25u) --
(-.35u,.25u)--(-.23u,-.25u)--(.23u,-.25u)--(.35u,.25u)--(.5u,.25u);<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> elseif substring(0,11) of i =
"air-draught":<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> pickup PenB;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw ((0,.11u){dir-120} ..{dir-70}(0,0) ..
{dir-120}(0,-.11u));<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw ((0,.11u){dir-120} ..{dir-70}(0,0) ..
{dir-120}(0,-.11u)) shifted (.11u,0);<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw ((0,.11u){dir-120} ..{dir-70}(0,0) ..
{dir-120}(0,-.11u)) shifted (-.11u,0);<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> elseif i="continuation":<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> if picture(txt):<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> picture ATTR__text;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> ATTR__text := txt;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> fi;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> begingroup;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> save T; transform T;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> p_continuation(pos+(0,.25u),0,1,(0,1));<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> endgroup;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> if picture(txt):<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> save ATTR__text;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> fi;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> elseif i="arch":<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw
(-.5u,-.25u)--(-.5u,.25u)--(.5u,.25u)--(.5u,-.25u)..(0,.2u)..cycle;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thfill
(-.5u,-.25u)--(-.5u,.25u)--(.5u,.25u)--(.5u,-.25u)..(0,.2u)..cycle;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> elseif i="overhang":<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> thdraw
(.2u,-.25u)--(-.2u,-.25u){up}..{right}(.2u,.25u);<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> fi;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'> endfor;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>% thdraw (0,0) withpen PenX withcolor red;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'>enddef;<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
</div>
</body>
</html>