-------------------------------
- [autohint/tx] Switched to using new text format that is
plist-compatible for T1 hint data in UFO fonts. See header of
ufoTools.py for format.
- [autohint] Finally fixed excessive generation of flex hints. This
has been an issue for decades, but never got fixed because it did
not show up anywhere as a problem. The last version of makeotf
turned on parsing warnings, and so now we notice.
- [checkOutlinesUFO] Fixed bug where abutting paths did not get
merged if there were no changes in the set of points.
- [checkOutlinesUFO] Fixed bug where a `.glif` file without an
`<outline>` element was treated as fatal error. It is valid for the
`<outline>` element to be missing.
- [checkOutlines] Changed -I option so that it also turns off
checking for tiny paths. Added new option -5 to turn this check back
on again.
- [checkOutlinesUFO] Increased max number of paths in a glyph from
64 to 128, per request from a developer.
- [CompareFamily] Fixed old bug in applying ligature width tests for
CID fonts, and fixed issue with fonts that do not have Mac name
table names. The logic now reports missing Mac name table names only
if there actually are some: if there are none, these messages are
suppressed.
- [fontplot/waterfallplot/hintplot/fontsetplot] Fixed bugs that
prevented these from being used with CID-keyed fonts and UFO fonts.
Since the third party library that generates the PDF files is very
limited, I did this by simply converting the source files to a
name-keyed Type 1 temporary font file, and then applying the tools
the temporary file.
- [makeInstancesUFO] Added a call to the ufonormalizer tool for each
instance. Also added a call to the defcon library to remove all
private lib keys from lib.py and each glyph in the default layer,
excepting only "public.glyphOrder".
- Fixed typos in MakeOTF User Guide reported by Gustavo Ferreira
- [MakeOTF] Increased max number of directories to look upwards when
searching for GOADB and FontMenuNameDB files from 2 to 3.
- [MakeOTF/makeotfexe] Added three new options:
- `omitMacNames` and `useMacNames` write only Windows platform
menu names in name table, apart from the names specified in
the feature file. `useMacNames` writes Mac as well as
Windows names.
- `overrideMenuNames` allows feature file name table entries
to override default values and the values from the
FontMenuNameDB for name IDs. NameIDs 2 and 6 cannot be
overridden. Use this with caution, and make sure you have
provided feature file name table entries for all platforms.
- `skco`/`nskco` do/do not suppress kern class optimization by
using left side class 0 for non-zero kern values. Optimizing
saves a few hundred to thousand bytes, but confuses some
programs. Optimizing is the default behavior, and previously
was the only option.
- [MakeOTF] Allow building an OTF from a UFO font only. The internal
`features.fea` file will be used if there is no `features` file in
the font's parent directory. If the GlyphAliasAndOrderDB file is
missing, only a warning will be issued. If the FontMenuNameDB is
missing, makeotf will attempt to build the font menu names from the
UFO fontinfo file, using the first of the following keys found:
`openTypeNamePreferredFamilyName`, `familyName`, the family name
part of the `postScriptName`, and finally the value
**NoFamilyName**. For style, the keys are:
`openTypeNamePreferredSubfamilyName`, `styleName`, the style name
part of the `postScriptName`, and finally the value **Regular**.
- [MakeOTF] Fixed bug where it allowed the input and output file
paths to be the same.
- [makeotfexe] Extended the set of characters allowed in glyph names
to include `+ * : ~ ^ !`.
- [makeotfexe] Allow developer glyph names to start with numbers;
final names must still follow the PS spec.
- [makeotfexe] Fixed crashing bug with more than 32K glyphs in a
name-keyed font, reported by Gustavo Ferreira.
- [makeotfexe] Merged changes from Khaled Hosny, to remove
requirement that 'size' feature menu names have Mac platform
names.
- [makeotfexe] Code maintenance in generation of the feature file
parser. Rebuilt the 'antler' parser generator to get rid of a
compile-time warning for zzerraction, and changed featgram.g so that
it would generate the current featgram.c, rather than having to edit
the latter directly. Deleted the object files for the 'antler'
parser generator, and updated the read-me for the parser generator.
- [makeotfexe] Fixed really old bug: relative include file
references in feature files have not worked right since the FDK
moved from Mac OS 9 to OSX. They are now relative to the parent
directory of the including feature file. If that is not found, then
makeotf tries to apply the reference as relative to the main feature
file.
- [spot] Fixed bug in dumping stylistic feature names.
- [spot] Fixed bug proofing vertical features: needed to use vkern
values. Fix contributed by Hiroki Kanou.
- [tx *et all.*] Fix crash when using '-gx' option with source UFO
fonts.
- [tx *et all.*] Fix crash when a UFO glyph point has a name
attribute with an empty string.
- [tx *et all.*] Fix crash when a UFO font has no public.glyphOrder
dict in the lib.plist file.
- [tx *et all.*] Fix really old bug in reading TTF fonts, reported
by Belleve Invis. TrueType glyphs with nested component references
and x/y offsets or translation get shifted.
- [tx *et all.*] Added new option '-fdx' to select glyphs by
excluding all glyphs with the specified FDArray indices. This and
the '-fd' option now take lists and ranges of indices, as well as
a single index value.
- Added a command to call the ufonormalizer tool.
- Updated to latest version of booleanOperatons, defcon (ufo3 branch),
fontMath (ufo3 branch), fontTools, mutatorMath, and robofab (ufo3
branch). The AFDKO no longer contains any private branches of third
party modules.
- Rebuilt the Mac OSX, Linux and Windows Python interpreters in the
AFDKO, bringing the Python version up to 2.7.10. The Python
interpreters are now built for 64-bit systems, and will not run on
32-bit systems.