ttx(1) tool for manipulating TrueType and OpenType fonts


[option ... ] file ...


is a tool for manipulating TrueType and OpenType fonts. It can convert TrueType and OpenType fonts to and from an XML -based format called TTX TTX files have a `.ttx' extension.

For each file argument it is given, detects whether it is a `.ttf' , `.otf' or `.ttx' file and acts accordingly: if it is a `.ttf' or `.otf' file, it generates a `.ttx' file; if it is a `.ttx' file, it generates a `.ttf' or `.otf' file.

By default, every output file is created in the same directory as the corresponding input file and with the same name except for the extension, which is substituted appropriately. never overwrites existing files; if necessary, it appends a suffix to the output file name before the extension, as in Arial#1.ttf

General options

Display usage information.
-d dir
Write the output files to directory dir instead of writing every output file to the same directory as the corresponding input file.
-o file
Write the output to file instead of writing it to the same directory as the corresponding input file.
Be verbose. Write more messages to the standard output describing what is being done.
Allow virtual glyphs ID's on compile or decompile.

Dump options

The following options control the process of dumping font files (TrueType or OpenType) to TTX files.

List table information. Instead of dumping the font to a TTX file, display minimal information about each table.
-t table
Dump table table This option may be given multiple times to dump several tables at once. When not specified, all tables are dumped.
-x table
Exclude table table from the list of tables to dump. This option may be given multiple times to exclude several tables from the dump. The -t and -x options are mutually exclusive.
Split tables. Dump each table to a separate TTX file and write (under the name that would have been used for the output file if the -s option had not been given) one small TTX file containing references to the individual table dump files. This file can be used as input to as long as the referenced files can be found in the same directory.
Don't disassemble TrueType instructions. When this option is specified, all TrueType programs (glyph programs, the font program and the pre-program) are written to the TTX file as hexadecimal data instead of assembly. This saves some time and results in smaller TTX files.
-y n
When decompiling a TrueType Collection (TTC) file, decompile font number n starting from 0.

Compilation options

The following options control the process of compiling TTX files into font files (TrueType or OpenType):

-m fontfile
Merge the input TTX file file with fontfile No more than one file argument can be specified when this option is used.
Don't recalculate glyph bounding boxes. Use the values in the TTX file as is.


You can find some information about the TTX file format in documentation.html In particular, you will find in that file the list of tables understood by and the relations between TrueType GlyphIDs and the glyph names used in TTX files.


In the following examples, all files are read from and written to the current directory. Additionally, the name given for the output file assumes in every case that it did not exist before was invoked.

Dump the TrueType font contained in FreeSans.ttf to FreeSans.ttx

ttx FreeSans.ttf

Compile MyFont.ttx into a TrueType or OpenType font file:

ttx MyFont.ttx

List the tables in FreeSans.ttf along with some information:

ttx -l FreeSans.ttf

Dump the `cmap' table from FreeSans.ttf to FreeSans.ttx

ttx -t cmap FreeSans.ttf


On MS-Windows and MacOS, is available as a graphical application to which files can be dropped.


was written by An -nosplit An Just van Rossum Aq [email protected] .

This manual page was written by An Florent Rougon Aq [email protected] for the Debian GNU/Linux system based on the existing FontTools documentation. It may be freely used, modified and distributed without restrictions.