1TTX/FontTools Version 2.4 2- Option to write to arbitrary files 3- Better dump format for DSIG 4- Better detection of OTF XML 5- Fix issue with Apple's kern table format 6- Fix mangling of TT glyph programs 7- Fix issues related to mona.ttf 8- Fix Windows Installer instructions 9- Fix some modern MacOS issues 10- Fix minor issues and typos 11 12TTX/FontTools Version 2.3 13 14- TrueType Collection (TTC) support 15- Python 2.6 support 16- Update Unicode data to 5.2.0 17- Couple of bug fixes 18 19TTX/FontTools Version 2.2 20 21- ClearType support 22- cmap format 1 support 23- PFA font support 24- Switched from Numeric to numpy 25- Update Unicode data to 5.1.0 26- Update AGLFN data to 1.6 27- Many bug fixes 28 29TTX/FontTools Version 2.1 30 31- Many years worth of fixes and features 32 33TTX/FontTools Version 2.0 beta 2 (released ??? 2002) 34 35- Be "forgiving" when interpreting the maxp table version field: 36 interpret any value as 1.0 if it's not 0.5. Fixes dumping of these 37 GPL fonts: http://www.freebsd.org/cgi/pds.cgi?ports/chinese/wangttf 38- Fixed ttx -l: it turned out this part of the code didn't work with 39 Python 2.2.1 and earlier. My bad to do most of my testing with a 40 different version than I shipped TTX with :-( 41- Fixed bug in ClassDef format 1 subtable (Andreas Seidel bumped into 42 this one). 43 44TTX/FontTools Version 2.0 beta 1 (released September 10 2002) 45 46- Fixed embarrassing bug: the master checksum in the head table is now 47 calculated correctly even on little-endian platforms (such as Intel). 48- Made the cmap format 4 compiler smarter: the binary data it creates is 49 now more or less as compact as possible. TTX now makes more compact 50 data than in any shipping font I've tested it with. 51- Dump glyph names as a separate "GlyphOrder" pseudo table as opposed to 52 as part of the glyf table (obviously needed for CFF-OTF's). 53- Added proper support for the CFF table. 54- Don't barf on empty tables (questionable, but "there are font out there...") 55- When writing TT glyf data, align glyphs on 4-byte boundaries. This seems 56 to be the current recommendation by MS. Also: don't barf on fonts which 57 are already 4-byte aligned. 58- Windows installer contributed bu Adam Twardoch! Yay! 59- Changed the command line interface again, now by creating one new tool 60 replacing the old ones: ttx 61 It dumps and compiles, depending on input file types. The options have 62 changed somewhat. 63 - The -d option is back (output dir) 64 - ttcompile's -i options is now called -m (as in "merge"), to avoid clash 65 with dump's -i. 66 - The -s option ("split tables") no longer creates a directory, 67 but instead outputs a small .ttx file containing references to the 68 individual table files. This is not a true link, it's a simple file 69 name, and the referenced file should be in the same directory so 70 ttcompile can find them. 71 - compile no longer accepts a directory as input argument. Instead it 72 can parse the new "mini-ttx" format as output by "ttx -s". 73 - all arguments are input files 74- Renamed the command line programs and moved them to the Tools 75 subdirectory. They are now installed by the setup.py install script. 76- Added OpenType support. BASE, GDEF, GPOS, GSUB and JSTF are (almost) 77 fully supported. The XML output is not yet final, as I'm still 78 considering to output certain subtables in a more human-friendly 79 manner. 80- Fixed 'kern' table to correctly accept subtables it doesn't know about, 81 as well as interpreting Apple's definition of the 'kern' table headers 82 correctly. 83- Fixed bug where glyphnames were not calculated from 'cmap' if it was 84 (one of the) first tables to be decompiled. More specifically: it cmap 85 was the first to ask for a glyphID -> glyphName mapping. 86- Switched XML parsers: use expat instead of xmlproc. Should be faster. 87- Removed my UnicodeString object: I now require Python 2.0 or up, which 88 has unicode support built in. 89- Removed assert in glyf table: redundant data at the end of the table 90 is now ignored instead of raising an error. Should become a warning. 91- Fixed bug in hmtx/vmtx code that only occured if all advances were equal. 92- Fixed subtle bug in TT instruction disassembler. 93- Couple of fixes to the 'post' table. 94- Updated OS/2 table to latest spec. 95 96TTX/FontTools Version 1.0 beta 1 (released August 10 2001) 97 98- Reorganized the command line interface for ttDump.py and ttCompile.py, 99 they now behave more like "normal" command line tool, in that they accept 100 multiple input files for batch processing. 101- ttDump.py and ttCompile.py don't silently override files anymore, but ask 102 before doing so. Can be overridden by -f. 103- Added -d <destination-directory> option to both ttDump.py and ttCompile.py. 104- Installation is now done with distutils. (Needs work for environments without 105 compilers.) 106- Updated installation instructions. 107- Added some workarounds so as to handle certain buggy fonts more gracefully. 108- Updated Unicode table to Unicode 3.0 (Thanks Antoine!) 109- Included a Python script by Adam Twardoch that adds some useful stuff to the 110 Windows registry. 111- Moved the project to SourceForge. 112 113TTX/FontTools Version 1.0 alpha 6 (released March 15 2000) 114 115- Big reorganization: made ttLib a subpackage of the new fontTools package, 116 changed several module names. Called the entire suite "FontTools" 117- Added several submodules to fontTools, some new, some older. 118- Added experimental CFF/GPOS/GSUB support to ttLib, read-only (but XML dumping 119 of GPOS/GSUB is for now disabled) 120- Fixed hdmx endian bug 121- Added -b option to ttCompile.py, it disables recalculation of bounding boxes, 122 as requested by Werner Lemberg. 123- Renamed tt2xml.pt to ttDump.py and xml2tt.py to ttCompile.py 124- Use ".ttx" as file extension instead of ".xml". 125- TTX is now the name of the XML-based *format* for TT fonts, and not just 126 an application. 127 128Version 1.0 alpha 5 (never released) 129 130- More tables supported: hdmx, vhea, vmtx 131 132Version 1.0 alpha 3 & 4 (never released) 133 134- fixed most portability issues 135- retracted the "Euro_or_currency" change from 1.0a2: it was nonsense! 136 137Version 1.0 alpha 2 (released as binary for MacOS, 2 May 1999) 138 139- genenates full FOND resources: including width table, PS 140 font name info and kern table if applicable. 141- added cmap format 4 support. Extra: dumps Unicode char names as XML comments! 142- added cmap format 6 support 143- now accepts true type files starting with "true" 144 (instead of just 0x00010000 and "OTTO") 145- 'glyf' table support is now complete: I added support for composite scale, 146 xy-scale and two-by-two for the 'glyf' table. For now, component offset scale 147 behaviour defaults to Apple-style. This only affects the (re)calculation of 148 the glyph bounding box. 149- changed "Euro" to "Euro_or_currency" in the Standard Apple Glyph order list, 150 since we cannot tell from the 'post' table which is meant. I should probably 151 doublecheck with a Unicode encoding if available. (This does not affect the 152 output!) 153 154Fixed bugs: 155- 'hhea' table is now recalculated correctly 156- fixed wrong assumption about sfnt resource names 157 158Version 1.0 alpha 1 (27 Apr 1999) 159 160- initial binary release for MacOS 161 162