TITLE

ttftable - import, export, or delete TrueType font tables

SYNOPSIS

ttftable [options] infile.ttf [outfile.ttf]

Opens infile.ttf for reading, optionally imports, exports, and/or deletes tables from the font, then writes the modified font to outfile.ttf if provided.

OPTIONS

-export tag          Name of table to export to default datafile
-export "tag=fname"  Name of table to export and optional datafile name
-import tag          Name of table to import from default datafile
-import "tag=fname"  Name of table to import and optional datafile name
-delete tag[,tag...] List of tables to remove from font
-update tag[,tag...] Force a re-build of the named tables 
-list                Write a list of table tags from infile.ttf to STDOUT
-text                Use text mode i/o for datafiles 
-help                Help

Option names may be abbreviated; -export, -import, and -delete options may be repeated.

DESCRIPTION

After opening font file infile.ttf, ttftable can export one or more of the truetype tables to separate files, import one or more font tables from separate files, and/or delete specified tables from the font.

Changes are written to outfile.ttf if supplied.

Tables are identified by their four-character tag. For the -delete and -update options, more than one table tag can be supplied, and the following (case insensitive) magic words can also be used:

graphite  delete SIL Graphite tables (Silf Feat Gloc Glat Sill Sile)
volt      delete Microsoft VOLT tables (TSIV TSID TSIP TSIS)
opentype  delete OpenTYpe tables (GDEF GSUB GPOS)

The parameter to -export and -import is a table tag optionally followed by equals sign and a filename. If the filename is not provided, ttftable makes up a file name by appending ".tagname.dat" to the input font file name. CAUTION: Windows users should include quotes around parameters of the form tag=fname.

-update is a debugging tool that forces the named tables to be read in detail, then "dirties" them, and finally updates the font. This should bring the font into consistent state if it wasn't before. Note that updating the 'glyf' table will cause every glyph to be read and parsed and then reconstructed, taking significantly more time.

Font tables such as TSIV that contain text use various conventions for line ending. During -export, the -text option will convert any line-endings in the font data to what is needed by your platform. During -import, the -text option simply converts your platform line endings to newline (\n) character, which may not be what you want, so use with caution.

Arrangements of command lines options that import and export the same table and/or the same data file will "do the right thing" except that external files can contain only one table.