Changeset e7c04bc in git


Ignore:
Timestamp:
17/06/10 18:09:52 (9 years ago)
Author:
Olly Betts <olly@…>
Branches:
svn/1.0, svn/tags/1.0.40
Children:
cf58e98
Parents:
3878cbc
Message:

doc/3dformat.htm,doc/HACKING.htm,doc/manual.sgml: Sync relevant
changes from 1.1.13.

git-svn-id: file:///home/survex-svn/survex/branches/1.0@3449 4b37db11-9a0c-4f06-9ece-9ab7cdaee568

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • ChangeLog

    r3878cbc re7c04bc  
     1Thu Jun 17 17:09:21 GMT 2010  Olly Betts <olly@survex.com>
     2
     3        * doc/3dformat.htm,doc/HACKING.htm,doc/manual.sgml: Sync relevant
     4          changes from 1.1.13.
     5
    16Thu Jun 17 16:25:40 GMT 2010  Olly Betts <olly@survex.com>
    27
  • doc/3dformat.htm

    r3878cbc re7c04bc  
     1<!DOCTYPE HTML PUBLIC "-//W4C//DTD HTML 4.0 Transitional//EN">
    12<HTML><HEAD>
    23<TITLE>Survex 3d Format Specification</TITLE>
    34<STYLE type="text/css"><!--
    4 BODY, TD, CENTER, UL, OL {font-family: sans-serif;}
     5BODY, TD, TH, CENTER, UL, OL {font-family: sans-serif;}
     6TD, TH {font-size: 11pt; vertical-align: top;}
     7TH {white-space: nowrap; background-color: #ffc;}
     8.code {text-align: center; white-space: nowrap;}
     9.type {text-align: center; white-space: nowrap;}
     10.data {text-align: left; white-space: nowrap;}
     11.desc {text-align: left; white-space: wrap;}
     12.version {text-align: center; white-space: wrap;}
     13TH.data, TH.desc {text-align: center;}
     14.reserved {background-color: #ddd;}
    515-->
    616</STYLE>
    717</HEAD><BODY BGCOLOR=white TEXT=black>
    8 <H1>Warning - Provisional</H1>
    9 
    10 This specification is reverse engineered from the code.  At least one person
    11 has written code to successfully written code to read 3d files using it, but
    12 it may be incorrect in minor details, and it's possible that there are points
    13 which aren't fully spelled out.  If you encounter any problems, please mail
    14 us so we can improve this document.
    15 
    1618<H1>Survex 3d Format Specification</H1>
    1719
    18 <P>If you're writing in C or C++ it's <b>strongly</b> recommended that you use
    19 the img routine provided with Survex to read and write 3d files.  Doing so
    20 means that you can take advantage of any revisions to the 3d format by simply
    21 rebuilding your software with the updated img routines, rather than having to
    22 update your own code.  It also allows you to read a sub-set of the data in
    23 the file, restricted by Survey prefix.</P>
    24 
    25 <P>This document only describes the most recent revision of the 3d format
    26 (version 3), which is produced by Survex versions 0.97 and later.</P>
     20<P>If you're writing in C or C++ it's <b>strongly</b> recommended
     21that you use the img routine provided with Survex to read and write
     223d files.  Doing so means that you can take advantage of any revisions
     23to the 3d format by simply rebuilding your software with the updated
     24img routines, rather than having to update your own code.  It also
     25allows you to read a sub-set of the data in the file, restricted by
     26Survey prefix.</P>
     27
     28<P>This document only describes the more recent revisions of the 3d format
     29(versions 3, 4, 5, and 6).
     30Version 3 was produced by Survex versions 0.97 and later,
     31version 4 by Survex 1.1.0-1.1.3,
     32version 5 by Survex 1.1.4-1.1.10,
     33and version 6 by versions from 1.1.11.</P>
     34
     35<P>If you try to use this specification and find details which aren't
     36spelled out clearly enough (or at all!) or any errors, please let us know.
     37At least two people have successfully written code to read 3d files
     38using this document, but that doesn't mean it can't be improved.
     39</P>
    2740
    2841<H2>File Header</H2>
    2942
    30 <P>This consists of:
     43<P>This consists of:</P>
    3144
    3245<ul>
    33 <li> File ID: the string "Survex 3D Image File" followed by a linefeed (decimal 10, hex x0a). [Note: v0.01 files can have a carriage return before this and
    34 other linefeeds - this is a file format error in any other format version].
    35 <li> File format version: "v3" followed by a linefeed.  Valid values for
    36 older format versions are ("v0.01", "Bv0.01", "bv0.01", "v2").  Newer versions
    37 will be "v4", "v5", ..., "v10", "v11", etc.
     46<li>File ID: the string "Survex 3D Image File" followed by a linefeed
     47(decimal 10, hex x0a). [Note: v0.01 files can have a carriage return
     48before this and other linefeeds - this is a file format error in any
     49other format version].
     50<li>File format version: "v3", "v4", or "v5" followed by a linefeed.
     51Any future versions will be "v6", "v7", ..., "v10", "v11", etc.
     52Older format versions aren't described here, but had version strings
     53"v0.01", "Bv0.01", "bv0.01", and "v2").
    3854<li> Survey title: A string followed by a linefeed.  There's no length limit on this string.
    3955<li> Timestamp: A string followed by a linefeed.  This is intended to be the
     
    4864<P>Following the header are a number of items.  The last item must be a 0x00
    4965byte when the current label is empty, which marks the end of the data.  The
    50 first byte of an item identifies what it is:
    51 
     66first byte of an item is a code identifying what the item is:</P>
     67
     68<table border="1" cellpadding="1" cellspacing="0" width="100%">
     69<tr>
     70    <th class="code">Code</th>
     71    <th class="code">Type</th>
     72    <th class="data">Data</th>
     73    <th class="desc" colspan="2">Meaning</th>
     74    <th class="version">Version</th>
     75</tr>
     76<tr>
     77    <td class="code">0x00</td>
     78    <td class="type">STOP</td>
     79    <td class="data">&nbsp;</td>
     80    <td class="desc" colspan="2">
     81    If the current label is empty, signifies the end of the data in the 3d
     82    file; if the current label isn't empty, make it empty.</td>
     83    <td class="version">&ge;3</td>
     84</tr>
     85<tr>
     86    <td class="code">0x01 - 0x0e</td>
     87    <td class="type">TRIM</td>
     88    <td class="data">&nbsp;</td>
     89    <td class="desc" colspan="2">
     90    Trim the last 16 characters of the current label, then trim back N (i.e.
     91    1-14) dots ("."), everything after that particular dot.
     92    It's incorrect if the label ends up empty, or you attempt to trim more
     93    label than there is. The rationale for removing 16 characters first is
     94    that removal of 1-16 characters can be encoded by 0x10-0x1f (see below)
     95    and we can make this encoding more powerful by not
     96    overlapping what can be encoded.</td>
     97    <td class="version">&ge;3</td>
     98</tr>
     99<tr>
     100    <td class="code">0x0f</td>
     101    <td class="type">MOVE</td>
     102    <td class="data">&lt;x&gt; &lt;y&gt; &lt;z&gt;</td>
     103    <td class="desc" colspan="2">
     104    Set current position to the coordinates given. Coordinates
     105    are 4 byte little-endian signed integers representing
     106    values in centimetres (0.01 metres).</td>
     107    <td class="version">&ge;3</td>
     108</tr>
     109<tr>
     110    <td class="code">0x10 - 0x1f</td>
     111    <td class="type">TRIM</td>
     112    <td class="data">&nbsp;</td>
     113    <td colspan="2">
     114    Remove N-15 (i.e. 1-16) characters from the current label. It's
     115    incorrect if the label ends up empty, or you attempt to trim more label
     116    than there is.</td>
     117    <td class="version">&ge;3</td>
     118</tr>
     119<tr>
     120    <td class="code">0x20</td>
     121    <td class="type">DATE</td>
     122    <td class="data">&lt;date&gt;</td>
     123    <td colspan="2">
     124    Set survey date of legs (date is 4 byte little endian unsigned integer
     125    counting seconds since 1970) </td>
     126    <td class="version">&ge;4</td>
     127</tr>
     128<tr>
     129    <td class="code">0x21</td>
     130    <td class="type">DATE</td>
     131    <td class="data">&lt;date1&gt;&lt;date2&gt;</td>
     132    <td colspan="2">
     133    Set survey date of legs to a range (date1, date2 are 4 byte little
     134    endian unsigned integer counting seconds since 1970) </td>
     135    <td class="version">&ge;4</td>
     136</tr>
     137<tr>
     138    <td class="code">0x22</td>
     139    <td class="type">ERROR</td>
     140    <td class="data">&lt;legs&gt;&lt;length&gt;&lt;E&gt;&lt;H&gt;&lt;V&gt;</td>
     141    <td colspan="2">
     142    Error information for the current traverse.  &lt;legs&gt; is the number of legs. &lt;length&gt; is the total length of the
     143    traverse in cm (0.01m). E, H and V are the error and thehorizontal and vertical components in cm. (All values are 4 byte little
     144    endian signed integers) </td>
     145    <td class="version">&ge;6</td>
     146</tr>
     147<tr class="reserved">
     148    <td class="code">0x23 - 0x2f</td>
     149    <td class="type">&nbsp;</td>
     150    <td class="data">&nbsp;</td>
     151    <td colspan="3">Reserved</td>
     152</tr>
     153<tr>
     154    <td class="code" rowspan="3">0x30 - 0x31</td>
     155    <td class="type" rowspan="3">XSECT</td>
     156    <td class="data" rowspan="3">&lt;len&gt; &lt;label&gt; &lt;L&gt; &lt;R&gt; &lt;U&gt; &lt;D&gt;</td>
     157    <td colspan="2">
     158    Dimensions are 2 byte little-endian signed integers representing values
     159    in centimetres (0.01 metres). Omitted dimensions are encoded as 0xffff.
     160    Station flags are (N &amp; 0x01): </td>
     161    <td class="version" rowspan="3">&ge;5</td>
     162</tr>
     163<tr>
     164    <th>Flag (N &amp; 0x01)</th>
     165    <th>Meaning</th>
     166</tr>
     167<tr>
     168    <td>0x01</td>
     169    <td>Station is last one in this passage</td>
     170</tr>
     171<tr>
     172    <td class="code" rowspan="3">0x32 - 0x33</td>
     173    <td class="type" rowspan="3">XSECT</td>
     174    <td class="data" rowspan="3">&lt;len&gt; &lt;label&gt; &lt;L&gt; &lt;R&gt; &lt;U&gt; &lt;D&gt;</td>
     175    <td colspan="2">
     176    Dimensions are 4 byte little-endian signed integers representing values
     177    in centimetres (0.01 metres). Omitted dimensions are encoded as
     178    0xffffffff.</td>
     179    <td class="version" rowspan="3">&ge;5</td>
     180</tr>
     181<tr>
     182    <th>Flag (N &amp; 0x01)</th>
     183    <th>Meaning</th>
     184</tr>
     185<tr>
     186    <td>0x01</td>
     187    <td>Station is last one in this passage</td>
     188</tr>
     189<tr class="reserved">
     190    <td class="code">0x34 - 0x3f</td>
     191    <td class="type">&nbsp;</td>
     192    <td class="data">&nbsp;</td>
     193    <td colspan="3">Reserved</td>
     194</tr>
     195<!-- Checked to here! -->
     196<tr>
     197    <td class="code" rowspan="13">0x40 - 0x7f</td>
     198    <td class="type" rowspan="13">LABEL</td>
     199    <td class="data" rowspan="13">&lt;len&gt; &lt;label&gt; &lt;x&gt; &lt;y&gt; &lt;z&gt;</td>
     200    <td colspan="2">
     201    Append label to the current label buffer. The updated contents of the
     202    label buffer give the survey stations full name. The length of label is
     203    given by length, which is encoded as follows:</td>
     204    <td class="version" rowspan="12">&ge;3</td>
     205</tr>
     206<tr>
     207    <th>Length</th>
     208    <th>Encoding</th>
     209</tr>
     210<tr>
     211    <td>0 - 253</td>
     212    <td>byte 0x00 - 0xfd</td>
     213</tr>
     214<tr>
     215    <td>254-65789</td>
     216    <td>byte 0xfe 2 byte little-endian unsigned integer len-254 0x0000-0xffff</td>
     217</tr>
     218<tr>
     219    <td>65790 and greater</td>
     220    <td>byte 0xff 4 byte little-endian unsigned integer len
     221    0x000100fd-0xffffffff</td>
     222</tr>
     223<tr>
     224    <td colspan="2">
     225    The station flags are encoded in the bottom 6 bits of the item code:</td>
     226</tr>
     227<tr>
     228    <th>Flag (N &amp; 0x3f)</th>
     229    <th>Meaning</th>
     230</tr>
     231<tr>
     232    <td>0x01</td>
     233    <td>Station is on leg above ground</td>
     234</tr>
     235<tr>
     236    <td>0x02</td>
     237    <td>Station is on an underground leg (both may be true at an entrance)</td>
     238</tr>
     239<tr>
     240    <td>0x04</td>
     241    <td>Station is marked as an entrance (with *entrance)</td>
     242</tr>
     243<tr>
     244    <td>0x08</td>
     245    <td>Station is exported (i.e. may be used as a connection point to other
     246    surveys)</td>
     247</tr>
     248<tr>
     249    <td>0x10</td>
     250    <td>Station is a fixed point (control point)</td>
     251</tr>
     252<tr class="reserved">
     253    <td>0x20</td>
     254    <td colspan="2">Reserved</td>
     255</tr>
     256<tr>
     257    <td class="code" rowspan="8">0x80 - 0xbf</td>
     258    <td class="type" rowspan="8">LINE</td>
     259    <td class="data" rowspan="8">&lt;len&gt; &lt;label&gt; &lt;x&gt; &lt;y&gt; &lt;z&gt;</td>
     260    <td colspan="2">
     261    Append label to the current label buffer. The length of the label is
     262    encoded as for a station label above. Return leg from current position
     263    to coordinates given, and update current position to coordinates given.
     264    The updated contents of the label buffer give the survey that the leg is
     265    in.</td>
     266    <td class="version" rowspan="5">&ge;3</td>
     267</tr>
     268<tr>
     269    <th>Flag (N &amp; 0x3f)</th>
     270    <th>Meaning</th>
     271</tr>
     272<tr>
     273    <td>0x01</td>
     274    <td>Leg is above ground</td>
     275</tr>
     276<tr>
     277    <td>0x02</td>
     278    <td>Leg duplicates data in another leg (e.g. resurvey along a passage to
     279    tie into a known station)</td>
     280</tr>
     281<tr>
     282    <td>0x04</td>
     283    <td>Leg is a splay shot in a chamber (radial shots from a central point)</td>
     284</tr>
     285<tr class="reserved">
     286    <td>0x08</td>
     287    <td colspan="2">Reserved</td>
     288</tr>
     289<tr class="reserved">
     290    <td>0x10</td>
     291    <td colspan="2">Reserved</td>
     292</tr>
     293<tr class="reserved">
     294    <td>0x20</td>
     295    <td colspan="2">Reserved</td>
     296</tr>
     297<tr class="reserved">
     298    <td class="code">0xc0 - 0xff</td>
     299    <td class="type">&nbsp;</td>
     300    <td class="data">&nbsp;</td>
     301    <td colspan="3">Reserved</td>
     302</tr>
     303</table>
     304
     305<H2>Item order</H2>
    52306<ul>
    53 <li> 0x00 : if the current label is empty, signifies the end of the data
    54 in the 3d file; if the current label isn't empty, make it empty.
    55 <li> 0x01-0x0e : trim the last 16 characters of the current label, then
    56 trim back N (i.e. 1-14) dots ("."), everything after that particular dot.
    57 It's incorrect if the label ends up empty, or you attempt to trim more
    58 label than there is.  The rationale for removing 16 characters first is
    59 that removal of 1-16 characters can be encoded by 0x10-0x1f (see below)
    60 and we can make this encoding more powerful by not overlapping what can
    61 be encoded.
    62 <li> 0x0f &lt;x coord&gt; &lt;y coord&gt; &lt;z coord&gt; : set current
    63 position to the coordinates given.  Coordinates are 4 bytes little-endian
    64 signed integers representing values in centimetres (0.01 metres).
    65 <li> 0x10-0x1f : remove N-15 (i.e. 1-16) characters from the current label.
    66 It's incorrect if the label ends up empty, or you attempt to trim more
    67 label than there is.
    68 <li> 0x20-0x3f : Reserved
    69 <li> 0x40-0x7f &lt;length&gt; &lt;label&gt; &lt;x coord&gt; &lt;y coord&gt;
    70 &lt;z coord&gt; : station flags are (N &amp; 0x1f):
    71 <ul>
    72 <li> 0x01 : Station is on an above ground leg
    73 <li> 0x02 : Station is on an underground leg (both may be true at an entrance)
    74 <li> 0x04 : Station is marked as an entrance (with *entrance)
    75 <li> 0x08 : Station is exported (i.e. may be used as a connection point to
    76 other surveys)
    77 <li> 0x10 : Station is a fixed point (control point)
    78 <li> 0x20 : Reserved
     307<li>A continuous section of centreline is defined by a &lt;MOVE&gt; item, followed
     308by one or more &lt;LINE&gt; items.</li>
     309<li>&lt;LABEL&gt; items may appear anywhere in the file after the header,
     310including within a &lt;MOVE&gt;&lt;LINE&gt;... sequence.</li>
     311<li>Duplicate &lt;LABEL&gt; items are permitted provided they also have identical
     312coordinate values. (The same coordinate values may also be shared by any
     313number of different &lt;LABEL&gt; items).</li>
     314<li>Stations must be defined in a &lt;LABEL&gt; item <u>before</u> being
     315referenced (e.g. in &lt;XSECT&gt; items)</li>
    79316</ul>
    80317
    81 Append label to the current label buffer.  The length of label is given by
    82 length, which is encoded as follows:
    83 <ul>
    84 <li> 0-253 - byte 0x00-0xfd
    85 <li> 254-65789 - byte 0xfe 2 byte little-endian unsigned integer len-254
    86 0x0000-0xffff
    87 <li> 65790 and greater - byte 0xff 4 byte little-endian unsigned integer len
    88 0x000100fd-0xffffffff
    89 </ul>
    90 
    91 The rationale for this encoding is that station and survey names are usually
    92 much less than 253 characters.  However, the Survex philosophy is not to impose
    93 arbitrary limits.  By using a variable length encoding, we get the
    94 compactness benefits of encoding the length in a single byte, but avoid the
    95 need to impose a hard limit of the length of station and survey names.<P>
    96 
    97 Return station at the coordinates given, and update current position to
    98 coordinates given (FIXME: check this).  The updated contents of the label
    99 buffer give the survey stations full name.
    100 
    101 <li> 0x80-0xbf &lt;length&gt; &lt;label&gt; &lt;x coord&gt; &lt;y coord&gt;
    102 &lt;z coord&gt; : leg flags are (N &amp; 0x1f):
    103 <ul>
    104 <li> 0x01 : Leg is above ground
    105 <li> 0x02 : Leg duplicates data in another leg (e.g. resurvey along a passage to tie into a known station)
    106 <li> 0x04 : Leg is a splay shot in a chamber (radial shots from a central point)
    107 <li> 0x08 : Reserved
    108 <li> 0x10 : Reserved
    109 <li> 0x20 : Reserved
    110 </ul>
    111 Append label to the current label buffer.  The length of the label is encoded
    112 as for a station label above.  Return leg from current position to coordinates
    113 given, and update current position to coordinates given.  The updated contents
    114 of the label buffer give the survey that the leg is in.
    115 <li> 0xc0-0xff : Reserved
    116 </ul>
    117 
    118 <P>Olly Betts 2002-03-17, 2002-03-21, 2002-09-30, 2002-11-25</P>
     318<P>Authors: Olly Betts and Mike McCombe, last updated: 2007-06-12</P>
    119319</BODY></HTML>
  • doc/HACKING.htm

    r3878cbc re7c04bc  
    4444per-executable CFLAGS; 1.6 has been tested and works, but wasn't a
    4545very stable release - automake 1.6.1 is a better bet)
    46 and autoconf 2.50 or later (autoconf 2.52 and 2.53 have
    47 both been used successfully).
     46and autoconf 2.50 or later (autoconf 2.52, 2.53 and 2.64 have all
     47been used successfully).
    4848
    4949<P>For building the documentation you'll need sgmltools 2 or later,
    50 docbook-to-man, and w3m.
     50jadetex, docbook-to-man, and w3m.
    5151
    5252<H2>Building on Non-Unix Platforms</H2>
     
    144144the packaged cross-compiler in the debian testing/unstable distribution.
    145145You can probably install these on other distributions using alien to
    146 convert them to RPMs or similar.  Alternatively, before that
    147 I used to use pre-built binaries for gcc 2.95.2 obtained from:
    148 
    149 <P><A HREF="http://www.libsdl.org/extras/win32/cross/"
    150 >http://www.libsdl.org/extras/win32/cross/</A>
     146convert them to RPMs or similar.
    151147
    152148<P>Building on Windows in a native mingw environment will probably
     
    154150current configure script.  I'm happy to help if you want to try this,
    155151and I'll incorporate patches provided they're fairly clean.
    156 
    157 <P>Building on Windows with MSVC/BorlandC/Watcom/... is likely to be more
    158 work, but could be a worthwhile project.  I'd suggest patching the
    159 perl script miniam.pl to generate a suitable makefile.  Again, send
    160 patches if you get this to work.
    161152
    162153<H3>MSDOS for 286 and earlier (BorlandC)</H3>
  • doc/manual.sgml

    r3878cbc re7c04bc  
    109109  </AuthorGroup>
    110110  <copyright>
    111    <year>1998-2002</year>
     111   <year>1998-2010</year>
    112112   <holder role="mailto:&ollyemail;">Olly Betts</holder>
    113113  </copyright>
     
    135135package.
    136136currently runs on &unix;, Microsoft Windows 95/NT and
    137 successors, MacOS X, &msdos;, and Acorn &riscos; machines.
     137successors, Mac OS X, &msdos;, and Acorn &riscos; machines.
    138138We're investigating support for various
    139139palmtop devices.
     
    35703570<?dbhtml filename="maillist.htm">
    35713571
    3572 <!-- FIXME: URL to list, contact wookey for paper -->
    3573 
    3574 <Para>We have both email and paper mailing lists for &survexsuite;, to
    3575 keep users informed of new versions and so forth.  This is available free
    3576 by e-mail, or by post for a small charge (to cover photocopying, disks,
    3577 and postage). We recommend you register to receive automatic updates
    3578 and other information.
     3572<Para>The best way to contact the authors and other Survex users is the
     3573Survex mailing list - for details visit:
     3574<ulink url="http://survex.com/maillist.html">http://survex.com/maillist.html</ulink>
     3575</Para>
     3576
     3577<Para>We'd be delighted to hear how you get on with &survexsuite; and
     3578welcome comments and suggestions for improvements.</Para>
     3579
     3580<Para>
     3581And we'd love you to contribute your skills to help make &survexsuite; even
     3582better.  Point out areas of the documentation which could be made clearer, or
     3583sections which are missing entirely.  Download test releases, try them out, and
     3584let us know if you find problems or have suggestions for improvements.
     3585If there's no translation to your language, you could provide one.
     3586Or if your a developer, <emphasis>"Say it with code"</emphasis>.  There's
     3587plenty to do, so feel free to join in.
    35793588</Para>
    35803589
     
    35913600and integrated into the menus.</Para>
    35923601
    3593 <Para>Aven is built on &wxwindows;, which means that can easily support
    3594 Unix, Microsoft Windows, and MacOS X.  MacOS 9 support is possible, but
    3595 requires somebody with MacOS 9 and a compiler to build it with.
    3596 Support for &msdos; is possible if there's sufficient interest.
    3597 Support for &riscos; is unlikely unless someone very enthusiastic steps
    3598 forward to do the porting work.</Para>
     3602<Para>Aven is built on &wxwindows;, which means that it can easily support
     3603Unix, Microsoft Windows, and Mac OS X.</Para>
    35993604
    36003605<Para>More information on our plans is on the <ulink
     
    36043609</Sect1>
    36053610
    3606 <Sect1><title>Contacting the authors</title>
    3607 <?dbhtml filename="contact.htm">
    3608 
    3609 <Para>We'd be delighted to hear how you get on with &survexsuite; and
    3610 welcome comments and suggestions for improvements.</Para>
    3611 
    3612 <Para>If you want the latest version and don't have net access, please
    3613 enclose a suitably formatted floppy and an SAE.  These days, we'd probably
    3614 struggle to cope with anything other than 3.5" floppies.  &msdos; format is
    3615 easiest for us.  Alternatively, send a blank CDR and we can burn you a
    3616 CD with all the versions on.</Para>
    3617 
    3618 <Address>
    3619 Wookey
    3620 <Street/734 Newmarket Rd/
    3621 <City/Cambridge/
    3622 <PostCode/CB5 8RS/
    3623 <Country/UK/
    3624 <Phone/Tel: 01223 504881 (home)/
    3625 <Phone/Tel: 01223 811679 (work)/
    3626 <Email/&wookeyemail;/
    3627 </Address>
    3628 
    3629 <Para>or</Para>
    3630 
    3631 <Address>
    3632 Olly Betts
    3633 <Street/6 Ashcroft Court/
    3634 <City/Cambridge/
    3635 <PostCode/CB4 2SN/
    3636 <Country/UK/
    3637 <Phone/Tel: 01223 513644 (home and work)/
    3638 <Email/&ollyemail;/
    3639 </Address>
    3640 
    3641 <!-- FIXME: Mark too? -->
    3642 
    3643 <Para>Or if neither of these get any response try:</Para>
    3644 
    3645 <Address>
    3646 Cambridge University Caving Club,
    3647 c/o James Hickson,
    3648 <Street>Pembroke College</Street>
    3649 <City>Cambridge</City>
    3650 <Country>UK</Country>
    3651 </Address>
    3652 
    3653 <Sect2><title>Contributing</title>
    3654 
    3655 <!--FIXME rewrite and elaborate -->
    3656 <Para>Monetary donations are welcome, but if you want a more personal way to
    3657 say thankyou we'd love a copy of a survey you've produced using
    3658 &survexsuite;.  Two copies would be best to save us arguing over who gets
    3659 it.</Para>
    3660 
    3661 <Para>Or contribute your skills to help make &survexsuite; even better.
    3662 Point out areas of the documentation which could be made clearer, or sections
    3663 which are missing entirely.  Download test releases, try them out, and let
    3664 us know if you find problems or have suggestions for improvements.
    3665 If there's no translation to your language, you could provide one.
    3666 Or if your a developer, <emphasis>"Say it with code"</emphasis>.  There's
    3667 plenty to do, so feel free to join in.
    3668 </Para>
    3669 </Sect2>
    3670 
    3671 </Sect1>
    3672 
    36733611</article>
Note: See TracChangeset for help on using the changeset viewer.