!Family - Family tree editor
Denis Howe <dbh@doc.ic.ac.uk>
For version see Change History below

This program is Copyright 1993, 1997 Denis Howe.  You may distribute
verbatim or modified copies of this program provided each such copy is
distributed with a copyright notice and distribution conditions identical
to these.
 
!Family is a RISC OS 3 application for editing and printing family trees.
A graphical representation of all the descendents of a given person can be
displayed on the screen, printed or saved as a Draw file.  It provides a
simple system of menus and dialogue boxes to allow you to move around the
tree and modify it.  You can store collections of related people in files
in the standard GEDCOM genealogical data format.

This program will run on any RISC OS 3 Archimedes, including StrongARM.

Getting !Family
===============
The latest version of this program should be available from the e-mail
server at archive-server@micros.hensa.ac.uk (send message 'help') or
from one of the following URLs:

http://wombat.doc.ic.ac.uk/acorn/denis/
ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b010
gopher://micros.hensa.ac.uk/11/micros/arch/riscos/b/b010
http://sunsite.doc.ic.ac.uk/
	computing/systems/archimedes/collections/hensa/riscos/b/b010
ftp://ftp.uni-stuttgart.de/pub/systems/acorn/riscos/database

It usually finds its way to the Arcade BBS, and APDL as well.

Send me some e-mail and I'll let you know if there is another release.
Make sure you tell me which version you already have.

Getting started
===============
!Family gives interactive help if you run the !Help application from the
Apps directory.  When you run !Family the Main window appears.  It will be
empty until there is a 'current person'.  There are two menus, one
obtained by clicking the MENU button over the main window and the other
over the icon bar icon. To create a person, follow the Goto item in the
window menu (shortcut F5). Enter a new name and that person will then
become the current person.  The current person's name appears in the
window menu in place of the 'Person' item.  This menu item is referred to
as <person> below.

Main window
===========
The main window shows the 'current tree'.  This is centred on the current
person and includes his* father (or his mother if his father is not known),
all his spouses and children and their spouses and children and so on.
There is only one main window so you can only edit one file with each
invocation of !Family though you can run multiple invocations and you can
store any number of trees in one file.

* Here and elsewhere, the male is assumed to embrace the female.

Each person's full name is shown if the "ChoicesShowFamily name" option
is ticked (see "Choices" below).  If it is off and their family name is the
same as their father's and he is also shown, then the family name is
omitted.  In other words, the family name is only shown for the first male
ancestor with that name.  The name is coloured blue for males, red for
females and green for unknown sex (but always black when printing).

The date of each person's birth and death are shown under their name,
separated by a dash (-).  A "?" is displayed if the date of birth is not
known but nothing is shown for an unknown date of death (the person may
still be alive).  If the "ChoicesShowYear only" option is ticked then
only the last group of digits of a date is shown.  If the
"ChoicesShowDates" option is off then no dates are displayed at all.
The birth and death fields may contain any text but for GEDCOM (see below)
compatibility they should look like "15 Oct 1960", possibly preceded
by ABT, AFT, BEF, EST for about, after, before or estimated.

Below the dates are the person's spouses with an "=" over each one.
Multiple spouses are placed side by side with a number after the "=".  If
a spouse's parents are known they are not displayed but a "+" is appended
to the spouse's name to show that there is more information available.
Similarly, if the spouse has other marriages a "+" is appended to the "=".

Any offspring are spread horizontally beneath the appropriate spouse,
connected to the spouse by lines.  Children whose other parent is unknown
appear beneath an "invisible spouse" which is numbered consecutively with
any known spouses.

!Family can store and display, uncommon relationships such as a man
marrying his aunt (or his mother!) and even impossible relationships.  Each
person can appear in any number of postions but they will only appear once
in each "rle": father, mother, child or spouse.  So, for (an extreme)
example, if someone is entered as their own father they will appear once as
a father and once as a son.  Spouses are assumed to be of different sexes,
fathers are male, mothers are female.  If these restrictions cause problems
you can always create copies of the same person with different names (e.g.
by adding [1], [2] after the names) and add appropriate notes (see below).

The main window's title shows the file currently being edited, if any,
followed by a "*" if the data has been modified since it was last saved.
If you close the main window with ADJUST and a file is currently loaded
then a directory display will be opened on the directory containing the
file.  Closing the window does not discard any data.  Clicking SELECT over
the bar icon will re-open the main window and the Notes windows (see
below).

Setting the current person
==========================
The current person is set either by clicking SELECT over the centre of a
person's name in the main window, in which case the person under the pointer
becomes the current person, or using the Goto menu item, which is also the
way to display a person not in the current tree or create a new person not
related to any existing person.  The "Current" button in the Goto (and
Marry) dialog box enters the current person's name, allowing you to recenter
the display on the current person without changing which person is current.
Note that from v2.14 on you must click in the middle of a person's name to
select them rather than a click selecting the nearest person as in earlier
versions.

Adding a new person
===================
You can add a new person simply by entering a new name in any icon that
accepts names, i.e. Name, Goto, Marry, Mother or Father (see below).  If you
create a person with Goto then they will be completely unrelated to any
known person.  You can connect them later as described below.  A single
file may contain any number of disconnected trees of one or more people but
you will only be able to see one tree at a time.  You must use Goto to
switch between them.

Changing a person's name, sex, dates or parents
===============================================
Clicking MENU over a person's name and following the <person>Edit menu
item leads to the Edit dialogue box.  This can also be opened by clicking
ADJUST over a person's name or by typing control-E to edit the current
person.  This shows that person's current name, sex, dates, mother and
father, and allows you to change them.

Hit ()Tab to move (up)down to the next field or use the up and down arrow
keys or the mouse to move between fields.  Control-S toggles the sex.  The
person's details are updated when you hit Return in any field or click the
OK icon.

Note that the only way to change a person's name is by editing the name
field in that person's own edit box.  For example, if you create Robert and
then, in an Edit box for his son John, you notice that you spelt Robert's
name wrong, you cannot correct it by editing John's father field.  That
would give John a different father.  You must open an Edit box for Robert
and change his name field there.  All references to him will then change
as well.  Similarly, you cannot edit a different person by entering their
name in the Name field of John's Edit box.  That will change John's name
and details.

If you change someone's sex, you may also have to change the sex of their
spouses and swap the parents of their children. 

Name completion
===============
In any dialogue box icon where you can enter a name you can get name
completion by hitting the F1 key.  This will search for all known people
of the appropriate sex, whose names begin with the characters typed so far,
if any.  If there is no match you will hear a beep.  A single match
replaces the contents of the icon.  Multiple matches (up to a maximum of
MaxComp%, default 20), are displayed in the 'Completions window'.  If all
matches share more initial letters than just the given string these will be
added to the icon.

Clicking SELECT over a name in the Completions window will enter that name
in the icon where F1 was hit.  Alternatively, you can type more characters
to reduce the number of matches and hit F1 again.

For example, you might type  F F1  and get Freddy, Frederick, Fritz and
Ferdinand in the Completions window.  If you then type  r e F1  only
Freddy and Frederick would be shown and the icon would contain "Fred".

Note that matching is exact so you must get punctuation and case right.
It is a good idea to use completion whenever you enter a name to ensure
that you don't accidentally create two entries for the same person with
slightly different names or one entry for multiple people with the same
name.  If you hit F1 and nothing happens, you know that what you have
entered is a complete match for a known name.

Naming convention
=================
Enter names in the usual order with the family name last, e.g. "Denis
Bernard Howe".  Add aliases or nicknames in parentheses, e.g. "Michael Howe
(Mike)".  If two people share exactly the same name then they must be
distinguished somehow, e.g. by appending some extra tag in square brackets
[] to their name.  This could be their profession, place of birth, where
they lived or a unique number.

This is only a suggested convention, the name field is really free text (up
to 127 characters).  The only assumption is that anything between two '/'s
is the family name otherwise the last word, before a '(' or '[' if any, is
the family name.  The family name is used for sorting the file and as the
default name for an added child.  Display of family names is enabled by the
"ChoicesShowFamily name" option.

Everyone must have a unique name
================================
This point is worth emphasising because many families contain multiple
members with exactly the same name (there are five people called John Howe
in my tree).  !Family does not handle this well, if you try to enter two
people with exactly the same name, it (and you) will get confused.  This
will be fixed in a future version by allowing people to be identified
either by name or by a unique number.  

Adding a spouse
===============
Follow the <person>Marry menu item and enter the new spouse's name.  If
either spouse has any children with no other parent then the new spouse
automatically becomes their other parent.  If both spouses have children
with no other parent then the husband's children get a mother but the
wife's children don't get a father.  If this isn't what you want you will
have to edit the children's parents by hand.

A future version will allow you to associate date and place information
with a marriage, in the meantime, I just add notes to the husband.

Removing a spouse
=================
Click MENU over a person.  If he has any spouses then you can follow
<person>Divorce to a menu listing them.  Choose the one you want to
remove from the list.  This also removes him from her list.  She will still
exist as a person even though she will no longer be visible in his tree.
Any children of the couple remain the children of the father but will have
no mother.

Note that this function *removes* information about a marriage, it does not
*add* information about a divorce.  GEDCOM can represent divorce events but
!Family cannot (yet).

Reordering spouses
==================
Spouses are stored in the order in which they are married.  You can move a
spouse to the last (right-most) postition by divorcing and remarrying her.
You will also have to reset the mother of her children.  A similar
procedure applies to children with only one parent, if you clear the parent
and re-enter it they will be added after any other spouses or children.

Adding a child
==============
Click MENU over either parent and choose <person>Child or type Control-C
to give the current person a new child.  This will open an Edit dialogue
box which has been partially filled in with the father's family name (if
there is exactly one possible father) for the Name entry and the mother's
and father's names in the relevant places.

Alternatively, changing a person's parent automatically adds them as a
child of the new parent.  In this case, however, it is not assumed that
your father's only spouse is your mother and vice versa as happens with the
<person>Child method.

To remove a child, you can either change the child's parents in his Edit
box or remove the child completely (see "Removing people" below).

Re-ordering children
====================
Children will appear in the order in which they are added (not necessarily
in order of birth date), most recent on the right.  Choose the <person>
Older menu item to swap someone with the sibling to his left.  This only
works for children who share the same two parents, if they only share one
parent you must re-order them by changing their parents (or their parents' 
marriages).

Removing people
===============
Choosing <person>Remove will remove all trace of the person from the
database.  If the person was the current person, there will now be no
current person.  There is no way to recover a person once they have been
removed like this, except by reloading the file, though that will undo any
other changes as well.  To remove all people and other objects from the
database, choose Reset from the icon bar menu.

Notes window
============
Each person can have any amount of free text associated with their entry.
This is not displayed in the main window but the current person's notes
are displayed in a separate window with his name in the title bar.  If
there is no current person, the notes window is not shown.

Notes can be used for extra data such as place of birth, address,
profession, source citations and marriage details.  (These should really
be stored in specific GEDCOM fields.  A later version of !Family will be
able to display and edit other fields).

Editing notes
=============
Click SELECT anywhere in the Notes window.  The notes are written to a
type &FFF (Text) temporary file (Wimp$Scrap) which is then sent to a text
editor.  This can happen in one of two ways:

Jason Williams's External Edit protocol is tried first.  !Family sends the
notes straight to the editor.  When you save from the editor the notes are
automatically loaded back into !Family.

Two text editors handle the External Edit protocol:

Guttorm (Armstrong) Vik's superb StrongED II (versions 1.20 and later).
The latest version is 3.50.  StrongED II is now shareware again.

Dominic Symes <symes@maths.oxford.ac.uk>'s superb Zap (versions 1.10 and
later) available from the HENSA server (see the top of this file) or The
Archimedes Public Domain Library, 39 Knighton Park Road, Sydenham, London
SE26 5RN.  Dominic's snail-mail address is Exeter College, Oxford, OX1 3DP,
UK.

If no editor responds to the External Edit request then a *Filer_Run
command is executed to pass the file to an editor, either one already
running or a new invocation.  Without External Edit you must drag the
file icon from the editor's save dialogue box to a !Family window to load
the edited notes back into !Family.

!Family will support Object Linking and Embedding instead of External Edit
when a free version of the OLESupport module becomes available.

Loading a Text file to !Family (in any way) causes its contents to replace
the current person's notes.  Note that if you start editing person A's
notes then make B the current person then reload the notes, they will
replace B's notes, not A's.

Obscure technical note: multiple GEDCOM 'NOTE' objects belonging to one
person will be concatenated into one NOTE object after being editted.

Saving and loading files
========================
!Family recognises files of type &D78 (GEDCOM), described below.  !Family
will load a file, either when you double-click it (type D78 only) or when
you drag it to the bar icon or a !Family window.  In the first two cases
any existing people will be discarded (after confirmation) but if a file is
dragged to the main window then its contents are merged with the
current data.  If this results in two individuals with the same name then
you can rename them using the <person>Edit menu item.  Pressing the Escape
key while a file is loading will abort the load and clear any existing 
people.

To save all the people you have created, follow the Save menu item from
either menu (shortcut F3).  If a file is currently loaded then simply
choosing the Save item will save the data to that file.  The data is first
written to a temporary file with the same name but with the last character
changed to "=".  This file is renamed when the write is complete.  This
has the advantage that if the write fails for any reason you will still
have the old version of the file.  The disadvantage is that it requires
twice as much disk space while the file is being written.

!Family sorts people in order of family name and then whole name.  To print
a GEDCOM file as text it may be necessary to temporarily change its
filetype to &FFF (Text) since the default is to print it as a tree (see
below).  The current person is also remembered and restored when you load a
file.

&D78 is actually allocated to Minerva for their !Ancestry program which
does not understand GEDCOM.  I have stolen it since you won't want to use
any other genealogy program once you've tried !Family :-).  I have written
a program to convert !Ancestry files to GEDCOM - let me know if you would
like a copy.

Files of type &FFF (Text) are loaded as notes for the current person as
described above.

GEDCOM format
=============
GEDCOM (Genealogical Data Communication) is the de facto international
standard for genealogical data, specified by Mormon church.  If you look up
"Church of Jesus Christ of Latter-day Saints" in your 'phone book you may
find a "Family History Centre" listed.  There you can search gigabytes of
genealogical data on CDROM, copy bits to a file in GEDCOM format, bring it
home on DOS floppy, set its type to D78 and load it into !Family.

GEDCOM files are actually plain ASCII.  It is not necessary to understand
their format but the following explanation is included for the curious.
Each line describes an object and is of the form

  level [@id@] tag value

where level is a number.  Objects at level n are sub-objects of those at
level n-1.  The top-level (0) objects are things like individuals (tag =
"INDI") and families (tag = "FAM").  Individuals have sub-objects with
tags like NAME, BIRT, DEAT, FAMS and FAMC.  A FAMS object has a value like
@F12@ which is a cross-reference to a (level 0) FAM object with id = F12.
This is a family in which the individual is a spouse (or parent).  A FAMC
object also has a cross-reference to a FAM object for a family in which the
person is a child.  FAM objects have HUSB, WIFE and CHIL sub-objects whose
values are cross-references back to individuals.  Here is an example.

0 @I1@ INDI      ; An individual
1 NAME John      ;  called John
1 FAMC @F1@      ;  is a child in family F1
0 @I2@ INDI
1 NAME David     ; David
1 FAMS @F1@      ;  is a parent in F1
0 @I3@ INDI
1 NAME Mary      ; Mary
1 FAMS @F1@      ;  is a parent in F1
0 @F1@ FAM       ; Family F1 includes
1 HUSB @I2@      ;  David, the father
1 WIFE @I3@      ;  Mary, the mother
1 CHIL @I1@      ;  John, a child

The GEDCOM standard defines many more tags than are used by !Family.
Objects which are not recognised are not displayed but are preserved when
the file is saved.  For full details of GEDCOM, write to

   GEDCOM Coordinator
   Family History Department
   50 East North Temple
   Salt Lake City UT 84150
   USA

or FTP to vm1.nodak.edu or e-mail me.

Although GEDCOM files could be edited with an ordinary text editor, you
would have to be careful not to make entries inconsistent with each other,
particularly cross-references between families and their members.

Inspecting GEDCOM data
======================
Choosing GEDCOM from the window menu will open a window listing all the
objects in the database, as they would appear in a file.  A future version
will allow you to edit this information directly while in !Family.
The file !Family.GEDSyn contains a machine-readable specification
of GEDCOM syntax but this is currently not used by the program.

Printing trees
==============
You can print the current tree to the current printer in the following
ways:

1. Choose Print from the icon bar menu,
2. Hit the Print key or
3. Drag a family tree file to the !Printers icon.

Method 3 will only print the current tree.  This includes all descendants
of the current person's father or mother.  To print anyone else you must
first load the file and select a different person.

