The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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
  -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 option, 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.

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.