Merge pull request #430 from anthrotype/davelab6-documentation-tweaks

Dave's documentation tweaks
This commit is contained in:
Cosimo Lupo 2015-12-08 18:36:16 +00:00
commit cade98932b
4 changed files with 99 additions and 127 deletions

View File

@ -1,110 +0,0 @@
TTX/FontTools
TTX/FontTools is a suite of tools for manipulating fonts. It is written in
Python and has a BSD-style, open-source licence -- see LICENSE.txt.
It's hosted at http://sourceforge.net/.
The flagship is TTX, a tool to convert OpenType and TrueType font files to
an XML-based format (also called TTX), and back. This lets you edit TTF or
OTF files with any text editor.
The FontTools library currently reads and writes TrueType font files, reads
PostScript Type 1 fonts and more.
Scope
TTX/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
For Windows and MacOS there are easy-to-use TTX installers. The rest if this
document is meant for people who want to use TTX/FontTools from the source.
You need the following software:
Python
The fresh versions as well as older versions (You need 2.0 or higher)
can be downloaded from
http://www.python.org/download/
or here
http://sourceforge.net/projects/python/
Windows: grab the Windows installer, run the full install.
Un*x: follow the build instructions.
MacOS: grab the installer, run "Easy Install"
The numpy extension
See http://numpy.scipy.org/
Now run the "setup.py" script from the FontTools archive. This will install
all the modules in the right places, as well as tries to compile the one
(optional) C extension contained in FontTools. On Unix it also installs the
"ttx" command line tool. This tool can also be used on Windows, but might
need some fiddling.
For instructions how to build a standalone Windows installer, see
Windows/README.TXT. Thanks a LOT to Adam Twardoch for this essential
contribution.
For TTX usage instructions, see the file "documentation.html".
Feedback
Please join the fonttools-discussion mailing list at SourceForge. Subscription
info can be found if you follow the "Mailing Lists" link at the SourceForge
project page:
http://sourceforge.net/projects/fonttools/
You can also email me directly at just@letterror.com.
If you want to follow the development of FontTools closely, or would like to
contribute, you can also subscribe to the fonttools-checkins mailing list.
Anonymous VCS access
The FontTools sources are also accessible here:
http://sourceforge.net/projects/fonttools/
Let me know if you'd like to become a co-developer.
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.
The library
Cross-platform
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.
Thank-you's
(in alphabetical order)
Erik van Blokland, Petr van Blokland, Jelle Bosma, Vincent Connare,
Simon Daniels, Hannes Famira, Greg Hitchcock, John Hudson, Jack Jansen,
Antoine Leca, Werner Lemberg, Peter Lofting, Dave Opstad, Laurence Penney,
Guido van Rossum, Adam Twardoch.
Copyrights
FontTools/TTX -- 1999-2002 Just van Rossum; Letterror (just@letterror.com)
See LICENCE.txt for the full license.

View File

