Skip to content

v2.3.0

Compare
Choose a tag to compare
@anthrotype anthrotype released this 04 May 11:08
· 1234 commits to main since this release
754502e

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 via document.sources[i].font)
  • to_ufos() / to_designspace() (resp. to_glyphs()) have a new parameter minimize_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.