2020-09-10 12:28:12 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-fonttools: updated to 4.14.0
4.14.0
- [feaLib] Allow anonymous classes in LookupFlags definitions.
- [Docs] Better document DesignSpace rules processing order.
- [ttLib] Fixed 21-year old bug in ``maxp.maxComponentDepth`` calculation.
- [varLib.models] Fixed misspelled argument name in CLI entry point (81d0042a).
- [subset] When subsetting GSUB v1.1, fixed TypeError by checking whether the
optional FeatureVariations table is present (e63ecc5b).
- [Snippets] Added snippet to show how to decompose glyphs in a TTF.
- [otlLib] Generate GSUB type 5 and GPOS type 7 contextual lookups where appropriate.
|
2020-08-04 21:06:42 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-fonttools: updated to 4.13.0
4.13.0
- [feaLib/otlLib] Moved lookup subtable builders from feaLib to otlLib; refactored
some common code
- [docs] Document otlLib module
- [glifLib] Fixed bug with some UFO .glif filenames clashing on case-insensitive
filesystems
- [colorLib] Updated COLRv1 implementation following changes in the draft spec
|
2020-06-16 18:52:41 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-fonttools: updated to 4.12.1
4.12.1:
- [_n_a_m_e] Fixed error in ``addMultilingualName`` with one-character names.
Only attempt to recovered malformed UTF-16 data from a ``bytes`` string,
not from unicode ``str``.
4.12.0:
- [otlLib/varLib] Ensure that the ``AxisNameID`` in the ``STAT`` and ``fvar``
tables is grater than 255 as per OpenType spec.
- [docs] Document more modules in ``fontTools.misc`` package: ``filenames``,
``fixedTools``, ``intTools``, ``loggingTools``, ``macCreatorType``, ``macRes``,
``plistlib``.
- [OS/2] Don't calculate whole sets of unicode codepoints, use faster and more memory
efficient ranges and bisect lookups.
- [voltLib] Support writing back abstract syntax tree as VOLT data.
- [voltLib] Accept DO_NOT_TOUCH_CMAP keyword.
- [subset/merge] Fixed a namespace clash involving a private helper class.
4.11.0:
- [feaLib] Introduced ``includeDir`` parameter on Parser and IncludingLexer to
explicitly specify the directory to search when ``include()`` statements are
encountered.
- [ufoLib] Silently delete duplicate glyphs within the same kerning group when \
reading
groups.
- [ttLib] Set version of COLR table when decompiling COLRv1 (commit 9d8a7e2).
4.10.2:
- [sfnt] Fixed ``NameError: SimpleNamespace`` while reading TTC header. The \
regression
was introduced with 4.10.1 after removing ``py23`` star import.
4.10.1:
- [sfnt] Make ``SFNTReader`` pickleable even when TTFont is loaded with lazy=True
option and thus keeps a reference to an external file.
- [feaLib.ast] Restore backward compatibility (broken in 4.10 for
``ChainContextPosStatement`` and ``ChainContextSubstStatement`` classes.
Make them accept either list of lookups or list of lists of lookups.
- [docs] Document some modules in ``fontTools.misc`` package: ``arrayTools``,
``bezierTools`` ``cliTools`` and ``eexec``.
- [ttLib._n_a_m_e] Fixed ``findMultilingualName()`` when name record's ``string`` is
encoded as bytes sequence.
4.10.0:
- [varLib] Allow feature variations to be active across the entire space.
- [ufoLib] Added support for ``formatVersionMinor`` in UFO's ``fontinfo.plist`` \
and for
``formatMinor`` attribute in GLIF file as discussed in \
unified-font-object/ufo-spec#78.
No changes in reading or writing UFOs until an upcoming (non-0) minor update of the
UFO specification is published.
- [merge] Fixed merging fonts with different versions of ``OS/2`` table.
- [subset] Fixed ``AttributeError`` while subsetting ``ContextSubst`` and \
``ContextPos``
Format 3 subtable.
- [ttLib.table._m_e_t_a] if data happens to be ascii, emit comment in TTX.
- [feaLib] Support multiple lookups per glyph position.
- [psCharStrings] Use inheritance to avoid repeated code in initializer.
- [Doc] Improved documentation for the following modules: ``afmLib``, ``agl``
, ``cffLib``, ``cu2qu``, ``encodings``, ``feaLib``, ``merge``.
- [Doc] Split off developer-centric info to new page, making front page of docs more
user-focused. List all utilities and sub-modules with brief descriptions.
Make README more concise and focused.
- [otlLib] Add function to build STAT table from high-level description.
- [ttLib._n_a_m_e] Add ``findMultilingualName()`` method.
- [unicodedata] Update ``RTL_SCRIPTS`` for Unicode 13.0.
- [gvar] Sort ``gvar`` XML output by glyph name, not glyph order.
- [Doc] Added help options to ``fonttools`` command line tool.
Ensure all fonttools CLI tools have help documentation.
- [ufoLib] Only write fontinfo.plist when there actually is content.
4.9.0:
- [subset] Fixed subsetting of FeatureVariations table. The subsetter no longer drops
FeatureVariationRecords that have empty substitutions as that will keep the search
going and thus change the logic. It will only drop empty records that occur at the
end of the FeatureVariationRecords array.
- [subset] Remove FeatureVariations table and downgrade GSUB/GPOS to version 0x10000
when FeatureVariations contain no FeatureVariationRecords after subsetting.
- [agl] Add support for legacy Adobe Glyph List of glyph names in ``fontTools.agl``
.
- [feaLib] Ignore superfluous script statements.
- [feaLib] Hide traceback by default on ``fonttools feaLib`` command line.
Use ``--traceback`` option to show.
- [feaLib] Check lookup index in chaining sub/pos lookups and print better error
message.
- [feaLib] Fix building chained alt substitutions.
- [Doc] Included all fontTools modules in the sphinx-generated documentation, and
published it to ReadTheDocs for continuous documentation of the fontTools project
. Check it out at https://fonttools.readthedocs.io/. Thanks to Chris Simpkins!
- [transform] The ``Transform`` class is now subclass of ``typing.NamedTuple``. No
change in functionality.
|
2020-05-06 13:16:46 by Jonathan Perkin | Files touched by this commit (11) |
Log message:
*: Remove manual page entries from ALTERNATIVES files.
Thes are not supported by pkg_alternatives, and lead to breakage as found
in <http://mail-index.netbsd.org/tech-pkg/2020/05/06/msg023089.html>.
In many cases these were unnecessary anyway, as they match the corresponding
command that pkg_alternatives will have automatically detected manual page
entries for, plus many of them did not support PKGMANDIR.
In the one case (databases/py-peewee) where the manual page does not match
the command name, pkg_alternatives will need to be enhanced to support this
before it can be re-enabled.
|
2020-04-18 09:29:59 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-fonttools: updated to 4.8.1
4.8.1 (released 2020-04-17)
---------------------------
- [feaLib] Fixed ``AttributeError: 'NoneType' has no attribute 'getAlternateGlyphs'``
when ``aalt`` feature references a chain contextual substitution lookup
4.8.0 (released 2020-04-16)
---------------------------
- [feaLib] If Parser is initialized without a ``glyphNames`` parameter, it cannot
distinguish between a glyph name containing an hyphen, or a range of glyph names;
instead of raising an error, it now interprets them as literal glyph names, while
also outputting a logging warning to alert user about the ambiguity
- [feaLib] When serializing AST to string, emit spaces around hyphens that denote
ranges. Also, fixed an issue with CID ranges when round-tripping \
AST->string->AST
- [Snippets/otf2ttf] In otf2ttf.py script update LSB in hmtx to match xMin
- [colorLib] Added experimental support for building ``COLR`` v1 tables as per
the `colr-gradients-spec \
<https://github.com/googlefonts/colr-gradients-spec/blob/master/colr-gradients-spec.md>`__
draft proposal. **NOTE**: both the API and the XML dump of ``COLR`` v1 are
susceptible to change while the proposal is being discussed and formalized
|
2020-04-16 09:39:41 by Adam Ciarcinski | Files touched by this commit (2) |
Log message:
py-fonttools: needs C compiler; fix PLIST; bump revision
|
2020-04-11 09:21:37 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-fonttools: updated to 4.7.0
4.7.0:
- [cu2qu] Added ``fontTools.cu2qu`` package, imported from the original
`cu2qu <https://github.com/googlefonts/cu2qu>`__ project. The \
``cu2qu.pens`` module
was moved to ``fontTools.pens.cu2quPen``. The optional cu2qu extension module
can be compiled by installing `Cython <https://cython.org/>` before \
installing
fonttools from source (i.e. git repo or sdist tarball). The wheel package that
is published on PyPI (i.e. the one ``pip`` downloads, unless ``--no-binary``
option is used), will continue to be pure-Python for now
4.6.0:
- [varLib] Added support for building variable ``BASE`` table version 1.1
- [CPAL] Added ``fromRGBA`` method to ``Color`` class
4.5.0:
- [designspaceLib] Added ``add{Axis,Source,Instance,Rule}Descriptor`` methods to
``DesignSpaceDocument`` class, to initialize new descriptor objects using keyword
arguments, and at the same time append them to the current document
- [unicodedata] Update to Unicode 13.0
4.4.3:
- [varLib] Always build ``gvar`` table for TrueType-flavored Variable Fonts,
even if it contains no variation data. The table is required according to
the OpenType spec
4.4.2:
- [ttx] Annotate ``LookupFlag`` in XML dump with comment explaining what bits
are set and what they mean
- [feaLib] Added more descriptive message to ``IncludedFeaNotFound`` error
4.4.1:
- [woff2] Skip normalizing ``glyf`` and ``loca`` tables if these are missing from
a font (e.g. in NotoColorEmoji using ``CBDT/CBLC`` tables).
- [timeTools] Use non-localized date parsing in ``timestampFromString``, to fix
error when non-English ``LC_TIME`` locale is set
- [fontBuilder] Make sure the CFF table generated by fontBuilder can be used by \
varLib
without having to compile and decompile the table first. This was breaking in
converting the CFF table to CFF2 due to some unset attributes
4.4.0:
- [colorLib] Added ``fontTools.colorLib.builder`` module, initially with \
``buildCOLR``
and ``buildCPAL`` public functions. More color font formats will follow
- [fontBuilder] Added ``setupCOLR`` and ``setupCPAL`` methods
- [ttGlyphPen] Quantize ``GlyphComponent.transform`` floats to ``F2Dot14`` to fix
round-trip issue when computing bounding boxes of transformed components
- [glyf] If a component uses reference points (``firstPt`` and ``secondPt``) for
alignment (instead of X and Y offsets), compute the effective translation offset
*after* having applied any transform
- [glyf] When all glyphs have zero contours, compile ``glyf`` table data as a single
null byte in order to pass validation by OTS and Windows
- [feaLib] Parsing feature code now ensures that referenced glyph names are part of
the known glyph set, unless a glyph set was not provided.
- [varLib] When filling in the default axis value for a missing location of a \
source or
instance, correctly map the value forward.
- [varLib] The avar table can now contain mapping output values that are greater than
OR EQUAL to the preceeding value, as the avar specification allows this.
- [varLib] The errors of the module are now ordered hierarchically below VarLibError.
4.3.0:
- [EBLC/CBLC] Fixed incorrect padding length calculation for Format 3 IndexSubTable
- [varLib] Fixed error when merging OTL tables and TTFonts were loaded as \
``lazy=True``
- [varLib] Allow to use master fonts containing ``CFF2`` table when building VF
- [ttLib] Make ``recalcBBoxes`` option work also with ``CFF2`` table
- [feaLib] Don't reset ``lookupflag`` in lookups defined inside feature blocks.
They will now inherit the current ``lookupflag`` of the feature. This is what
Adobe ``makeotf`` also does in this case
- [feaLib] Fixed bug with mixed single/multiple substitutions. If a single \
substitution
involved a glyph class, we were incorrectly using only the first glyph in the class
4.2.5:
- [feaLib] Do not fail on duplicate multiple substitutions, only warn
- [subset] Optimize SinglePos subtables to Format 1 if all ValueRecords are the same
|
2020-01-26 10:24:15 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-fonttools: updated to 4.2.4
4.2.4:
- [unicodedata] Update RTL_SCRIPTS for Unicode 11 and 12.
4.2.3:
- [otTables] Fixed bug when splitting `MarkBasePos` subtables as offsets overflow.
The mark class values in the split subtable were not being updated, leading to
invalid mark-base attachments.
- [feaLib] Only log a warning instead of error when features contain duplicate
substitutions.
- [glifLib] Strip XML comments when parsing with lxml
|
2019-12-14 11:35:17 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-fonttools: updated to 4.2.2
4.2.2:
- [subset] Fixed issue with subsetting FeatureVariations table when the index
of features changes as features get dropped. The feature index need to be
remapped to point to index of the remaining features.
- [fontBuilder] Added `addFeatureVariations` method to `FontBuilder` class. This
is a shorthand for calling `featureVars.addFeatureVariations` on the builder's
TTFont object.
- [glyf] Fixed the flags bug in glyph.drawPoints() like we did for glyph.draw()
4.2.1:
- [glyf] Use the ``flagOnCurve`` bit mask in ``glyph.draw()``, so that we ignore
the ``overlap`` flag that may be set when instantiating variable fonts.
4.2.0:
- [pens] Added the following pens:
* ``roundingPen.RoundingPen``: filter pen that rounds coordinates and components'
offsets to integer;
* ``roundingPen.RoundingPointPen``: like the above, but using PointPen protocol.
* ``filterPen.FilterPointPen``: base class for filter point pens;
* ``transformPen.TransformPointPen``: filter point pen to apply affine transform;
* ``recordingPen.RecordingPointPen``: records and replays point-pen commands.
- [ttGlyphPen] Always round float coordinates and component offsets to integers
.
- [ufoLib] When converting kerning groups from UFO2 to UFO3, avoid confusing
groups with the same name as one of the glyphs
4.1.0:
- [instancer] Implemented restricting axis ranges (level 3 partial instancing).
You can now pass ``{axis_tag: (min, max)}`` tuples as input to the
``instantiateVariableFont`` function. Note that changing the default axis
position is not supported yet. The command-line script also accepts axis ranges
in the form of colon-separated float values, e.g. ``wght=400:700``.
- [instancer] Never drop STAT ``DesignAxis`` records, but only prune out-of-range
``AxisValue`` records.
- [otBase/otTables] Enforce that VarStore.RegionAxisCount == fvar.axisCount, even
when regions list is empty to appease OTS < v8.0.
- [designspaceLib] Defined new ``processing`` attribute for ``<rules>`` \
element,
with values "first" or "last", plus other editorial \
changes to DesignSpace
specification. Bumped format version to 4.1.
- [varLib] Improved error message when masters' glyph orders do not match
- [featureVars] Allow to specify custom feature tag in ``addFeatureVariations``;
allow said feature to already exist, in which case we append new lookup indices
to existing features. Implemented ``<rules>`` attribute ``processing`` \
according to
DesignSpace specification update in. Depending on this flag, we generate
either an 'rvrn' (always processed first) or a 'rclt' feature (follows lookup \
order,
therefore last).
- [ttCollection] Added support for context manager auto-closing via ``with`` \
statement
like with ``TTFont``.
- [unicodedata] Require unicodedata2 >= 12.1.0.
- [py2.py3] Removed yet more PY2 vestiges.
- [_n_a_m_e] Fixed issue when comparing NameRecords with different string types.
- [fixedTools] Changed ``fixedToFloat`` to not do any rounding but simply return
``value / (1 << precisionBits)``. Added ``floatToFixedToStr`` and
``strToFixedToFloat`` functions to be used when loading from or dumping to XML.
Fixed values (e.g. fvar axes and instance coordinates, avar mappings, etc.) are
are now stored as un-rounded decimal floats upon decompiling.
- [feaLib] Fixed handling of multiple ``LigatureCaret`` statements for the same \
glyph.
Only the first rule per glyph is used, additional ones are ignored.
4.0.2:
- [voltLib] Added support for ``ALL`` and ``NONE`` in ``PROCESS_MARKS``.
- [Silf] Fixed issue in ``Silf`` table compilation and decompilation regarding str vs
bytes in python3.
- [merge] Handle duplicate glyph names better: instead of appending font index to
all glyph names, use similar code like we use in ``post`` and ``CFF`` tables.
4.0.1:
- [otTables] Support fixing offset overflows in ``MultipleSubst`` lookup subtables
- [subset] Prune empty strikes in ``EBDT`` and ``CBDT`` table data.
- [pens] Fixed issue in ``PointToSegmentPen`` when last point of closed contour has
same coordinates as the starting point and was incorrectly dropped.
- [Graphite] Fixed ``Sill`` table output to pass OTS.
- [name] Added ``removeNames`` method to ``table__n_a_m_e`` class.
- [ttLib] Added aliases for renamed entries ``ascender`` and ``descender`` in
``hhea`` table.
4.0.0:
- NOTE: The v4.x version series only supports Python 3.6 or greater. You can keep
using fonttools 3.x if you need support for Python 2.
- [py23] Removed all the python2-only code since it is no longer reachable, thus
unused; only the Python3 symbols were kept, but these are no-op. The module is now
DEPRECATED and will removed in the future.
- [ttLib] Fixed UnboundLocalError for empty loca/glyph tables. Also, allow
the glyf table to be incomplete when dumping to XML.
- [varLib.models] Fixed KeyError while sorting masters and there are no on-axis for
a given axis (38a8eb0e).
- [cffLib] Make sure glyph names are unique.
- [feaLib] Fix feature parser to correctly handle octal numbers
|
2019-07-04 14:09:08 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-fonttools: updated to 3.43.0
3.43.1 (released 2019-06-19)
- [subset] Fixed regression when passing --flavor=woff2 option with an input font
that was already compressed as WOFF 1.0
3.43.0 (released 2019-06-18)
- [woff2] Added support for compressing/decompressing WOFF2 fonts with \
non-transformed
glyf and loca tables, as well as with transformed hmtx table.
Removed Snippets/woff2_compress.py and Snippets/woff2_decompress.py scripts,
and replaced them with a new console entry point fonttools ttLib.woff2
that provides two sub-commands compress and decompress.
- [varLib.cff] Fixed bug when merging CFF2 PrivateDicts. The PrivateDict
data from the first region font was incorrecty used for all subsequent fonts.
The bug would only affect variable CFF2 fonts with hinting
Also, fixed a merging bug when VF masters have no blends or marking glyphs
- [loggingTools] Removed unused backport of LastResortLogger class.
- [subset] Gracefully handle partial MATH table
- [featureVars] Avoid duplicate references to rvrn feature record in
DefaultLangSys tables when calling addFeatureVariations on a font that
does not already have a GSUB table (aa8a5bc6).
- [varLib] Fixed merging of class-based kerning. Before, the process could introduce
rogue kerning values and variations for random classes against class zero \
(everything
not otherwise classed).
- [varLib] Fixed merging GPOS tables from master fonts with different number of
SinglePos subtables
- [unicodedata] Updated Blocks, Scripts and ScriptExtensions to Unicode 12.1.
3.42.0 (released 2019-05-28)
- [OS/2] Fixed sign of fsType: it should be uint16, not int16
- [subset] Skip out-of-range class values in mark attachment
- [fontBuilder] Add an empty DSIG table with setupDummyDSIG method
- [varLib.merger] Fixed bug whereby GDEF.GlyphClassDef were being dropped
when generating instance via varLib.mutator
- [varLib] Added command-line options -v and -q to configure logging
- [subset] Update font extents in head table
- [subset] Make --retain-gids truncate empty glyphs after the last non-empty glyph
- [requirements] Updated unicodedata2 backport for Unicode 12.0.
3.41.2 (released 2019-05-13)
- [cffLib] Fixed issue when importing a CFF2 variable font from XML, whereby
the VarStore state was not propagated to PrivateDict
- [varLib] Don't drop post glyph names when building CFF2 variable font
3.41.1 (released 2019-05-13)
- [designspaceLib] Added loadSourceFonts method to load source fonts using
custom opener function
- [head] Round font bounding box coordinates to integers to fix compile error
if CFF font has float coordinates
- [feaLib] Don't write None in ast.ValueRecord.asFea()
- [subset] Fixed issue AssertionError when using --desubroutinize option
- [graphite] Fixed bug in Silf table's decompile method unmasked by
previous typo fix
decompile method
|