Afdko

Latest version: v4.0.2

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

Scan your dependencies

Page 13 of 18

2.0.27

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

- [compareFamily] Fixed Single Test 3 (reported by Mark Simonson and
others); the test should compare the Mac platform name ID 4 (name ID
1 + space + name ID 2) with the target value, but was instead using
the value of the name ID 18 (Compatible Full Name).
- [compareFamily] Fixed Family Test 2 to print a report that helps
determine which {platform, script, language, name ID} is present in
some fonts but not others.
- [IS] Fixed a bug where applying hint-based scaling can cause an
off-by-1 error when the the _closepath_ position is supposed to
coincide with the original _moveto_, leading to an effective final
1-unit _lineto_, that may overlap the initial path. In the old MM
design world, we worked around this issue by designing the MMs so
that there was always a one unit difference between a final _curveto_
point and the original _moveto_. FontLab doesn't support doing that
automatically, so when making an instance, **IS** will instead simply
look for cases where the _moveto_ and _closepath_ positions differ by
one unit, and move the _moveto_ position to coincide with the
_closepath_ position.
- [makeotf] Fixed bug where specifying thousands of singleton kern
pairs could silently overflow offsets, and makeotf would build a bad
font without any warning. (reported by Adam Twardoch)
- [makeotf] Relative file paths can now be used even if the current
directory is not the source font directory. Project files can now be
saved to directories other than the source font directory. Note that
paths stored in project file are relative to the project file's
directory. (reported by Andreas Seidel)
- [makeotf/spot] Added support for Unicode Variation Sequences (UVSes).
See MakeOTF User's Guide and
[Unicode Technical Standard 37](http://unicode.org/reports/tr37/)
- [spot] Fixed bug where contents of 'size' GPOS feature would be
printed for all dump levels.
- [spot] Fixed failure to process 'post' table format 4.0. which
occurs in some Apple TT fonts, such as Osaka.dfont
- Updated Adobe-Japan-1 CMAP files for building CID fonts.

2.0.26

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

- Added `featurefile.plist` for BBedit. Install this in the location
shown at the top of the file; it enables code coloring for FEA syntax.
The file is in FDK/Tools/SharedData
- Added `MSFontValidatorIssues.html` to FDK/Technical Documentation. It
lists the error messages from the MS FontValidator tool that can be
ignored for OpenType/CFF fonts.
- [FontLab macros] Added InstanceGenerator. Another script for making
instances from an MM VFB font. It's simpler than MakeInstances macro.
- [FontLab macros] Removed debug statement in Set Start Points which
blocked processing more than 50 glyphs. (reported by George Ryan)
- [FontLab macros] Added explanation of CheckOutlines errors to help
dialog.
- [checkOutlines] Added option '-he' to print explanation of error
messages.
- [compareFamily] Added error if the font's CFF table contains a
Type 2 `seac` operator. The CFF spec does not support this operator.
Some very old tools allow this to happen.
- [makeotf] Fixed a bug in decomposing glyphs that are defined as
composite glyphs in a Type 1 source font. This bug caused the base
component to be shifted when then left side bearing of the composite
glyph differs from that of the base glyph. This could be consequential,
as FontLab has an option to not decompose composite glyphs when
generating a Type 1 font.
- [makeotf] Fixed a bug in recognizing the "Korea1" order when trying
to pick a default Mac cmap script ID from a CID-keyed font's ROS
(Registry-Order-Supplement) field.
- [tx] Fixed a bug in decomposing pretty much all composite glyphs
from Type 1 and CFF source fonts. It happened only when a Type 1 or
CFF font was being subset, i.e. converted into a font with fewer
glyphs. tx now has the option '+Z' to force this to occur.

2.0.25

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

- [autohint] Added a new option to allow extending the list of glyph
names for which autohint will try to make counter hints.
- [autohint] Fixed bug where Type 2 operator stack limit could be
exceeded when optimizing Type 2 charstrings during conversion from
bez format.
- [autohint] Fixed bug in setting OtherBlues alignment zone values.
- [FontLab macros] The Autohint macro behaves quite differently when
adding 'flex' hints is turned off; it makes more hint substitutions,
since these are not allowed within the segment of the outline that
contributes the 'flex' stem. Turned it on, so that hint results will
be the same as the command-line tool. This does not affect the outline
data.
- [checkOutlines] Fixed bug that prevented the reporting of two
successive points with the same coordinates. The code to convert from
the source outline data to bez format was suppressing zero-length line
segments, so the checkOutlines module never experienced the problem.
- [compareFamily] Added new options '-st n1,n2..' and '-ft n1,n2..' to
allow executing only specific tests.
- [compareFamily] Fixed test "Warn if a style-linked family group does
not have FamilyBlues". When reporting the error that FamilyBlues differ
in a style-linked family group (where at least one font does have real
FamilyBlues), use BlueValues as implied FamilyBlues when the latter
attribute is missing from a font. Same for FamilyOtherBlues.
- [compareFamily] Warn about zones outside of font's BBox only if the
entire zone is outside of the BBox, not just one edge, and warn only
for BlueValue zones, not FamilyBlueValue zones.
- [compareFamily] Fixed fsType check. Complain if fsType is not 8 only
for Adobe fonts, determined by checking if the name table trademark
string is empty or contains "Adobe".
- [compareFamily] Fixed Single Face Test 3 to compare the CFF Full Name
with the name table Preferred Full Name (ID 18) rather than the Full
Name (ID 4).
- [compareFamily] Fixed bug where it failed with CID fonts, because it
referenced the "Private" dict attribute of the font's topDict, which
does not exist in CID fonts.
- [compareFamily] Fixed 'size' test to support the format that indicates
only intended design size, where no range is supplied.
- [compareFamily] Fixed ligature width check to also check that left
and right side bearings match those of the left and right components,
and to use the 'liga' feature to identify ligatures and their components,
instead of heuristics based on glyph names.
- [makeotf] Disallowed negative values in the feature file for the OS/2
table winAscent and winDescent fields.
- [makeotf] Fixed a bug where a lookup excluded with the `exclude_dflt`
keyword was nevertheless included if the script/language was specified
with a languagesystem statement.
- [makeotf] Fixed issue on Windows where a user would see a debug
assert dialog when the OS/2 vendorID was not specified in the feature
file, and the Copyright string contained an 8-bit ASCII character, like
the 'copyright' character.
- [makeotf] Fixed issue on Windows where name ID 17 would be garbage if
no FontMenuNameDB was supplied, and the PostScript name did not contain
a hyphen.
- [makeotf] Added warning for Mac OSX pre 10.5 compatibility: total size
of glyphs names plus 2 bytes padding per glyph must be less than 32K, or
OSX will crash.
- [makeotf] Fixed crash that occurred if the feature file did not have
a languagesystem statement.
- [makeotf] Fixed bug in subroutinizer which allowed a subroutine stack
depth of up to 10, but the Type 1 and Type 2 specs allow only 9. This
caused most rasterizers to declare the font invalid.
- [makeotf] Removed '-cv' option; CJK vertical CMaps have not been
supported since FDK 1.6.
- [spot] Added support for low-level and feature file style
text dumps of GPOS Attachment formats 3, 4, 5 and 6.
- [spot] Added dump of lookup flag value to the feature-file style
report.
- [spot] Added MarkAndAttachmentClassDef record to GDEF table report.
- [spot] Added support for GSUB lookup type 2 (Multiple) when within
contextual substitutions.
- [spot] Fixed bug in GSUB lookup 5, causing crash in dumping trado.ttf.
- [spot] Fixed bug in level 7 (feature-file syntax) dump of GPOS table;
was omitting the value record for extension lookup types.
- [spot] Fixed crash on Windows when proofing contextual substitution
statements.
- [spot] Made Windows version behave like Mac when proofing: PostScript
file data is always sent to standard output, and must be re-directed to
a file.
- [spot] Improved documentation of proofing output and '-P' option.
- [spot] Fixed DSIG table reporting of TTC fonts with the version 2 TTC
header, even if the header reports it is version 1, like meiryo.ttc.
- [spot] Enabled proofing TTC fonts that don't have glyph names in the
post table.
- [spot] Fixed origin offset of bounding box for TTF fonts.
- [spot] Fixed crash in proofing TTF fonts when the last glyph is
non-marking, like trado.ttf in LongHorn.

2.0.24

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

- [autohint/checkOutlines/ProofPDF] Fixed glyph name handling to avoid
stack dump when glyph is not in font. Added support for CID values that
are not zero-padded to 5 hex digits.
- [autohint] Fixed bug where edge hints would be generated rather than
regular hints across the baseline, when there were fewer than 8 pairs of
BlueValues.
- [checkOutlines] Fixed bug where it would not report an overlap if
there were an even number of overlapping contours.
- [compareFamily] Fixed Italic angle Single Test 12 to look at the middle
third of the test glyph stems, rather than the top and bottom of the
glyph bounding box, when guessing the font's italic angle.
- [compareFamily] Fixed Single Test 15 to allow a difference of 1 unit in
the font BBox, to allow for rounding differences.
- [compareFamily] Fixed Single Test 26 to identify uXXXX names as valid
Unicode names; had bug in the regular expression that required 5 digits.
- [compareFamily] Fixed Single Test 22 to treat glyphs in the combining
mark Unicode range u3000-u036F range as accent glyphs; require that they
have the same width as the base glyph.
- [compareFamily] Changed report from Error to Warning for check that
only the first four Panose values are non-zero.
- [compareFamily] Fixed bug that caused a stack dump in Single Test 16
and 22.
- [compareFamily] Added tests for Mac OSX pre 10.4 compatibility: no
charstring is < 32K, total size of glyphs names plus padding is less
than 32K.
- [compareFamily] Added test that known shipping font does not have OS/2
table version 4, and that new fonts do.
- [compareFamily] Fixed Single Test 11: allow BASE offset to differ from
calculated offset by up to 10 design units before it complains.
- [compareFamily/makeotf] Fixed failure when tools path contains a space.
- [kernCheck] New tool; looks for kern GPOS rules that conflict, and also
looks for glyph pairs that overlap.
- [kernCheck] Added option to allow running only the check of GPOS
subtables for kerning rules that mask each other.
- [makeotf] Fixed '-adds' option.
- [makeotf] Added new option '-fi' to specify path to fontinfo file.
- [makeotf] Added new option '-rev' to increment the fontRevision field.
- [makeotf] If the (cid)fontinfo file contains the keyword/value for
FSType, will check that the value is the same as the OS/2 fsType field
in the final OTF font. This has to do with historic Adobe CJK font
development practices.
- [makeotf] Added support for setting some of the Plane 1+ bits in the
OS/2 ulUnicodeRange fields.
- [mergeFonts] Will now apply to the output font the values for the
fields Weight and XUID, from the cidfontinfo file.
- [spot] Added support for showing some of the Plane 1+ bits in the OS/2
ulUnicodeRange fields.
- [stemHist] When requiring that reports not already exist, don't delete
older stem reports when asking for new alignment zone reports, and
vice-versa.
- [setsnap.pl] New tool to pick standard stem hint values. This Perl
script takes in the report from stemHist, and recommends a set of values
to use for the Type 1 font standard stem arrays. This is not as good as
choosing the most relevant values yourself, but better than not providing
any values.
- In _Overview.html_, added warning about 'languagesystem Dflt dflt' and FDK
1.6 feature files.
- In _MakeOTFUserGuide.pdf_, expanded discussion of fontinfo file, updated
documentation of OS/2 v4 table bits with Adobe's practices for the next
library release.
- In _OT Feature File Syntax.html_, fixed incorrect sign for winAscent
keyword, extended discussion of DFLT script tag and useExtension keyword,
and fixed minor typos.
- Added two new tech notes on using rotateFont and mergeFonts.

2.0.22

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

- [compareFamily] Single Test 3 now also checks that Mac name ID 4 starts
with Preferred Family name, and is the same as the CFF table Full Name.
- [compareFamily] Added test for existence and validation of BASE table
in Single Test 11.
- [compareFamily] Fixed bug where failed when reporting font BBox error.
- [compareFamily] Added test that some specific glyph names were not
changed from previous version of font, in Single Test 26.
- [compareFamily] Added "Single Face Test 27: Check
strikeout/subscript/superscript positions". Checks values against default
calculations based on the em-box size.
- [compareFamily] Added "Single Face Test 28: Check font OS/2 codepages
for a common set of code page bits". Checks OS/2 ulCodePageRange and
ulUnicodeRange blocks against the default makeotf heuristics.
- [compareFamily] Added in Single Test 12 a rough calculation of the
italic angle. Warns if this is more than 3 degrees different than the
post table Italic angle value.
- [compareFamily] Added in Family Test 15 a check that all fonts in a
preferred family have the same hhea table underline size and position
values.
- [compareFamily] Added "Family Test 16: Check that for all faces in a
preferred family group, the width of any glyph is not more than 3 times
the width of the same glyph in any other face".
- [compareFamily] Fixed Family Test 3 to be more efficient.
- [makeotf/makeotfexe] Added a new option '-maxs `<integer>`' to limit
the number of subroutines generated by subroutinization. Used only when
building test fonts to explore possible errors in processing the
subroutines.
- [makeotf/makeotfexe] Allow working names to be longer than 31
characters; warn but don't quit, if final names are longer than 31
characters.

2.0.21

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

- [makeotf] Fixed bug where 'size' feature was built incorrectly when it
was the only GPOS feature in the font.
- [spot] Improved error messages for 'size' feature problems.
- [compareFamily] Added dependency on environment variables:
**CF_DEFAULT_URL** should be set to the foundry's URL; it's compared
with name ID 11.
**CF_DEFAULT_FOUNDRY_CODE** should be set to the foundry's 4-letter
vendor code; it's compared with OS/2 table achVendID field.
- [compareFamily] Check that CFF PostScript name is the same as Mac and
Windows name table name ID 6.
- [compareFamily] Check that named IDs 9 and 11 (designer name and
foundry URL) exist.
- [compareFamily] Extended Single Test 4 to verify that version string
is in correct format '(Version|OTF) n.nnn'.
- [compareFamily] Improved Panose test to check that values are not all
0, and that the CFF font dict 'isFixedPitch' field matches the Panose
monospace value.
- [compareFamily] Added check to confirm the presence of Unicode cmap
sub table.
- [compareFamily] Added check to confirm that latn/dflt and DFLT/dflt
script/languages are present, if there are any GPOS or GSUB rules. Also
checks that script and language tags are in registered lists, and that
all faces have the same set of language and script tags, and feature
list under each language and script pair.
- [compareFamily] Added check to confirm that all faces in the family
have the same OS/2 table fsType embedding permission values.
- [compareFamily] Added check to confirm that if font has Bold style
bit, the CFF forceBold flag is on. Also vice-versa, if the font weight
is less than 700.
- [compareFamily] Added check to confirm that the font does not have a
UniqueID or XUID, if it's not CID-keyed.
- [compareFamily] Added glyph name checks: OS/2 default char is .notdef,
and that there are NULL and CR glyphs in TrueType fonts, and that names
conform to the current Adobe Glyph Dictionary. Note that latest practice
is to use 'uni' names for final names for all the 'afii' glyphs.
- [compareFamily] Fixed family BlueValues tests to compare within
compatible family name groups.
- [compareFamily] Changed Family Test 2 to check that all name IDs
except 16, 17, 18, are all present with the same language/script values
within all faces of a preferred family.
- [compareFamily] Changed Single Test 3, which didn't do at all what it
described.
- [FontLab macros] Fixed bug introduced when changing modules shared
with command-line scripts in build 19.

Page 13 of 18

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.