ttx.1 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  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@letterror.com .
  214. .Pp
  215. This manual page was written by
  216. .An "Florent Rougon" Aq f.rougon@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: