diff --git a/Doc/index.html b/Doc/index.html
index c4ba99c15..1ba8dee1e 100644
--- a/Doc/index.html
+++ b/Doc/index.html
@@ -9,39 +9,224 @@
FontTools
-Introduction
+FontTools is a suite of tools and libraries for manipulating fonts. It is written
+in Python and has a Python-style, open-source licence -- see LICENSE.txt.
+It currently reads and writes TrueType font files, reads PostScript Type 1 fonts
+and more. It contains two command line programs to convert TrueType fonts to an
+XML based format (called TTX) and back.
+
+
Scope
+
+FontTools' functionality is aimed towards font developers and font tool developers.
+It can of course be used to just access fonts (outlines, metrics, etc.) but it is
+not optimized for that. It will be further developed so it can be the core of any
+font editor. And that's exactly what it will be for our upcoming major rewrite of
+RoboFog, our (commercial) PythonPowered font
+editor for MacOS.
+
+Installation
+
+You need the following software to use FontTools:
+
+
+-
+ Python 1.5.1 or newer. The latest version 1.5.x is here:
+ http://www.python.org/1.5/
+
+
Windows: grab the Windows installer, run the full install
+
Un*x: follow the build instructions
+
Linux: maybe you already *have* Python: check whether you have
+ version 1.5.1 or newer.
+
MacOS: grab the installer, run "Easy Install"
+
+
+
-
+ The Numeric Python extension (you don't need this under MacOS, since it's
+ included in the MacPython installer).
+
+
The compiled Win32 version:
+ ftp://ftp-icf.llnl.gov/pub/python/LLNLDistribution11.zip
+
+
The source distribution is here:
+ ftp://ftp-icf.llnl.gov/pub/python/LLNLDistribution11.tgz
+
+
Included in this archive is a directory called "Numeric" (but do unzip
+ the whole archive, it's needed for the install script!).
+
On Linux or other Unices: follow the build instructions.
+
+
On Windows & Unix:
+ In the "Numeric" directory there is a script called "installthis.py".
+ If you've installed Python successfully, you can just run it, it will
+ install (copy!) the neccesary stuff to the Python directory all by itself.
+
+ Note that the above links are not pointing to the latest version! Newer
+ versions use a different install procedure, which recently still had some problems.
+ If you know what you're doing, you can get the latest Numeric Python at
+ http://numpy.sourceforge.net/.
+
+
+
-
+ xmlproc (a Python based XML parser) from:
+ http://www.stud.ifi.uio.no/~larsga/download/python/xml/xmlproc.html
+
+
I don't know the official install procedure, but the archive should contain
+ a directory called "xml", move that directory to the Python directory and
+ you should be all set. To make sure: start python (python.exe on Win32)
+ and type at the ">>>" prompt:
+ >>> import xml.parsers.xmlproc.xmlproc
+ followed by a return. If that doesn't cause an error, you're all set.
+
+ Note that the default xmlproc distribution depends on Python 1.5.2 (by oversight,
+ not intend) but there is an alternative distribution that does work under Python 1.5.1.
+
+
xmlproc is also part of the xml-sig distribution.
+
+
+
+
+Now run the "install.py" script from the FontTools archive.
+This will make sure Python knows where to find FontTools. It doesn't copy anything.
+(Note that the "install.py" script has only been lightly tested.)
+
+Additional Mac instructions:
+De-binhex "TTX.rsrc.hqx" by dropping it onto StuffIt expander. (Or use your
+own preferred method)
+The "TTX.py" script included in this archive is the Mac-only main program:
+Drop it onto the "BuildApplet" app inside the Python folder; this will
+produce the TTX applet.
+
+
+
User documentation
+
+For MacOS there's a small application called TTX. If you drop a TrueType file
+onto it, it will convert it to XML. If you drop an XML file onto it, it will
+convert it back to TrueType. Please read the additional README file in the Mac
+subdirectory, since it behaves quite differently than the command line programs
+described below.
+
+
For Unix and DOS I've provided two command line programs:
+
+ - ttDump.py
+
- ttCompile.py
+
+They do pretty much what you'd expect. They take several arguments:
+an input file name and optionally an output file name. There are some extra
+options which are explained by the 'usage' text; use the -h option to display
+it.
+
+If you don't provide an output file name, an output file name will be contructed
+from the input file name: foo.ttf becomes foo.ttx in ttDump.py and vice versa
+for ttCompile.py. WARNING: these tools will silently overwrite existing files!
+
+
Adam Twardoch contributed a Windows registry script (ttx_shellext_win32.py) which
+makes the two above tools available under the Right Mouse Button. I haven't tested
+these myself, but I'm very interested in hearing about the results!
+
+
+
Note about glyph names and TrueType GlyphID's
+
+TrueType fonts use glyph indices (GlyphID's) to refer to glyphs in most places.
+While this is fine in binary form, it is really hard to work with for
+humans. Therefore we use names instead.
+
+The names are derived from what is found in the 'post' table. It is
+possible that different glyphs use the same PS name. If this happens, we
+force the names to be unique by appending "#n" to the name (n being an
+integer number). The original PS names will still be maintained by the
+'post' table, so even though we use a different name internally, we are
+still able to write the 'post' table back in original form. If there is
+no proper 'post' table available, names will be derived from a Unicode
+cmap (if available) in conjuction with the Adobe Glyph List (see fontTools/agl.py).
+
+
Because the order in which glyphs are stored inside the TT font is
+important, ttLib maintains an ordered list of glyph names in the font.
+
+
Feedback
+
+Please direct all feedback to just@letterror.com.
+I hope to create a discussion mailing list at some point.
+
+Anonymous CVS-access
+
+The FontTools sources are also accessible through CVS:
+
+ :pserver:fonttools@rietveld.petr.nl:/usr/local/cvsanon
+ password: fontypython
+ module name: FontTools
+
+
+
+Developer documentation
+
+Sorry, documentation beyond doc strings in the source code is still on my to-do list...
+Below follows a brief overview of what's there.
+
+
GUI Tools
-TTX
+TTX -- A simple Mac app that converts TrueType (or OpenType) fonts to TTX format and back.
Command line tools
-
- - tt2xml
-
- xml2tt
+
+ - ttDump -- dumps a TrueType (or OpenType) font file to TTX format.
+
- ttCompile -- compiles a TTX file back into a TTF (or OTF) file.
The library
Cross-platform
-
- - fontTools.t1Lib
-
- fontTools.ttLib
-
- fontTools.afmLib
-
- fontTools.cffLib
-
- fontTools.unicode
-
- fontTools.agl
+
+ - fontTools.t1Lib -- Provides a Type 1 font reader. Writing is a planned feature.
+
- fontTools.ttLib -- Extensive TrueType tools. Reads and writes. This is the flagship
+ of FontTools, it's by far the most mature component. Contains a completely modular
+ TTF table converter architecture. See ttLib/tables/table_API_readme.txt.
+
- fontTools.afmLib -- And AFM file reader/writer.
+
- fontTools.cffLib -- Reads CFF fonts. Writing is a planned feature.
+
- fontTools.unicode -- A simple (but large) module that translates
+ Unicode values to their descriptive names. Still Unicode 2.0.
+
- fontTools.agl -- Interface to the Adobe Glyph List: maps unicode values
+ to glyph names and back.
Mac-specific
-
- - fontTools.fondLib
-
- fontTools.nfntLib
+
+ - fontTools.fondLib -- A reader/writer class for Mac FOND resources.
+
- fontTools.nfntLib -- Reads Mac NFNT bitmap font resources.
-
+
The Future
+
+In /Lib/fontTools/objects you'll find several objects-under-construction which will be
+(and partially are) a generic outline font implementation, offering transparent access
+to various font formats (currently only Type 1 and TTF/OTF). Plans:
+
+ - Develop this into a complete font compiler for at least Type 1, TrueType and
+ OpenType.
+
- To make the above possible, develop a high level XML-based format to be used
+ as source code for font development. This "language" will be called FDL -- Font
+ Definition Language. For some (rather old) blurb about these ideas, see
+ http://www.letterror.com/fdl/.
+
+
+Thank-you's
+
+(in alphabetical order)
+Erik van Blokland, Petr van Blokland, Jelle Bosma, Vincent Connare,
+Simon Daniels, Hannes Famira, Greg Hitchcock, Jack Jansen, Antoine Leca,
+Werner Lemberg, Peter Lofting, Dave Opstad, Laurence Penney,
+Guido van Rossum, Adam Twardoch.
+
+Copyrights
+
+FontTools/TTX -- 1999-2000 Just van Rossum; Letterror (just@letterror.com)
+
Python -- Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
+ The Netherlands.
+
Numeric Python -- Copyright (c) 1996. The Regents of the
+ University of California. All rights reserved.
+
xmlproc -- Lars Marius Garshol