blob: 542853d32b133fdc4f161ef62e8d1c81de0cf883 [file] [log] [blame]
TTX 1.0 alpha 6 -- Mac notes
U S E R I N T E R F A C E
To decompile a TrueType font and dump it in XML format:
- Drop a TrueType file (a Windows TTF, or a Mac suitcase) onto TTX. It
will decompile the font and write it out as an XML text file. If you
dropped a Mac suitcase containing multiple TT fonts onto TTX, it will
generate an XML file for each font. The default destination for XML
files is the folder "XML output" inside the TTX folder. Files will be
silently overwritten.
*** to change the default locations for converted files, you have to
edit the "TTX preferences" file ***
To convert a XML file into a TrueType font:
- Drop an XML file onto TTX, it will parse the source, compile it and
write it into the "TrueType output" folder. By default, a Mac suitcase
will ge generated. ***This will fail if the font does not contain 'name'
table entries for the Macintosh platform.*** You can change the output
format to "flat" by setting the "makesuitcases" field in the "TTX
preferences" file to "0".
S Y S T E M R E Q U I R E M E N T S
This version of TTX only works on PowerMacs, running MacOS 7.5 or
higher. Preferably a fairly fast machine.
T A B L E S U P P O R T
TTX currently fully supports these tables:
cvt, gasp, head, hhea, hmtx, loca, name, maxp, OS/2, LTSH and the VTT
private tables TSI0, TSI1, TSI2, TSI3 and TSI5
The glyf table is fully supported, but it will not disassemble the
instructions; it dumps them as hex.
The following tables are partially supported: post (format 1.0 and 2.0
only, other formats *may* cause TTX to choke) cmap (format 0, 4 and 6,
other formats dumped as hex) kern (format 0 only, other formats dumped
as hex)
Tables (or subtables) that TTX does not (yet) know about will be written
out in hexadecimal form, so they won't get lost during the conversion.
N O T E A B O U T G L Y P H N A M E S A N D I N D I C E S
TrueType fonts use glyph indices to refer to glyphs in most places.
While this is fine in binary form, it is really hard to work with for
humans. Therefore we use names instead.
The names are derived from what is found in the 'post' table. It is
possible that different glyphs use the same PS name. If this happens, we
force the names to be unique by appending "#n" to the name (n being an
integer number). The original PS names will still be maintained by the
'post' table, so even though we use a different name internally, we are
still able to write the 'post' table back in original form.
Because the order in which glyphs are stored inside the TT font is
important, the 'glyf' table keeps a list of glyph names.
I C O N D E S I G N
Hannes Famira