TTX(1) General Commands Manual (fonttools manual) TTX(1)

ttxtool for manipulating TrueType and OpenType fonts

ttx [option ...] file ...

ttx 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, ttx 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. ttx never overwrites existing files; if necessary, it appends a suffix to the output file name before the extension, as in Arial#1.ttf.

Display usage information.
dir
Write the output files to directory dir instead of writing every output file to the same directory as the corresponding input file.
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.

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.
table
Dump table table. This option may be given multiple times to dump several tables at once. When not specified, all tables are dumped.
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 ttx 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.
n
When decompiling a TrueType Collection (TTC) file, decompile font number n, starting from 0.

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

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 ttx 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 ttx 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, ttx is available as a graphical application to which files can be dropped.

documentation.html

fontforge(1), ftinfo(1), gfontview(1), xmbdfed(1), Font::TTF(3pm)

ttx was written by Just van Rossum ⟨just@letterror.com⟩.

This manual page was written by Florent Rougon ⟨f.rougon@free.fr⟩ for the Debian GNU/Linux system based on the existing FontTools documentation. It may be freely used, modified and distributed without restrictions.

May 18, 2004 Linux 6.10.10-arch1-1