Releases: fonttools/ufoLib2
Releases · fonttools/ufoLib2
v0.8.0
- Added
bounds
andcontrolPointBounds
properties toLayer
andFont
objects, like in defcon API.
These return the union of the(xMin, yMin, xMax, yMax)
bounding boxes of all the glyphs in a layer, or in the default layer forFont
object.
bounds
computes a tight bounding box at the curves' extrema, whilecontrolPointBounds
only takes into account the control points (#82).
v0.7.1
v0.7.0
- Added extensive type annotations throughout the codebase. These are also available to client code that uses static type checking, as long as they use mypy or a type checker that supports PEP 561 (#73).
- Build API documentation from inline docstrings using Sphinx.
This is uploaded automatically on ReadTheDocs at https://ufolib2.readthedocs.io/
v0.6.3a1
v0.6.2
- [LayerSet] load lazy layers from disk before renaming in
renameLayer
method, or returning them fromget
method. Fixed bug inLayerSet.renameGlyph
.
v0.6.1
v0.6.0
- Support constructing a
Font
object from apath
positional argument, likedefcon.Font(path)
does (#47).
This is to ease up projects that wish to support both defcon and ufoLib2.
If defcon compatibility is not a concern we strongly recommend to use the alternativeFont.open
@classmethod
constructor, as we believe it's more idiomatic and better suits the overall data-classes approach in ufoLib2. - Support comparing for equality and deep-copying
Font
objects even when loaded withlazy=True
(#47). - Added
Glyph.appendContour
, similarly for defcon compatibility (#48). - Make
Glyph.name
optional, like in defcon (#51). - Added methods to compute bounds and get/set left, right, top and bottom side-bearings (#22, #52, #53).
This time we could not match defcon API, because ourGlyph
object does not (by design) hold a back-reference to its parentLayer
; thus we cannot use@property
getter/setter methods like defcon'sleftMargin
, etc. but need the caller to pass as a parameter the glyphset from which to resolve component references for computing bounding box of composite glyphs.
v0.5.1
v0.5.0
v0.4.1
Made lxml
an optional requirement.