<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>