@ -1,4 +1,36 @@
TTX/FontTools Version 2.4 ## TTX/FontTools Version 3.0
2015-09-01 <https://github.com/behdad/fonttools/commit/58f86f318af8b2f8b553e8cceef678d6ce0017c5>
- Add Snippet scripts for cmap subtable format conversion, printing GSUB/GPOS features, building a GX font from two masters
- TTX WOFF2 support and a `-f` option to overwrite output file(s)
- Support GX tables: `avar`, `gvar`, `fvar`, `meta`
- Support `feat` and gzip-compressed SVG tables
- Upgrade Mac East Asian encodings to native implementation if available
- Add Roman Croatian and Romanian encodings, codecs for mac-extended East Asian encodings
- Implement optimal GLYF glyph outline packing; disabled by default
## TTX/FontTools Version 2.5
2014-09-24 <https://github.com/behdad/fonttools/commit/8388a2e37ce349dac6555bb824c82723e3b65fbf>
- Add a Qt pen
- Add VDMX table converter
- Load all OpenType sub-structures lazily
- Add support for cmap format 13.
- Add pyftmerge tool
- Update to Unicode 6.3.0d3
- Add pyftinspect tool
- Add support for Google CBLC/CBDT color bitmaps, standard EBLC/EBDT embedded bitmaps, and `SVG ` table (thanks to Read Roberts at Adobe)
- Add support for loading, saving and ttx'ing WOFF file format
- Add support for Microsoft COLR/CPAL layered color glyphs
- Support PyPy
- Support Jython, by replacing numpy with array/lists modules and removed it, pure-Python StringIO, not cStringIO
- Add pyftsubset and Subsetter object, supporting CFF and TTF
- Add to ttx args for -q for quiet mode, -z to choose a bitmap dump format
## TTX/FontTools Version 2.4
- Option to write to arbitrary files - Option to write to arbitrary files
- Better dump format for DSIG - Better dump format for DSIG
- Better detection of OTF XML - Better detection of OTF XML
@ -9,14 +41,14 @@ TTX/FontTools Version 2.4
- Fix some modern MacOS issues - Fix some modern MacOS issues
- Fix minor issues and typos - Fix minor issues and typos
TTX/FontTools Version 2.3 ## TTX/FontTools Version 2.3
- TrueType Collection (TTC) support - TrueType Collection (TTC) support
- Python 2.6 support - Python 2.6 support
- Update Unicode data to 5.2.0 - Update Unicode data to 5.2.0
- Couple of bug fixes - Couple of bug fixes
TTX/FontTools Version 2.2 ## TTX/FontTools Version 2.2
- ClearType support - ClearType support
- cmap format 1 support - cmap format 1 support
@ -26,11 +58,11 @@ TTX/FontTools Version 2.2
- Update AGLFN data to 1.6 - Update AGLFN data to 1.6
- Many bug fixes - Many bug fixes
TTX/FontTools Version 2.1 ## TTX/FontTools Version 2.1
- Many years worth of fixes and features - Many years worth of fixes and features
TTX/FontTools Version 2.0 beta 2 (released ??? 2002) ## TTX/FontTools Version 2.0 beta 2 (released ??? 2002)
- Be "forgiving" when interpreting the maxp table version field: - Be "forgiving" when interpreting the maxp table version field:
interpret any value as 1.0 if it's not 0.5. Fixes dumping of these interpret any value as 1.0 if it's not 0.5. Fixes dumping of these
@ -41,7 +73,7 @@ TTX/FontTools Version 2.0 beta 2 (released ??? 2002)
- Fixed bug in ClassDef format 1 subtable (Andreas Seidel bumped into - Fixed bug in ClassDef format 1 subtable (Andreas Seidel bumped into
this one). this one).
TTX/FontTools Version 2.0 beta 1 (released September 10 2002) ## TTX/FontTools Version 2.0 beta 1 (released September 10 2002)
- Fixed embarrassing bug: the master checksum in the head table is now - Fixed embarrassing bug: the master checksum in the head table is now
calculated correctly even on little-endian platforms (such as Intel). calculated correctly even on little-endian platforms (such as Intel).
@ -93,7 +125,9 @@ TTX/FontTools Version 2.0 beta 1 (released September 10 2002)
- Couple of fixes to the 'post' table. - Couple of fixes to the 'post' table.
- Updated OS/2 table to latest spec. - Updated OS/2 table to latest spec.
TTX/FontTools Version 1.0 beta 1 (released August 10 2001) ## TTX/FontTools Version 1.0 beta 1
2001-08-10
- Reorganized the command line interface for ttDump.py and ttCompile.py, - Reorganized the command line interface for ttDump.py and ttCompile.py,
they now behave more like "normal" command line tool, in that they accept they now behave more like "normal" command line tool, in that they accept
@ -110,7 +144,9 @@ TTX/FontTools Version 1.0 beta 1 (released August 10 2001)
Windows registry. Windows registry.
- Moved the project to SourceForge. - Moved the project to SourceForge.
TTX/FontTools Version 1.0 alpha 6 (released March 15 2000) ## TTX/FontTools Version 1.0 alpha 6
2000-03-15
- Big reorganization: made ttLib a subpackage of the new fontTools package, - Big reorganization: made ttLib a subpackage of the new fontTools package,
changed several module names. Called the entire suite "FontTools" changed several module names. Called the entire suite "FontTools"
@ -125,17 +161,24 @@ TTX/FontTools Version 1.0 alpha 6 (released March 15 2000)
- TTX is now the name of the XML-based *format* for TT fonts, and not just - TTX is now the name of the XML-based *format* for TT fonts, and not just
an application. an application.
Version 1.0 alpha 5 (never released) ## Version 1.0 alpha 5
Never released
- More tables supported: hdmx, vhea, vmtx - More tables supported: hdmx, vhea, vmtx
Version 1.0 alpha 3 & 4 (never released) ## Version 1.0 alpha 3 & 4
Never released
- fixed most portability issues - fixed most portability issues
- retracted the "Euro_or_currency" change from 1.0a2: it was nonsense! - retracted the "Euro_or_currency" change from 1.0a2: it was nonsense!
Version 1.0 alpha 2 (released as binary for MacOS, 2 May 1999) ## Version 1.0 alpha 2
1999-05-02
- binary release for MacOS
- genenates full FOND resources: including width table, PS - genenates full FOND resources: including width table, PS
font name info and kern table if applicable. font name info and kern table if applicable.
- added cmap format 4 support. Extra: dumps Unicode char names as XML comments! - added cmap format 4 support. Extra: dumps Unicode char names as XML comments!
@ -155,7 +198,9 @@ Fixed bugs:
- 'hhea' table is now recalculated correctly - 'hhea' table is now recalculated correctly
- fixed wrong assumption about sfnt resource names - fixed wrong assumption about sfnt resource names
Version 1.0 alpha 1 (27 Apr 1999) ## Version 1.0 alpha 1
1999-04-27
- initial binary release for MacOS - initial binary release for MacOS

