Home | History | Annotate | Download | only in Doc
      1 .Dd May 18, 2004
      2 .\" ttx is not specific to any OS, but contrary to what groff_mdoc(7)
      3 .\" seems to imply, entirely omitting the .Os macro causes 'BSD' to
      4 .\" be used, so I give a zero-width space as its argument.
      5 .Os \&
      6 .\" The "FontTools Manual" argument apparently has no effect in
      7 .\" groff 1.18.1. I think it is a bug in the -mdoc groff package.
      8 .Dt TTX 1 "FontTools Manual"
      9 .Sh NAME
     10 .Nm ttx
     11 .Nd tool for manipulating TrueType and OpenType fonts
     12 .Sh SYNOPSIS
     13 .Nm
     14 .Bk
     15 .Op Ar option ...
     16 .Ek
     17 .Bk
     18 .Ar file ...
     19 .Ek
     20 .Sh DESCRIPTION
     21 .Nm
     22 is a tool for manipulating TrueType and OpenType fonts.  It can convert
     23 TrueType and OpenType fonts to and from an
     24 .Tn XML Ns -based format called
     25 .Tn TTX .
     26 .Tn TTX
     27 files have a
     28 .Ql .ttx
     29 extension.
     30 .Pp
     31 For each
     32 .Ar file
     33 argument it is given,
     34 .Nm
     35 detects whether it is a
     36 .Ql .ttf ,
     37 .Ql .otf
     38 or
     39 .Ql .ttx
     40 file and acts accordingly: if it is a
     41 .Ql .ttf
     42 or
     43 .Ql .otf
     44 file, it generates a
     45 .Ql .ttx
     46 file; if it is a
     47 .Ql .ttx
     48 file, it generates a
     49 .Ql .ttf
     50 or
     51 .Ql .otf
     52 file.
     53 .Pp
     54 By default, every output file is created in the same directory as the
     55 corresponding input file and with the same name except for the
     56 extension, which is substituted appropriately.
     57 .Nm
     58 never overwrites existing files; if necessary, it appends a suffix to
     59 the output file name before the extension, as in
     60 .Pa Arial#1.ttf .
     61 .Ss "General options"
     62 .Bl -tag -width ".Fl t Ar table"
     63 .It Fl h
     64 Display usage information.
     65 .It Fl d Ar dir
     66 Write the output files to directory
     67 .Ar dir
     68 instead of writing every output file to the same directory as the
     69 corresponding input file.
     70 .It Fl o Ar file
     71 Write the output to
     72 .Ar file
     73 instead of writing it to the same directory as the
     74 corresponding input file.
     75 .It Fl v
     76 Be verbose.  Write more messages to the standard output describing what
     77 is being done.
     78 .It Fl a
     79 Allow virtual glyphs ID's on compile or decompile.
     80 .El
     81 .Ss "Dump options"
     82 The following options control the process of dumping font files
     83 (TrueType or OpenType) to
     84 .Tn TTX
     85 files.
     86 .Bl -tag -width ".Fl t Ar table"
     87 .It Fl l
     88 List table information.  Instead of dumping the font to a
     89 .Tn TTX
     90 file, display minimal information about each table.
     91 .It Fl t Ar table
     92 Dump table
     93 .Ar table .
     94 This option may be given multiple times to dump several tables at
     95 once.  When not specified, all tables are dumped.
     96 .It Fl x Ar table
     97 Exclude table
     98 .Ar table
     99 from the list of tables to dump.  This option may be given multiple
    100 times to exclude several tables from the dump.  The
    101 .Fl t
    102 and
    103 .Fl x
    104 options are mutually exclusive.
    105 .It Fl s
    106 Split tables.  Dump each table to a separate
    107 .Tn TTX
    108 file and write (under the name that would have been used for the output
    109 file if the
    110 .Fl s
    111 option had not been given) one small
    112 .Tn TTX
    113 file containing references to the individual table dump files.  This
    114 file can be used as input to
    115 .Nm
    116 as long as the referenced files can be found in the same directory.
    117 .It Fl i
    118 .\" XXX: I suppose OpenType programs (exist and) are also affected.
    119 Don't disassemble TrueType instructions.  When this option is specified,
    120 all TrueType programs (glyph programs, the font program and the
    121 pre-program) are written to the
    122 .Tn TTX
    123 file as hexadecimal data instead of
    124 assembly.  This saves some time and results in smaller
    125 .Tn TTX
    126 files.
    127 .It Fl y Ar n
    128 When decompiling a TrueType Collection (TTC) file,
    129 decompile font number
    130 .Ar n ,
    131 starting from 0.
    132 .El
    133 .Ss "Compilation options"
    134 The following options control the process of compiling
    135 .Tn TTX
    136 files into font files (TrueType or OpenType):
    137 .Bl -tag -width ".Fl t Ar table"
    138 .It Fl m Ar fontfile
    139 Merge the input
    140 .Tn TTX
    141 file
    142 .Ar file
    143 with
    144 .Ar fontfile .
    145 No more than one
    146 .Ar file
    147 argument can be specified when this option is used.
    148 .It Fl b
    149 Don't recalculate glyph bounding boxes.  Use the values in the
    150 .Tn TTX
    151 file as is.
    152 .El
    153 .Sh "THE TTX FILE FORMAT"
    154 You can find some information about the
    155 .Tn TTX
    156 file format in
    157 .Pa documentation.html .
    158 In particular, you will find in that file the list of tables understood by
    159 .Nm
    160 and the relations between TrueType GlyphIDs and the glyph names used in
    161 .Tn TTX
    162 files.
    163 .Sh EXAMPLES
    164 In the following examples, all files are read from and written to the
    165 current directory.  Additionally, the name given for the output file
    166 assumes in every case that it did not exist before
    167 .Nm
    168 was invoked.
    169 .Pp
    170 Dump the TrueType font contained in
    171 .Pa FreeSans.ttf
    172 to
    173 .Pa FreeSans.ttx :
    174 .Pp
    175 .Dl ttx FreeSans.ttf
    176 .Pp
    177 Compile
    178 .Pa MyFont.ttx
    179 into a TrueType or OpenType font file:
    180 .Pp
    181 .Dl ttx MyFont.ttx
    182 .Pp
    183 List the tables in
    184 .Pa FreeSans.ttf
    185 along with some information:
    186 .Pp
    187 .Dl ttx -l FreeSans.ttf
    188 .Pp
    189 Dump the
    190 .Sq cmap
    191 table from
    192 .Pa FreeSans.ttf
    193 to
    194 .Pa FreeSans.ttx :
    195 .Pp
    196 .Dl ttx -t cmap FreeSans.ttf
    197 .Sh NOTES
    198 On MS\-Windows and MacOS,
    199 .Nm
    200 is available as a graphical application to which files can be dropped.
    201 .Sh SEE ALSO
    202 .Pa documentation.html
    203 .Pp
    204 .Xr fontforge 1 ,
    205 .Xr ftinfo 1 ,
    206 .Xr gfontview 1 ,
    207 .Xr xmbdfed 1 ,
    208 .Xr Font::TTF 3pm
    209 .Sh AUTHORS
    210 .Nm
    211 was written by
    212 .An -nosplit
    213 .An "Just van Rossum" Aq just (a] letterror.com .
    214 .Pp
    215 This manual page was written by
    216 .An "Florent Rougon" Aq f.rougon (a] free.fr
    217 for the Debian GNU/Linux system based on the existing FontTools
    218 documentation.  It may be freely used, modified and distributed without
    219 restrictions.
    220 .\" For Emacs:
    221 .\" Local Variables:
    222 .\" fill-column: 72
    223 .\" sentence-end: "[.?!][]\"')}]*\\($\\| $\\|	\\|  \\)[ 	\n]*"
    224 .\" sentence-end-double-space: t
    225 .\" End:
    226