Skip to content

Releases: googlefonts/ufo2ft

v3.3.0

19 Sep 11:08
v3.3.0
590c8de
Compare
Choose a tag to compare
  • Rewrite old kern writer to pull in some changes made in the newer one (#870)
  • markFeatureWriter: Support contextual anchors (#869)
  • markFeatureWriter: Support contextual ligature anchors (#871)

v3.2.8

03 Sep 09:45
v3.2.8
12b68f0
Compare
Choose a tag to compare
  • [featureWriters] Ensure CursFeatureWriter comes first, before kerning mark feature writers; in some non-HarfBuzz implementations the GPOS lookup order matters (#864).
  • [kernFeatureWriter] Ignore zero-valued class-class kerning pairs when generating variable kern feature as they are no-op (#866).
  • Take discrete axes into account when checking for feature compatibility across masters (#867).

v3.2.7

06 Aug 17:44
v3.2.7
Compare
Choose a tag to compare
  • cursFeatureWriter: Remove stray print()

v3.2.6

06 Aug 16:31
v3.2.6
92a7023
Compare
Choose a tag to compare
  • kernFeatureWriter: Support sparse masters (#859)
  • cursFeatureWriter: Support multiple entry/exit anchor pairs (#863)

v3.2.5

05 Jun 12:10
v3.2.5
4c1c521
Compare
Choose a tag to compare
  • Removed unnecessary assertions that may sometime trigger an AssertionError while setting a glyph's right margin in dottedCircle filter (#849).

v3.2.4

28 May 15:38
v3.2.4
df592b1
Compare
Choose a tag to compare
  • Fix variable anchors when DesignSpace source specifies a layer (#842).
  • Update the old kernFeatureWriter2.py to be able to output variable FEA for use when compiling features once per VF (#841, #845).

v3.2.3

17 May 10:30
bb3b2cf
Compare
Choose a tag to compare

[markFeatureWriter] When building variable anchors from designspace sources, don't crash if a non-default, 'sparse' UFO source does not contain some glyph; simply skip it (#840).

v3.2.2

13 May 10:46
v3.2.2
779bbad
Compare
Choose a tag to compare
  • Make it easier to use variable features by allowing to put them in the default source only (#833).
  • [instructionCompiler] When compiling TrueType glyph instructions, round TTGlyph's component transforms with floatToFixedToFloat(precisionBits=14) before computing their hash; the hash stored in the UFO glyph lib, which the computed hash is compared against, was itself computed from compiled (i.e. rounded) values (#814).

v3.2.1

08 Apr 15:49
v3.2.1
8e9e6eb
Compare
Choose a tag to compare
  • [BaseIFilter] Fixed performance regression when decomposing composite glyphs in fonts with large number of masters and/or nested components.
    We now use a cache to avoid recursing too much when gathering locations from component glyphs (#829).

v3.2.0

26 Mar 17:22
v3.2.0
4d9aca9
Compare
Choose a tag to compare
  • Some bug fixes and better error handling while building MATH table (#820).
  • Fixed a error while building variable GDEF ligature carets (#821).
  • Added new ufo2ft.instantiator module, copied over from fontmake.instantiator and adapted to also work on defcon Font objects, in addition to ufoLib2.Font (#825).
  • Support compiling variable TTF or CFF2 fonts with 'sparse' composite glyphs which define either more or fewer sources than the glyphs used as components. We use the instantiator to interpolate glyphs on the fly while decomposing, or we add empty placeholders in TTF masters for missing components in the non-default masters so the sparse composites can be built with varLib (googlefonts/glyphsLib#954, #826).