Trees are printed in the font, point size and orientation determined by the
current options (see "Choices" below).  They may be printed in seascape
(upside-down landscape) orientation (rotated 90 clockwise) or portrait (no
rotation).  You will have to experiment to see which orientation suits the
trees you are printing and the size of paper you are printing them on.
Note that the orientation selected for printing is independent of any
orientation implied by the paper size selected in the printer driver.

Creating a report
=================
!Family can generate a text file listing all the people in a database,
their dates, parents, spouses, children and notes.  To do this, follow
the Report item in the icon bar menu and drag the text file icon to a
directory display in the normal way.  People will be listed in order of
family name and then whole name.  A future version may allow you to
specify the format of the report.

Making a Draw file
==================
To do this follow the Draw item in the icon bar menu and drag the Draw
file icon to a directory display (or to !Draw) in the normal way.  This
will write a Draw file for the current person, with coloured text for
males and females and black text for dates, using whatever outline font
and font size you have selected from the Choices menu (see below).

By default the tree in the Draw file will be the same size as in !Family.
The DrawScale option (see "Choices" below) allows the Draw data to be
scaled by any factor.  The "DrawLine width" option sets the width of lines
used in Draw.  A width of zero gives the thinnest possible lines.

Beware that !Draw can only display and print images slightly larger than A0
paper size whereas !Family can create trees of unlimited size.  It may be
necessary to shrink the tree by setting the scale to e.g. 0.5 in order to
see the whole tree in !Draw.  Alternatively you could use a DrawPrint
utility which allows printing in parts and pasting together.  If you do not
have a colour printer, you may also want to change all the text to black in
!Draw.

!Draw catches Control-Q (see below) and uses it to change the zoom, so use
the menu to Quit !Family.

Choices
=======
The parameters listed below can be altered from the Choices item in the
icon bar menu.  To save your current choices, choose the ChoicesSave
item from the icon bar menu.  The choices will be saved in a file
!Family.Choices which will be loaded whenever !Family starts.  To restore
the defaults, delete the file from the application directory and restart
!Family.

Parameter       Default          Meaning
--------------------------------------------------------------------------
ChoicesFont   
  Name           Trinity.Medium   Font used when printing trees.
    
  Point size     10               Width and height of font for printing.
                    
  Use on         Off              Should the above font be used on
  screen                          screen as well as for printing?
   
  Print rotated  On               Rotate 90 when printing?
     
ChoicesShow    
  Family name    On               Should a person's family name be shown
                                  if it is the same as their father's?
    
  Dates          On               Should a person's dates of
                                  birth and death be shown?
   
  Year only      On               Just show dates' last group of digits?

ChoicesDraw
  Scale          1.0              Scale factor for creating Draw file

  Line width     4                Width of all lines in Draw file    
--------------------------------------------------------------------------

If the "Use on screen" option is off, the system font is used on screen
and the selected font is only used for printing.  If it is selected then
the tree should look the same on screen as when it is printed, except that
some printers do not reproduce screen fonts exactly.

Quitting
========
To quit, choose Quit from either menu (shortcut: Control-Q).  If you
have made changes which you have not saved then you will be asked whether
you wish to save your data or discard it.

Memory
======
!Family allocates and maintains its own free memory heap.  The size of
this is determined by the WimpSlot command in !Run.  You can edit !Run to
accomodate more people or to allow the program to run in less RAM.  The
number of kilobytes of memory !Family has left is shown on the icon on the
icon bar.  You will get a warning if less than 5% of the heap is free, in
which case you should attempt to save your file, increase the WimpSlot and
re-run !Family.

You will need to set the WimpSlot to about 90k plus two to three times the
size of the file you want to load.

Change History
==============
0.00 06 Jan 1993 DBH
     Non-WIMP version.
1.00 08 May 1993 DBH
     WIMP version.
1.01 01 Aug 1993 DBH
     = over spouse.  Show year only.  Fix Quit icon in Save win.  Child
     gets father's name.  Handle shutdown msg.  Fix bar menu position.
     Close notes when close main.  Reorder siblings.  Fix notes format.
     Choices.
1.02 No release  DBH
     Landscape/portrait option.  Fix notes terminator.  Open Edit win as
     win not menu.  Printer: open failure handling.  Only scroll when new
     person selected.  Fix FNMatch for equal names.  Fix loading of current
     person.  Quit aborts External Edit.  "+" for invisible spouses.  Close
     with ADJUST opens file directory.  Options file now !Choices.
