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