Afdko

Latest version: v4.0.2

Safety actively analyzes 690721 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 9 of 18

2.5.65012

-------------------------------

- [makeotf] Fixed bug that kept makeotfexe from building fonts with
spaces in the path.
- [ConvertFontToCID] Fixed bug that kept makeotf from converting UFO
fonts to CID.
- [makeotf] Changed support for Unicode Variation Sequence file
(option '-ci') so that when used with name-keyed fonts, the
Region-Order field is omitted, and the glyph name may be either a
final name or developer glyph name. Added warning when glyph in the
UVS entry is not found in font. See MakeOTF User's Guide.
- [makeotfexe] now always makes a cmap table subtable MS platform,
Unicode, format 4 for CID fonts. This is required by Windows. If
there are no BMP Unicode values, then it makes a stub subtable,
mapping GID 0 to UVS 0.
- [tx *et al.*] When reading a UFO source font, do not complain if
the fontinfo.plist entry `styleName` is present but has an empty
string. This is valid, and is common when the style is **Regular**.

2.5.64958

-------------------------------

- [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.

2.5.64700

-------------------------------

- [ufoTools] Fixed bug that was harmless but annoying. Every time
that `autohint -all` was run, it added a new program name entry to
the history list in the hashmap for each processed glyph. You saw
this only if you opened the hashmap file with a text editor, and
perhaps eventually in slightly slower performance.
- [checkOutlinesUFO] Fixed bug where presence of outlines with only
one or two points caused a stack dump.
- [makeotf] Fixed bug reported by Paul van der Laan: failed to build
TTF file when the output file name contains spaces.
- [spot] Fixed new bug that caused spot to crash when dumping GPOS
'size' feature in feature file format.

2.5.64655

-------------------------------

- [ufoTools] Fixed bug which placed a new hint block after a flex
operator, when it should be before.
- [autohint] Fixed new bug in hinting non-UFO fonts, introduced by
the switch to absolute coordinates in the bez file interchange
format.
- [ufoTools] Fixed bugs in using hashmap to detect previously hinted
glyphs.
- [ufoTools] Fixed bugs in handling the issue that
checkOutlinesUFO.py (which uses the defcon library to write UFO glif
files) will in some cases write glif files with different file names
than they had in the default glyph layer.
- [makeotf] Fixed bug with Unicode values in the absolute path to to
the font home directory.
- [makeotf] Add support for Character Variant (cvXX) feature params.
- [makeotf] Fixed bug where setting Italic style forced OS/2 version
to be 4.
- [spot] Added support for cvXX feature params.
- [spot] Fixed in crash in dumping long contextual substitution
strings, such as in 'GentiumPlus-R.TTF'.
- [tx] Fixed bug in handling CID glyph ID greater than 32K.
- [tx] Changed to write widths and FontBBox as integer values.
- [tx] Changed to write SVG, UFO, and dump coordinates with 2 places
of precision when there is a fractional part.
- [tx] Fixed bugs in handling the '-gx' option to exclude glyphs.
Fixed problem with CID \> 32K. Fixed problem when font has 65536
glyphs: all glyphs after first last would be excluded.
- [tx] Fixed rounding errors in writing out decimal values to cff
and t1 fonts.
- [tx] Increased interpreter stack depth to allow for CUBE operators
(Library elements) with up to 9 blend axes.
- Fixed Windows builds: had to provide a roundf() function, and more
includes for the \_tmpFile function. Fixed a few compile errors.
- Fixed bug in documentation for makeInstancesUFO.
- Fixed bug in BezTools.py on Windows, when having to use a temp file.

2.5.64261

-------------------------------

- [autohintexe] Worked through a lot of problems with fractional
coordinates. In the previous release, autohintexe was changed to
read and write fractional values. However, internal value storage
used a Fixed format with only 7 bits of precision for the value.
This meant that underflow errors occurred with 2 decimal places,
leading to incorrect coordinates. I was able to fix this by changing
the code to use 8 bits of precision, which supports 2 decimal places
(but not more!) without rounding errors, but this required many
changes. The current autohint output will match the output of the
previous version for integer input values, with two exceptions.
Fractional stem values will (rarely) differ in the second decimal
place. The new version will also choose different hints in glyphs
which have coordinate values outside of the range -16256 to +16256;
the previous version had a bug in calculating weights for stems.
- [autohint] Changed logic for writing bez files to write absolute
coordinate values instead of relative coordinate values. Fixed bug
where truncation of decimal values lead to cumulative errors in
positions adding up to more than 1 design unit over the length of a
path.
- [tx] Fixed bugs in handling fractional values: `tx` had a bug with
writing fractional values that are very near an integer value for
the modes -dump, -svg, and -ufo. `tx` also always applied the logic
for applying a user transform matrix, even though the default
transform is the identity transform. This has the side-effect of
rounding to integer values.

2.5.64043

-------------------------------

- [checkOutlinesUFO] Added new logic to delete any glyphs from the
processed layer which are not in the 'glyphs' layer.
- [makeotf] When building CID font, some error messages were printed
twice.
- [makeotf] Added new option `stubCmap4`. This causes makeotf to
build only a stub cmap 4 subtable, with just two segments. Needed
only for special cases like AdobeBlank, where every byte is an
issue. Windows requires a cmap format 4 subtable, but not that it be
useful.
- [makeCIDFont] Output FontDict was sized incorrectly. A function at
the end adds some FontInfo keys, but did not increment the size of
the dict. Legacy logic is to make the FontInfo dict be 3 larger than
the current number of keys.
- [makeInstanceUFO] Changed AFDKO's branch of mutatorMath so that
kern values, glyph widths, and the BlueValues family of global hint
values are all rounded to integer even when the `decimal` option is
used.
- [makeInstanceUFO] Now deletes the default 'glyphs' layer of the
target instance font before generating the instance. This solves the
problem that when glyphs are removed from the master instances, the
instance font still has them.
- [makeInstanceUFO] Added a new logic to delete any glyphs from the
processed layer which are not in the 'glyphs' layer.
- [makeInstanceUFO] Removed the `all` option: even though
mutatorMath rewrites all the glyphs, the hash values are still valid
for glyphs which have not been edited. This means that if the
developer edits only a few glyphs in the master designs, only those
glyphs in the instances will get processed by checkOutlinesUFO and
autohint.
- Support fractional coordinate values in UFO workflow:

- checkOutlinesUFO (but not checkOutlines), autohint, and
makeInstancesUFO will now all pass through decimal
coordinates without rounding, if you use the new option
"decimal". tx will dump decimal values with 3 decimal
places.
- tx already reported fractional values, but needed to be
modified to report only 3 decimal places when writing UFO
glif files, and in PDF output mode: Acrobat will not read
PDF files with 9 decimal places in position values.
- This allows a developer to use a much higher precision of
point positioning without using a larger em-square. The
Adobe Type group found that using an em-square of other than
1000 design units still causes problems in layout and text
selection line height in many apps, despite it being legal
by the Type 1 and CFF specifications.
- Note that code design issues in autohint currently limit the
decimal precision and accuracy to 2 decimal places: 1.01
works but 1.001 will be rounded to 0.

Page 9 of 18

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.