Merge pull request #359 from davelab6/patch-2
README: Update , merge in Doc/documentation.html
This commit is contained in:
commit
db6048461a
@ -1,104 +0,0 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
|
||||
<TITLE>TTX Documentation</TITLE>
|
||||
|
||||
|
||||
</HEAD>
|
||||
<BODY bgcolor="#FFFFFF">
|
||||
|
||||
<H3>TTX -- From OpenType and TrueType to XML and Back</H3>
|
||||
|
||||
<A HREF="http://fonttools.sourceforge.net/">TTX</A> is a tool for manipulating TrueType and OpenType fonts. It is written in Python and has a BSD-style, open-source licence -- see LICENSE.txt. Among other things this means you can use it free of charge. It's hosted at <A HREF="http://sourceforge.net/">sourceforge.net</A>.
|
||||
|
||||
<P>
|
||||
TTX can dump TrueType and OpenType fonts to an XML-based text format, which is also called TTX. TTX files have a .ttx file extension.
|
||||
|
||||
<H3>How to use TTX</H3>
|
||||
|
||||
The TTX application works can be used in two ways, depending on what platform you run it on:
|
||||
|
||||
<ul>
|
||||
<li>As a command line tool (Windows/DOS, Unix, MacOSX)</li>
|
||||
<li>By dropping files onto the application (Windows, MacOS)</li>
|
||||
</ul>
|
||||
|
||||
<P>
|
||||
TTX detects what kind of files it is fed: it will output a .ttx file when it sees a .ttf or .otf, and it will compile a .ttf or .otf when the input file is a .ttx file. By default, the output file is created in the same folder as the input file, and will have the same name as the input file but with a different extension. TTX will <I>never</I> overwrite existing files, but if necessary will append a unique number to the output filename (before the extension), eg.: "Arial#1.ttf".
|
||||
|
||||
<P>
|
||||
When using TTX from the command line there are a bunch of extra options, these are explained in the help text, as displayed when typing "ttx -h" at the command prompt. These additional options include:
|
||||
<ul>
|
||||
<li>specifying the folder where the output files are created</li>
|
||||
<li>specifying which tables to dump or which tables to exclude</li>
|
||||
<li>merging partial .ttx files with existing .ttf or .otf files</li>
|
||||
<li>listing brief table info isntead of dumping to .ttx</li>
|
||||
<li>splitting tables to separate .ttx files</li>
|
||||
<li>disabling TT instruction disassembly</li>
|
||||
</ul>
|
||||
|
||||
<H3>The TTX file format</H3>
|
||||
|
||||
The following tables are currently supported:
|
||||
<BLOCKQUOTE><TT>
|
||||
<!-- begin table list -->
|
||||
BASE, CBDT, CBLC, CFF, COLR, CPAL, DSIG, EBDT, EBLC, FFTM, GDEF, GMAP, GPKG, GPOS, GSUB, JSTF, LTSH, MATH, META, OS/2, SING, SVG, TSI0, TSI1, TSI2, TSI3, TSI5, TSIB, TSID, TSIJ, TSIP, TSIS, TSIV, VDMX, VORG, avar, cmap, cvt, feat, fpgm, fvar, gasp, glyf, gvar, hdmx, head, hhea, hmtx, kern, loca, ltag, maxp, meta, name, post, prep, sbix, vhea and vmtx
|
||||
<!-- end table list -->
|
||||
</TT></BLOCKQUOTE>
|
||||
Other tables are dumped as hexadecimal data.
|
||||
|
||||
<P>
|
||||
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.
|
||||
|
||||
<P>The glyph names are either extracted from the 'CFF ' table or the 'post' table,
|
||||
or are derived from a Unicode 'cmap' table. In the latter case the Adobe Glyph List
|
||||
is used to calculate names based on Unicode values. If all of these mthods fail,
|
||||
names are invented based on GlyphID (eg. "glyph00142").
|
||||
|
||||
<P>It is possible that different glyphs use the same name. If this happens,
|
||||
we force the names to be unique by appending "#n" to the name (n being an
|
||||
integer number). The original names are being kept, so this has no influence
|
||||
on a "round tripped" font.
|
||||
|
||||
<P>Because the order in which glyphs are stored inside the TT font is
|
||||
important, we maintain an ordered list of glyph names in the font.
|
||||
|
||||
|
||||
<H3>Development and feedback</H3>
|
||||
|
||||
TTX/FontTools development is ongoing, but often goes in spurts. Feature requests and bug reports are always welcome. The best place for these is currently the fonttools-discussion mailing list at SourceForge. This list is both for discussion TTX from an end-user perspective as well as TTX/FontTools development. Subscription info can be found if you follow the "Mailing Lists" link at the <A HREF="http://sourceforge.net/projects/fonttools/">SourceForge project page</A>. You can also email me directly at <A HREF="mailto:just@letterror.com">just@letterror.com</A>.
|
||||
|
||||
<P>
|
||||
Let me take this opportunity to mention that if you have special needs (eg. custom font monipulators, dufferent table formats, etc.): I am available for contracting.
|
||||
|
||||
<H3>Credits</H3>
|
||||
|
||||
Windows setup script: Adam Twardoch
|
||||
<BR>Icon: Hannes Famira
|
||||
|
||||
<H3>Acknowledgements</H3>
|
||||
|
||||
(in alphabetical order)
|
||||
Erik van Blokland, Petr van Blokland, Jelle Bosma, Vincent Connare,
|
||||
Simon Daniels, Hannes Famira, Yannis Haralambous, Greg Hitchcock, John Hudson,
|
||||
Jack Jansen, Tom Kacvinsky, Antoine Leca, Werner Lemberg, Tal Leming,
|
||||
Peter Lofting, Dave Opstad, Laurence Penney, Read Roberts, Guido van Rossum, Andreas Seidel, Adam Twardoch.
|
||||
|
||||
<H3>Copyrights</H3>
|
||||
|
||||
<A HREF="http://fonttools.sourceforge.net/">FontTools/TTX</A>
|
||||
<BR>1999-2003 Just van Rossum; LettError (just@letterror.com). See LICENSE.txt for the full license.
|
||||
<P>
|
||||
<A HREF="http://www.python.org/">Python</A>
|
||||
<BR>Copyright (c) 2001-2003 Python Software Foundation. All Rights Reserved.
|
||||
<BR>Copyright (c) 2000 BeOpen.com. All Rights Reserved.
|
||||
<BR>Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.
|
||||
<BR>Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved.
|
||||
<P>
|
||||
<A HREF="http://www.pfdubois.com/numpy/">Numeric Python (NumPy)</A>
|
||||
<BR>Copyright (c) 1996. The Regents of the University of California. All rights reserved.
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
160
README.md
160
README.md
@ -2,42 +2,160 @@
|
||||
[](https://landscape.io/github/behdad/fonttools/master)
|
||||
[](https://coveralls.io/r/behdad/fonttools)
|
||||
|
||||
### What it is ?
|
||||
### What it this?
|
||||
|
||||
Quoting from [TTX/FontTools Sourceforge Project](http://sourceforge.net/projects/fonttools/)
|
||||
> a tool to convert OpenType and TrueType fonts to and from XML. FontTools is a library for manipulating fonts, written in Python. It supports TrueType, OpenType, AFM and to an extent Type 1 and some Mac-specific formats.
|
||||
|
||||
### Quick start
|
||||
|
||||
```python setup.py install```
|
||||
|
||||
From your command line type the above command to get fontools installed on your system. FontTools requires Python 2.7, or Python 3.3 or later.
|
||||
fontTools is a library for manipulating fonts, written in Python.
|
||||
The project includes the TTX tool, that can convert TrueType and OpenType fonts to and from an XML text format, which is also called TTX.
|
||||
It supports TrueType, OpenType, AFM and to an extent Type 1 and some Mac-specific formats.
|
||||
The project has a [BSD-style open-source licence](LICENSE.txt).
|
||||
Among other things this means you can use it free of charge.
|
||||
|
||||
### Installation
|
||||
|
||||
See [install.txt](https://github.com/behdad/fonttools/blob/master/Doc/install.txt) in the 'Doc' subdirectory for instructions on how to build and install TTX/FontTools from the sources.
|
||||
To download and install fontools on your system, run the following commands:
|
||||
FontTools requires Python 2.7, or Python 3.3 or later.
|
||||
|
||||
```sh
|
||||
git clone https://github.com/behdad/fonttools.git ;
|
||||
cd fonttools ;
|
||||
python setup.py install ;
|
||||
```
|
||||
|
||||
### Documentation
|
||||
Full build and installation instructions are in [Doc/install.txt](https://github.com/behdad/fonttools/blob/master/Doc/install.txt)
|
||||
|
||||
#### What is TTX ?
|
||||
### TTX – From OpenType and TrueType to XML and Back
|
||||
|
||||
See [documentation.html](https://rawgit.com/behdad/fonttools/master/Doc/documentation.html) in the "Doc" subdirectory for TTX usage instructions and information about the TTX file format.
|
||||
Once installed you can use the `ttx` command to convert binary font files (`.otf`, `.ttf`, etc) to the TTX xml format, edit them, and convert them back to binary format.
|
||||
TTX files have a .ttx file extension.
|
||||
|
||||
#### History
|
||||
```sh
|
||||
ttx /path/to/font.otf ;
|
||||
ttx /path/to/font.ttx ;
|
||||
```
|
||||
|
||||
The fontTools project was started by Just van Rossum in 1999, and was maintained as an open source project at <http://sourceforge.net/projects/fonttools/>. In 2008, Paul Wise (pabs3) began helping Just with stability maintenance. In 2013 Behdad Esfahbod began a friendly fork, thoroughly reviewing the codebase and making changes at <https://github.com/behdad/fonttools> to add new features and support for new font formats.
|
||||
The TTX application works can be used in two ways, depending on what platform you run it on:
|
||||
|
||||
### Community
|
||||
* As a command line tool (Windows/DOS, Unix, MacOSX)
|
||||
* By dropping files onto the application (Windows, MacOS)
|
||||
|
||||
* https://groups.google.com/d/forum/fonttools
|
||||
TTX detects what kind of files it is fed: it will output a `.ttx` file when it sees a `.ttf` or `.otf`, and it will compile a `.ttf` or `.otf` when the input file is a `.ttx` file.
|
||||
By default, the output file is created in the same folder as the input file, and will have the same name as the input file but with a different extension.
|
||||
TTX will _never_ overwrite existing files, but if necessary will append a unique number to the output filename (before the extension) such as `Arial#1.ttf`
|
||||
|
||||
### License
|
||||
When using TTX from the command line there are a bunch of extra options, these are explained in the help text, as displayed when typing `ttx -h` at the command prompt.
|
||||
These additional options include:
|
||||
|
||||
See "LICENSE.txt" for licensing information.
|
||||
* specifying the folder where the output files are created
|
||||
* specifying which tables to dump or which tables to exclude
|
||||
* merging partial `.ttx` files with existing `.ttf` or `.otf` files
|
||||
* listing brief table info isntead of dumping to `.ttx`
|
||||
* splitting tables to separate `.ttx` files
|
||||
* disabling TrueType instruction disassembly
|
||||
|
||||
### The TTX file format
|
||||
|
||||
The following tables are currently supported:
|
||||
|
||||
BASE, CBDT, CBLC, CFF, COLR, CPAL, DSIG, EBDT, EBLC, FFTM, GDEF,
|
||||
GMAP, GPKG, GPOS, GSUB, JSTF, LTSH, MATH, META, OS/2, SING, SVG,
|
||||
TSI0, TSI1, TSI2, TSI3, TSI5, TSIB, TSID, TSIJ, TSIP, TSIS, TSIV,
|
||||
VDMX, VORG, avar, cmap, cvt, feat, fpgm, fvar, gasp, glyf, gvar,
|
||||
hdmx, head, hhea, hmtx, kern, loca, ltag, maxp, meta, name, post,
|
||||
prep, sbix, vhea, vmtx
|
||||
|
||||
Other tables are dumped as hexadecimal data.
|
||||
|
||||
TrueType fonts use glyph indices (GlyphIDs) 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 glyph names are either extracted from the `CFF ` table or the `post` table, or are derived from a Unicode `cmap` table.
|
||||
In the latter case the Adobe Glyph List is used to calculate names based on Unicode values.
|
||||
If all of these methods fail, names are invented based on GlyphID (eg `glyph00142`)
|
||||
|
||||
It is possible that different glyphs use the same name.
|
||||
If this happens, we force the names to be unique by appending `#n` to the name (`n` being an integer number.)
|
||||
The original names are being kept, so this has no influence on a "round tripped" 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
|
||||
|
||||
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.
|
||||
|
||||
Feature requests and bug reports are always welcome at <https://github.com/behdad/fonttools/issues/>
|
||||
|
||||
The best place for discussions about TTX from an end-user perspective as well as TTX/FontTools development is the <https://groups.google.com/d/forum/fonttools> mailing list.
|
||||
You can also email Behdad privately at <behdad@behdad.org>
|
||||
|
||||
### Credits
|
||||
|
||||
Windows setup script: Adam Twardoch
|
||||
|
||||
Icon: Hannes Famira
|
||||
|
||||
### Acknowledgements
|
||||
|
||||
In alphabetical order:
|
||||
|
||||
Olivier Berten,
|
||||
Samyak Bhuta,
|
||||
Erik van Blokland,
|
||||
Petr van Blokland,
|
||||
Jelle Bosma,
|
||||
Sascha Brawer,
|
||||
Tom Byrer,
|
||||
Frédéric Coiffier,
|
||||
Vincent Connare,
|
||||
Dave Crossland,
|
||||
Simon Daniels,
|
||||
Behdad Esfahbod,
|
||||
Behnam Esfahbod,
|
||||
Hannes Famira,
|
||||
Sam Fishman,
|
||||
Matt Fontaine,
|
||||
Yannis Haralambous,
|
||||
Greg Hitchcock,
|
||||
Jeremie Hornus,
|
||||
Khaled Hosny,
|
||||
John Hudson,
|
||||
Denis Jacquerye,
|
||||
Jack Jansen,
|
||||
Tom Kacvinsky,
|
||||
Jens Kutilek,
|
||||
Antoine Leca,
|
||||
Werner Lemberg,
|
||||
Tal Leming,
|
||||
Peter Lofting,
|
||||
Cosimo Lupo,
|
||||
Project Mashabow,
|
||||
Dave Opstad,
|
||||
Laurence Penney,
|
||||
Roozbeh Pournader,
|
||||
Garret Rieger,
|
||||
Read Roberts,
|
||||
Guido van Rossum,
|
||||
Just van Rossum,
|
||||
Andreas Seidel,
|
||||
Georg Seifert,
|
||||
Miguel Sousa,
|
||||
Adam Twardoch,
|
||||
Adrien Tétar,
|
||||
Vitaly Volkov,
|
||||
Paul Wise.
|
||||
|
||||
### Copyrights
|
||||
|
||||
Copyright (c) 1999-2004 Just van Rossum, LettError (just@letterror.com)
|
||||
See [LICENSE.txt](LICENSE.txt) for the full license.
|
||||
|
||||
Copyright (c) 2000 BeOpen.com.
|
||||
All Rights Reserved.
|
||||
|
||||
Copyright (c) 1995-2001 Corporation for National Research Initiatives.
|
||||
All Rights Reserved.
|
||||
|
||||
Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
|
||||
All Rights Reserved.
|
||||
|
||||
Have fun!
|
||||
|
||||
Just van Rossum <just@letterror.com>
|
||||
|
Loading…
x
Reference in New Issue
Block a user