Skip to content

Releases: googlefonts/glyphsLib

v3.2.0

04 Feb 12:44
f5bcfc4
Compare
Choose a tag to compare

Updated GlyphInfo*.xml files to state of Glyphs 2.6.

Also refer to the beta notes.

v3.2.0b2

01 Feb 18:15
2a34f0b
Compare
Choose a tag to compare
v3.2.0b2 Pre-release
Pre-release
  • Master, Custom parameters, "Axis Location": run int() on location to work around a bug in Glyphs.app that sometimes stores the number as a string instead of an int.
  • Added CLI option --no-store-editor-state to not store state like the currently opened glyph tabs ("DisplayStrings"), as this easily leads to gratuitous merge conflicts.
  • build_masters will now correctly store masters on disk. Before, source layers would overwrite the full master UFOs.
  • Support automatic generation of bracket layers. They are extracted into freestanding glyphs in glyphs2ufo and back again in ufo2glyphs. Only the foreground layer is currently preserved!

v3.1.4

07 Nov 15:04
297d251
Compare
Choose a tag to compare

UFO2Glyphs: Ensure color tuples consist of integers in Python 2.

v3.1.3

31 Oct 17:15
477f9b8
Compare
Choose a tag to compare

Prevent crash of glyphs2ufo when running script from the same directory as the .glyphs file and not explicitly specifying --output-dir.

v3.1.2

19 Oct 12:32
v3.1.2
cfef8fb
Compare
Choose a tag to compare
  • Customize the ufo2ft's featureWriters by setting a key in the generated designspace <lib>. This is necessary in order to keep the current behavior in light of an upcoming change in the KernFeatureWriter default mode which is planned for the next ufo2ft release (#441).

  • parser: no longer accept invalid comma-separated lists of unicode values which are not wrapped within quotes (#436).

v3.1.1

20 Sep 10:07
ca7febe
Compare
Choose a tag to compare
  • More robustly handle public.glyphOrder: It is now generated/recovered in the way Glyphs.app expects it, leading to fewer differences when round-tripping. See 11d1111 for details.
  • Glyph classes are now always placed at the top of generated feature files: custom lookups are usually placed in the "Prefix" of a .glyphs file and may use these classes. Previously, classes were placed after them, breaking them.
  • Fix parsing backslash escaped glyph names in features. Fixes googlefonts/fontmake#445.
  • A GDEF table is now only generated by glyphs2ufo if you pass the --generate-GDEF argument. The GDEF table should only be generated if you are generating final binaries and may need the --propagate-anchors argument to work properly.
  • Make sure fontMasterID lib keys in UFOs are unique and error out otherwise. This can happen if you make a new master outside Glyphs.app.
  • Italic masters aren't named "Regular Italic" anymore.

v3.1.0

10 Sep 14:31
v3.1.0
44af0f8
Compare
Choose a tag to compare
  • [axes] Fixed issue when 'Axes' custom parameter is defined but not all the masters contain a 'Axis Location' custom parameter (#409, #411, #416).
  • [kerning] Round-trip kerning pairs as they are between UFO and glyphs, without performing any conflict resolution (best left to compiler) (#407).
  • [glyphs2ufo] Made normalization of UFOs opt-in, instead of opt-out. Use -N or --normalize-ufos to enable this from the command line script. Requires the ufonormalizer module (#415).
  • [glyphdata] Embed GlyphData.xml And GlyphData_Ideographs.xml as package data files and parse them at run-time. Removed glyphdata_generated module. Expose 'script' and 'description' attributes of GlyphData database (#410).
  • [parser] Always return list of hex strings when parsing unicode attribute (#405, 95dd3cd).
  • Added pre-commit hooks configuration and automatic linting and code reformatting to the CI checks. Reformatted the whole codebase with black. Fixed a few flake8 linter issues (#414).

v3.0.3

10 Aug 10:36
1f2f8a0
Compare
Choose a tag to compare
  • Correct handling of codePageRanges
    • UFO's openTypeOS2CodePageRanges has a few bits that Glyphs doesn't support, save those to a custom parameter on round-tripping.
    • Empty openTypeOS2CodePageRanges lists stay empty instead of being removed.
  • Fix openTypeOS2Selection handling
    • Store unsupported bits in a openTypeOS2SelectionUnsupportedBits custom value on round-tripping
    • Empty lists are preserved on round-tripping
    • openTypeOS2Selection will be sorted
  • Properly handle categorization of glyph variants
    • Non-spacing marks are properly categorized. This helps with proper feature building and zeros their width.
    • Handle not only matches for full glyph names, but also ligatures and glyph
      variants. Opportunistically concatenate uni* values.
    • Comment the code better.
  • Round-trip italicAngle == zero
  • glyphs2ufo: Make creating background layers optional (off by default)

v3.0.2

19 Jul 16:12
a480b86
Compare
Choose a tag to compare

Fix a crash when round-tripping a GSFeaturePrefix containing only a comment

v3.0.1

19 Jul 10:35
v3.0.1
def888e
Compare
Choose a tag to compare

Fixed 'ImportError: no module named interpolation' in fontmake
googlefonts/fontmake#451