2.00 06 Feb 1994 DBH
     GEDCOM format.  Option to show year only/whole date.
2.01 16 Feb 1994 DBH
     Fix PROCOlder.
2.02 18 Apr 1994 DBH
     Fix PROCSetSave.  Set font in PROCCalcAll.  Set GCOLs in PROCDisplay.
     Adapt to font height.  Allow each person to appear in many places.
     Interactive help.  Print "=" even for unknown spouse.  Font menu.
     MessageTrans.
2.03 01 May 1994 DBH
     DataSaveAck always unsafe again for !Zap External Edit.
2.04 19 May 1994 DBH
     Print rotated now seascape (clockwise) rather than landscape (anti)
     so left of tree is at top of page.  Mark font name menu heap invalid
     on reset.  Fix font menu tick setting.  Coloured sexes on screen.  3D
     templates.  ^E edits current person, ^C adds child.  'Current' button
     in Goto and Marry boxes.  'Data modified' dbox.
2.05 15 Jun 1994 DBH
     Report generator built in.  Fixed "+" on "=".  !FamTools.AncGed
     converts Minerva !Ancestry files to GEDCOM.  Fixed Font_DecodeMenu
     call.
2.06 08 Aug 1994 DBH
     More report indentation.  "New" child may be existing individual.
     Fix $(0) bugs, esp. notes.
2.07 19 Sep 1994 DBH
     Space after cross-ref id optional.
2.08 28 Sep 1994 DBH
     Options file now "Choices".
2.09 29 Sep 1994 DBH
     Don't give up on bad cross-reference.  Space after cross-ref id
     really optional, ignore trailing whitespace, accept CRLF line
     terminator.  Should now read Pedigree GEDCOM output.
2.10 25 Oct 1994 DBH
     Template beautification (thanks Loek).  Don't scroll after edit.
2.11 30 Jan 1995 DBH
     Case-insensitive completion.
     Menu stays in front of window after ADJUST.
2.12 10 Apr 1996 DBH
     Added Draw file creation (thanks Kate Crennel).  Report lists all
     children.  Added GEDCOM listing window.  Ignore non-GEDCOM data
     at start of file.
2.13 17 May 1996 DBH
     Fix code mishandled by BasCrunch.
2.14 10 Oct 1996 DBH
     Fix print rectangle ymax (thanks Neil James
     <JAMESNW@cgyespm.france.msnet.bp.com>).  Draw spacing depends
     on font size.  Select name under pointer, not just nearest.
     Fix unknown spouse display width.  Assume new spouse is parent.
     Fix display of long horizontal lines.
2.15 17 Oct 1996 DBH
2.16 09 Jan 1997 DBH
2.17 09 Jun 1997 DBH
     Fix long horizontals more correctly (thanks Kate Crennel).

To do
=====
Eliminate max completions.
Handle other GEDCOM objects.
Optionally show spouses' dates.
Limit number of generations displayed above and below current person.
Optionally Draw and print in colour.
Define a method of structuring names with selective display of parts.
Display & edit marriage date.
Window listing all names and dates.
Preview of pages to print.  Print only selected pages.
Display multiple trees in user-defined layout.
Ancestor tree.
Flexible report format.
Print all trees in file.
Print notes on tree?
Merge individuals and families from two files.
Menu entry interactive help.
Redraw leaves white rectangle.
Easytree converter.
Complete and enter or just complete.

Bugs
====
There's always (at least) one more.  Any error message ending in "!"
indicates an unexpected program error.  When reporting bugs, PLEASE state
the versions of !Family and RISC OS and what printer, printer driver and
hardware you are using if relevant.  Please give a precise recipe for
reproducing the bug and supply minimal example data and Choices files if
possible.

There is a bug in early versions of RISC OS 3 which occurs when you quit
an application by clicking on a 3D button (e.g. !Family's "Discard").
Sometimes you will get an address exception from the WIMP.
The cure is to load BorderUtil from the !NewLook application.

Please send bug reports (see "Bugs" above) to the address below.  If you
translate the Messages and Templates files to another language, please
send me a copy.

                    PLEASE SAY WHICH VERSION YOU HAVE

Denis Howe <dbh@doc.ic.ac.uk>
48 Anson Road, London NW2 3UU, UK

P.S. Please remember to say which version of the program
you have if you get in touch with me.  Thanks.
