Releases: googlefonts/glyphsLib
Releases · googlefonts/glyphsLib
v3.4.0b1
- Generate brace layer name automatically if the user added a brace layer outside Glyphs and forgot to insert the special glyph lib key storing the original brace layer name as used by Glyphs (#522).
- Support
public.skipExportGlyphs
lib key for storing export flags: the export status is no longer written to the glyph lib keycom.schriftgestaltung.Glyphs.Export
, but to the UFO and Designspace lib keypublic.skipExportGlyphs
, following the addition of it to the UFO specification.
Needs ufo2ft 2.8.0-b1 or above to honor (#519). - Support glyph lib key
ComponentInfo
. It's used to preserve which non-default anchor a mark is attached to when automatic alignment is active (can be important in e.g. Vietnamese composites) (#521).
v3.3.0
- Opportunistically round coordinates and other values of the form
x.0
toint
- Round-trip the filter
com.github.googlei18n.ufo2ft.filters
. It will show up in the custom attributes of masters, where Glyphs ignores it - Try harder to derive (sub)category for ligatures
- Make use of the OS/2 width class value when determining where on the width axis a Glyphs master is
- Remove 'build_instances' from
__all__
; fixesAttributeError
when doing 'from glyphsLib import *'
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)