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