View File

@ -12,8 +12,21 @@ Among other things this means you can use it free of charge.
### Installation ### Installation
To download and install fontools on your system, run the following commands:
FontTools requires Python 2.7, or Python 3.3 or later. FontTools requires Python 2.7, or Python 3.3 or later.
The fresh versions as well as older versions can be downloaded from <http://www.python.org/download/>
- Windows: grab the Windows installer, run the full install.
- Un\*x: follow the build instructions.
- MacOS: grab the installer, run "Easy Install"
A package is available in pypi from <https://pypi.python.org/pypi/FontTools>
```
easy\_install pip ;
pip install fonttools ;
```
For people who want to download and install fontools on your system from source code, run the following commands:
```sh ```sh
git clone https://github.com/behdad/fonttools.git ; git clone https://github.com/behdad/fonttools.git ;
@ -21,7 +34,7 @@ cd fonttools ;
python setup.py install ; python setup.py install ;
``` ```
Full build and installation instructions are in [Doc/install.txt](https://github.com/behdad/fonttools/blob/master/Doc/install.txt) This will install all the modules and command line tools in the right places.
### TTX From OpenType and TrueType to XML and Back ### TTX From OpenType and TrueType to XML and Back
@ -52,7 +65,7 @@ These additional options include:
* splitting tables to separate `.ttx` files * splitting tables to separate `.ttx` files
* disabling TrueType instruction disassembly * disabling TrueType instruction disassembly
### The TTX file format #### The TTX file format
The following tables are currently supported: The following tables are currently supported:
<!-- begin table list --> <!-- begin table list -->
@ -79,9 +92,33 @@ The original names are being kept, so this has no influence on a "round tripped"
Because the order in which glyphs are stored inside the binary font is important, we maintain an ordered list of glyph names in the font. Because the order in which glyphs are stored inside the binary font is important, we maintain an ordered list of glyph names in the font.
### Development and feedback ### Other Tools
TTX/FontTools development is ongoing, with an active community of developers including professional developers employed at major software corporations and type foundries as well as hobbyists. Commands for inspecting, merging and subsetting fonts are also available:
```sh
pyftinspect ;
pyftmerge ;
pyftsubset ;
```
### fontTools Python Module
The fontTools python module provides a convenient way to programmatically edit font files.
```py
>>> from fontTools.ttLib import TTFont
>>> font = TTFont('/path/to/font.ttf')
>>> font
<fontTools.ttLib.TTFont object at 0x10c34ed50>
>>>
```
A selection of sample python programs is in the [Snippets](https://github.com/behdad/fonttools/blob/master/Snippets/) directory.
### Development Community
TTX/FontTools development is ongoing in an active community of developers, that includes professional developers employed at major software corporations and type foundries as well as hobbyists.
Feature requests and bug reports are always welcome at <https://github.com/behdad/fonttools/issues/> Feature requests and bug reports are always welcome at <https://github.com/behdad/fonttools/issues/>