<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.21184" name=GENERATOR>
<STYLE>@page Section1 {size: 612.0pt 792.0pt; margin: 72.0pt 77.95pt 72.0pt 77.95pt; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: blue; TEXT-DECORATION: underline
}
P.MsoPlainText {
        FONT-SIZE: 10pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Courier New"
}
LI.MsoPlainText {
        FONT-SIZE: 10pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Courier New"
}
DIV.MsoPlainText {
        FONT-SIZE: 10pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Courier New"
}
PRE {
        FONT-SIZE: 10pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Courier New"
}
P.avgcert {
        FONT-SIZE: 12pt; MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; FONT-FAMILY: "Times New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
LI.avgcert {
        FONT-SIZE: 12pt; MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; FONT-FAMILY: "Times New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
DIV.avgcert {
        FONT-SIZE: 12pt; MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; FONT-FAMILY: "Times New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
SPAN.EmailStyle19 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle20 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=blue link=blue>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>Hi Bruce,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>You beat me to it!  I've spent the last few days 
learning metapost and rummaging around the bowels of the Therion's source code 
and have more or less got to what you have summarised below.  I also 
spotted the smartlabel, though haven't yet tried it in the re-definition of 
p_continuation.  </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>I surmise that stations with fixed co-ordinates are 
not exported by Therion in any detectable way; while the th2 mark "fixed" 
is exported as "mark", and the th2 flags are exported as "flags".  The 
items that are exported are accessible in 
metapost.  </FONT></SPAN><SPAN class=094593821-30112011><FONT 
face=Arial color=#0000ff size=2>In the debug output data.mp file, I saw that 
"attr code" is exported by Therion as ATTR_code, where "code" is whatever attr 
has been declated in the th2 file.  Note that it only has one "_" whereas 
ATTR__text has two "_".   So o<SPAN class=094593821-30112011><FONT 
face=Arial color=#0000ff size=2>ne thing I tried that did work is to print the 
value of my user define attr statements instead of the text, which is 
potentially quite useful, as I can display a short code, and use 
continuation.html for the longer description.  However, this still relies 
on having the "continuation" flag set.  </FONT></SPAN></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>I used the following re-definition of </FONT></SPAN><SPAN 
class=094593821-30112011><FONT face=Arial color=#0000ff size=2>p_continuation 
using ATTR_code instead of the example's ATTR__text, as 
follows</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>**THE FOLLOWING WORKS**</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2> code metapost<BR>  def p_continuation(expr 
pos,theta,sc,al) =<BR>   % draw default continuation 
symbol<BR>   p_continuation_UIS(pos,theta,sc,al);</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>   % if attr code is 
set<BR>   if known(ATTR_code):</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>    % set labeling color to light 
orange<BR>    push_label_fill_color(1.0, 0.9, 
0.8);<BR>    <BR>    % draw filled label 
with text next to ?<BR>    p_label.urt(ATTR_code,(.5u,-.25u) 
transformed T,0.0,8);<BR>    <BR>    % 
restore original labeling 
color<BR>    pop_label_fill_color;<BR>   fi;<BR>  enddef;<BR> endcode  <BR></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>Looking at p_station_SKBB, the problem you and I are facing 
is that it's only for the "continuation" flags that ATTR__text has been 
set.  I</FONT></SPAN><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>t occurred to me that if it was possible to refedine 
p_station_SKBB in the thconfig file, then it would be possible to output 
ATTR__text if an "attr code" has been declared in the th2 file.  
</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>For example, th2 file:-</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>station 1 "Some text to output" entrance attr print 
"true"</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=094593821-30112011><FONT face=Arial 
color=#0000ff size=2>My example p_station_SKBB is below.  
</FONT></SPAN><FONT face=Arial color=#0000ff size=2><SPAN 
class=094593821-30112011>Unfortunately, I've so far not managed to see it being 
executed.  I can see it appear in the data.mp debug file, but the changes 
I've made to it don't appear to work - the text is not yet being output to my 
pdf file. Also, I don't understand yet the purpose of the metapost "save" 
command, and the manual doesn't really shed much light on it!  So it's 
possible that I've just not yet properly understood metapost syntax.  
</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=094593821-30112011></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=094593821-30112011>This 
is the sort of thing I've got in mind </SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=094593821-30112011></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=094593821-30112011>** 
WARNING, THE FOLLOWING IS NOT YET WORKING **</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2>def p_station_SKBB(expr 
pos,mark,txt)(text flags) =<BR>  T:=identity shifted pos;</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>  if mark=4: 
p_station_fixed(pos)<BR>  elseif mark=3: p_station_natural(pos)<BR>  
elseif mark=2: p_station_painted(pos)<BR>  elseif mark=1: 
p_station_temporary(pos)<BR>  fi;<BR>  <BR>  path 
path_cave;<BR>  path_cave = (-.3u,-.25u) -- (-.2u,-.25u){dir 135} .. (0, 
.25u) .. {dir 225}(.2u,-.25u) -- (.3u,-.25u);<BR>  for 
i=flags:<BR></FONT><FONT face=Arial color=#0000ff size=2><SPAN 
class=094593821-30112011>      % ... etc.  No 
change to contents of for-loop</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2>  endfor;<BR></DIV></FONT>
<DIV><SPAN class=094593821-30112011><FONT face=Arial color=#0000ff 
size=2>   % if the "print" attribute is set to true, display the 
text</FONT></SPAN></DIV>
<DIV><SPAN class=094593821-30112011><FONT face=Arial color=#0000ff 
size=2>   if known (ATTR_print) and 
ATTR_print="true":</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2>      if 
picture(txt):<BR>        picture 
ATTR__text;<BR>        ATTR__text := 
txt;<BR></FONT><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN 
class=094593821-30112011>        % set 
labeling color to light orange<BR>        
push_label_fill_color(1.0, 0.9, 
0.8);<BR>    <BR>        % draw 
filled label with text next to ?<BR>        
p_label.urt(ATTR__text,(.5u,-.25u) transformed 
T,0.0,8);<BR>    <BR>        % 
restore original labeling color<BR>       
 pop_label_fill_color;<BR></SPAN>    <SPAN 
class=094593821-30112011> </SPAN>   save 
ATTR__text;<BR>      fi;<BR>%  thdraw (0,0) 
withpen PenX withcolor red;<BR>enddef;<BR></FONT></FONT></FONT></DIV>
<DIV><FONT><FONT><SPAN class=094593821-30112011><FONT face=Arial color=#0000ff 
size=2>You're welcome to try it to see if you can get it to 
work!</FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT><FONT><SPAN class=094593821-30112011><FONT face=Arial color=#0000ff 
size=2>Regards,</FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT><FONT><SPAN class=094593821-30112011><FONT face=Arial color=#0000ff 
size=2>- Ben</FONT></SPAN></DIV></FONT></FONT>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=094593821-30112011></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT><FONT face=Arial color=#0000ff 
size=2></FONT><FONT face=Arial color=#0000ff size=2></FONT><BR></DIV>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> therion-bounces@speleo.sk 
  [mailto:therion-bounces@speleo.sk] <B>On Behalf Of </B>Bruce<BR><B>Sent:</B> 
  29 November 2011 18:20<BR><B>To:</B> 'List for Therion 
  users'<BR><B>Subject:</B> Re: [Therion] symbol-show fixed points / point 
  text<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV class=Section1>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">Ben<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">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 face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">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 face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">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 face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">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 face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">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 face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">Bruce<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">def p_continuation_UIS(expr pos,theta,sc,al) 
  =<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  U:=(.15u,.3u);<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  T:=identity aligned al shifted 
  pos;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  %% draw ? symbol<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  pickup PenC;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  thdraw 
  (-.1u,.2u){up}..{down}(.1u,.2u)..{down}(0,-.05u);<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  pickup PenX;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  thdraw (0,-.2u);<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">enddef;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">def p_station_SKBB(expr pos,mark,txt)(text flags) 
  =<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  T:=identity shifted 
  pos;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  if mark=4: 
  p_station_fixed(pos)<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  elseif mark=3: 
  p_station_natural(pos)<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  elseif mark=2: 
  p_station_painted(pos)<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  elseif mark=1: 
  p_station_temporary(pos)<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  fi;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  <o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  path path_cave;  %% = omega 
  symbol<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  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 face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  for i=flags:<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">    pickup 
  PenX;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">    if 
  i="entrance":<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">%      thfill fullcircle 
  scaled 1 cm withtransparentcolor tr_blue;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw 
  path_cave;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">%      
  p_label.urt(txt,pos+(0.4u,0),0,0);<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      %% 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 face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">        if not numeric 
  txt:  <o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">        
  p_smartlabel(txt,pos);  %% This is the wonderous self organising label i 
  think<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      
  fi;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">        
  %%<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">    elseif 
  i="sink":<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw path_cave 
  cutbefore ((-u,0)--(u,0)) cutafter 
  ((-u,0)--(u,0));<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      pickup 
  PenA;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw (0,-.45u) -- 
  (0,.05u) withcolor blue;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw (-.15u,-.02u) -- 
  (0,.05u) -- (.15u,-.02u) withcolor blue;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">    elseif 
  i="spring":<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw path_cave 
  cutbefore ((-u,0)--(u,0)) cutafter 
  ((-u,0)--(u,0));<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      pickup 
  PenA;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw (0,-.45u) -- 
  (0,.05u) withcolor blue;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw (-.15u,-.38u) -- 
  (0,-.45u) -- (.15u,-.38u) withcolor blue;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">    elseif 
  i="doline":<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw 
  (-.5u,.05u){down}..(0,-0.6u)..{up}(.5u,.05u);<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">    elseif 
  i="dig":<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw (-.5u,.25u) -- 
  (-.35u,.25u)--(-.23u,-.25u)--(.23u,-.25u)--(.35u,.25u)--(.5u,.25u);<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">    elseif substring(0,11) of i = 
  "air-draught":<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      pickup 
  PenB;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw 
  ((0,.11u){dir-120} ..{dir-70}(0,0) .. 
  {dir-120}(0,-.11u));<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      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 face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      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 face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">    elseif 
  i="continuation":<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      if 
  picture(txt):<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">        picture 
  ATTR__text;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">        ATTR__text 
  := txt;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      
  fi;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      
  begingroup;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">        save T; 
  transform T;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">        
  p_continuation(pos+(0,.25u),0,1,(0,1));<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      
  endgroup;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      if 
  picture(txt):<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">        save 
  ATTR__text;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      
  fi;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">    elseif 
  i="arch":<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw 
  (-.5u,-.25u)--(-.5u,.25u)--(.5u,.25u)--(.5u,-.25u)..(0,.2u)..cycle;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thfill 
  (-.5u,-.25u)--(-.5u,.25u)--(.5u,.25u)--(.5u,-.25u)..(0,.2u)..cycle;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">    elseif 
  i="overhang":<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">      thdraw 
  (.2u,-.25u)--(-.2u,-.25u){up}..{right}(.2u,.25u);<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">    fi;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">  endfor;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">%  thdraw (0,0) withpen PenX withcolor 
  red;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt">enddef;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoPlainText><FONT face="Courier New" size=2><SPAN lang=EN-NZ 
  style="FONT-SIZE: 10pt"><o:p> </o:p></SPAN></FONT></P></DIV></BLOCKQUOTE></BODY></HTML>