Releases: googlefonts/glyphsLib
Releases · googlefonts/glyphsLib
v3.2.0
v3.2.0b2
- 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
v3.1.3
v3.1.2
-
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 theKernFeatureWriter
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
- 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 byglyphs2ufo
if you pass the--generate-GDEF
argument. TheGDEF
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
- [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
- 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
v3.0.1
Fixed 'ImportError: no module named interpolation' in fontmake
googlefonts/fontmake#451