blob: 44603c560ba4599e91401dd9ecba21fcba1f76fe [file] [log] [blame]
jvr15174d02002-09-10 13:13:25 +00001TTX/FontTools 2.0b1
2
3TTX/FontTools is a suite of tools for manipulating fonts. It is written in
4Python and has a BSD-style, open-source licence -- see LICENSE.txt.
5It's hosted at http://sourceforge.net/.
6
7The flagship is TTX, a tool to convert OpenType and TrueType font files to
8an XML-based format (also called TTX), and back. This lets you edit TTF or
9OTF files with any text editor.
10
11The FontTools library currently reads and writes TrueType font files, reads
12PostScript Type 1 fonts and more.
13
14
15Scope
16
17TTX/FontTools' functionality is aimed towards font developers and font tool
18developers. It can of course be used to just access fonts (outlines,
19metrics, etc.) but it is not optimized for that. It will be further
20developed so it can be the core of any font editor. And that's exactly
21what it will be for our upcoming major rewrite of RoboFog, our (commercial)
22PythonPowered font editor for MacOS.
23
24
25Installation
26
27For Windows and MacOS there are easy-to-use TTX installers. The rest if this
28document is meant for people who want to use TTX/FontTools from the source.
29
30You need the following software:
31
32Python
33 The fresh versions as well as older versions (You need 2.0 or higher)
34 can be downloaded from
35 http://www.python.org/download/
36 or here
37 http://sourceforge.net/projects/python/
38
39 Windows: grab the Windows installer, run the full install.
40 Un*x: follow the build instructions.
41 MacOS: grab the installer, run "Easy Install"
42
43The Numeric Python extension
44 Get a fresh version from the download page, linked from here:
45 http://sourceforge.net/projects/numpy/
46 Windows: grab the "Numeric-*.exe" archive, it's an installer. Make sure
47 the Python version in the archive name (eg. "2.2") matches the Python
48 version you have.
49 Linux, other Unices including MacOSX: get a source archive and run this
50 command from the unpacked directory:
51 python setup.py install
52
53PyXML
54 Similar to the Numeric Python instructions, get the appropriate archive
55 or installer from
56 http://sourceforge.net/projects/pyxml/
57 Installation is also similar to installing Numeric Python, see above.
58 Note: some Python distributions already contain the neccesary XML support.
59 If "import xml.parsers.expat" works at the Python interactive prompt, you
60 don't need to install PyXML.
61
62Now run the "setup.py" script from the FontTools archive. This will install
63all the modules in the right places, as well as tries to compile the one
64(optional) C extension contained in FontTools. On Unix it also installs the
65"ttx" command line tool. This tool can also be used on Windows, but might
66need some fiddling.
67
68For instructions how to build a standalone Windows installer, see
69Windows/README.TXT. Thanks a LOT to Adam Twardoch for this essential
70contribution.
71
72For TTX usage instructions, see the file "documentation.html".
73
74
75Feedback
76
77Please join the fonttools-discussion mailing list at SourceForge. Subscription
78info can be found if you follow the "Mailing Lists" link at the SourceForge
79project page:
80 http://sourceforge.net/projects/fonttools/
81You can also email me directly at just@letterror.com.
82
83If you want to follow the development of FontTools closely, or would like to
84contribute, you can also subscribe to the fonttools-checkins mailing list.
85
86
87Anonymous CVS-access
88
89The FontTools sources are also accessible through CVS, see:
90 http://sourceforge.net/projects/fonttools/
91Let me know if you'd like to become a co-developer.
92
93
94Developer documentation
95
96Sorry, documentation beyond doc strings in the source code is still on my to-do list...
97Below follows a brief overview of what's there.
98
99
100The library
101
102 Cross-platform
103 fontTools.t1Lib -- Provides a Type 1 font reader. Writing is a planned feature.
104 fontTools.ttLib -- Extensive TrueType tools. Reads and writes. This is the flagship
105 of FontTools, it's by far the most mature component. Contains a completely modular
106 TTF table converter architecture. See ttLib/tables/table_API_readme.txt.
107 fontTools.afmLib -- And AFM file reader/writer.
108 fontTools.cffLib -- Reads CFF fonts. Writing is a planned feature.
109 fontTools.unicode -- A simple (but large) module that translates
110 Unicode values to their descriptive names. Still Unicode 2.0.
111 fontTools.agl -- Interface to the Adobe Glyph List: maps unicode values
112 to glyph names and back.
113
114 Mac-specific
115 fontTools.fondLib -- A reader/writer class for Mac FOND resources.
116 fontTools.nfntLib -- Reads Mac NFNT bitmap font resources.
117
118
119Thank-you's
120
121(in alphabetical order)
122Erik van Blokland, Petr van Blokland, Jelle Bosma, Vincent Connare,
123Simon Daniels, Hannes Famira, Greg Hitchcock, John Hudson, Jack Jansen,
124Antoine Leca, Werner Lemberg, Peter Lofting, Dave Opstad, Laurence Penney,
125Guido van Rossum, Adam Twardoch.
126
127Copyrights
128
129FontTools/TTX -- 1999-2002 Just van Rossum; Letterror (just@letterror.com)
130See LICENCE.txt for the full license.