</TABLE>
<P>
The primitive shapes are:
<CENTER>
<TABLE>
  <TR>
    <TD>"box"<TD><IMG SRC="a_box.gif">
    <TD>"crow"<TD><IMG SRC="a_crow.gif">
    <TD>"curve"<TD><IMG SRC="a_curve.gif">
    <TD>"diamond"<TD><IMG SRC="a_diamond.gif">
  </TR>
  <TR>
  </TR>
  <TR>
    <TD>"dot"<TD><IMG SRC="a_dot.gif">
    <TD>"icurve"<TD><IMG SRC="a_icurve.gif">
    <TD>"inv"<TD><IMG SRC="a_inv.gif">
    <TD>"none"<TD><IMG SRC="a_none.gif">
  </TR>
  <TR>
  </TR>
  <TR>
    <TD>"normal"<TD><IMG SRC="a_normal.gif">
    <TD>"tee"<TD><IMG SRC="a_tee.gif">
    <TD>"vee"<TD><IMG SRC="a_open.gif">
  </TR>
</TABLE>
</CENTER>
<P>
As for the modifiers:
<DL>
<DT>'l'
  <DD> Clip the shape, leaving only the part to the left of the edge.
<DT>'r'
  <DD> Clip the shape, leaving only the part to the right of the edge.
<DT>'o'
  <DD> Use an open (non-filled) version of the shape.
</DL>
Left and right are defined as those directions determined by looking
from the edge towards the point where the arrow "touches" the node.
<P>
As an example, the arrow shape <TT>lteeoldiamond</TT> is parsed as
<TT>'l' 'tee' 'o' 'l' 'diamond'</TT> and corresponds to the shape
<CENTER>
<IMG SRC="a_lteeoldiamond.gif">
</CENTER>
Note that the first arrow shape specified occurs closest to the node.
Subsequent arrow shapes, if specified, occur further from the node.
Also, a shape of <tt>none</tt> uses space, so, for example, the arrowhead <tt>nonenormal</tt>
is not the same as <tt>normal</tt>.
<P>
Not all syntactically legal combinations of modifiers are meaningful
or semantically valid.
For example, none of the modifiers make any sense with <TT>none</TT>.
The following table indicates which modifiers are allowed with which shapes.
<P>
<CENTER>
<TABLE BORDER=2>
<TR ALIGN=CENTER>
 <TH>Modifier</TH>
 <TH>box
 <TH>crow
 <TH>curve
 <TH>diamond
 <TH>dot
 <TH>icurve
 <TH>inv
 <TH>none
 <TH>normal
 <TH>tee
 <TH>vee
</TR>
<TR ALIGN=CENTER><TD>'l'/'r'<TD>X<TD>X<TD>X<TD>X<TD>&nbsp;<TD>X<TD>&nbsp;<TD>X<TD>X<TD>X</TR>
<TR ALIGN=CENTER><TD>'o'    <TD>X<TD>&nbsp;<TD>&nbsp;<TD>X<TD>X<TD>X<TD>&nbsp;<TD>X<TD>&nbsp;<TD>&nbsp;</TR>
</TABLE>
</CENTER>
<P>
This yields 42 different arrow shapes. The optional second, third, fourth shapes
can independently be any of the 42, except the last cannot be <TT>none</TT> as
this would create a redundant shape.
Thus, there are 41 &middot; 42<sup>3</sup> + 41 &middot; 42<sup>2</sup> + 41 &middot; 42 + 42 = 3,111,696 different combinations.

<P>
The following display contains the 42 combinations possible with a single
arrow shape. The node attached to the arrow is not drawn but would appear
on the right side of the edge.
<P>
