Releases: googlefonts/glyphsLib
Releases · googlefonts/glyphsLib
v3.0.0
- Remove interpolation capabilities and thereby MutatorMath dependency. Use fontmake instead.
- Repurposed and extended glyphs2ufo and ufo2glyphs command-line scripts to round-trip between formats with as much metadata intact as possible.
- Fix a roundtrip bug where the Regular would be renamed to Normal
v2.4.0
v2.3.1
v2.3.0
Added:
glyphsLib.to_glyphs(DesignSpaceDocument | list<defcon.Font>) -> GSFont
has been implemented and can create a Glyphs font from either a designspace document + source UFOs, or from a list of UFOs.glyphsLib.to_designspace(GSFont) -> DesignSpaceDocument
can translate a Glyphs font into a designspace document and UFOs (reachable viadocument.sources[i].font
)to_ufos()
/to_designspace()
(resp.to_glyphs()
) have a new parameterminimize_glyphs_diffs
(resp.minimize_ufo_diffs
) which can be set to True when round-tripping. When true, glyphsLib stores more information in the produced file, in order to minimize diffs when coming back to the original file. It's interesting when using glyphsLib on files that are under version control.- Handle
Axes
and masters'Axis Location
custom parameters. - Handle Glyphs "annotations" (under a lib key in generated UFOs).
- Handle background images.
- Handle smart components axes and values (but NOT outlines: there is no interpolation of smart components yet).
- Handle multiple unicode values per glyph.
- Handle guidelines.
- Handle Glyphs hints (under a lib key in generated UFOs).
- Support Glyphs API methods:
GSFont.kerningForPair
,GSFont.setKerningForPair
,GSFont.removeKerningForPair
Fixed:
- Don't crash on references to components that don't exist
- Parse various formats for multiple unicode values.
- Parse binary data as hex-encoded bytes.
Changed:
- The command line argument
-R/--no-round
is now-r/--round-instances
and does the opposite. - The default names for the width and weight axes is now "Width" and "Weight" in the generated designspace documents.
v2.2.1
- Write the
grid
master property asgridLength
in the *.glyphs file. MakegridLength
a read-only property ofGSMaster
(equal tomaster.grid/master.gridSubDivisions
) (#298). - Allow parsing datetime string without explicit timezone (fa9cdc8).
- [MetaTools] Do not fetch license info when using external xml (#296).
v2.2.0
v2.1.1
v2.1.0
- Fixed issue parsing 12h formatted datetime (#274).
- Fixed error parsing source file saved with Glyphs.app >= 1082 (googlefonts/fontmake#374, #267, #286).
- Allow to generate
glyphdata_generated.py
from supplied xml files (#287). - Read colors and set UFO keys for Glyphs ColorIndex and public.markColor (#285).
- Added support for "Replace Feature" custom parameter (#289).
v2.0.0
- The new
glyphsLib.classes
module provides an API that should match the internal Python API of Glyphs.app: https://docu.glyphsapp.com/
Note that currently not all the classes and methods may be fully implemented. We try to keep this up to date with upstream, but if you find something that is missing or does not work as expected, please open a issue. - The library now supports round-tripping (read/write) .glyphs files that were produced with Glyphs.app >= 2.5b (1076) without additional changes. If some Glyphs data doesn't round-trip, then it's a bug. Also, if you edit the Python objects (instances of GS* classes) before writing to .glyphs, then diff between the original Glyphs.app file and the modified one should only reflect the changes that were made to the Python objects.