Skip to content

Releases: googlefonts/ufo2ft

v2.11.1

04 Dec 15:38
12354b3
Compare
Choose a tag to compare

OutlineOTFCompiler: Guard against missing defaultWidthX or nominalWidthX (#358), in case a UFO sets just one of the two.

v2.11.0

03 Dec 12:45
v2.11.0
83aacfe
Compare
Choose a tag to compare
  • Dropped support for Python 2.7. Python 3.6 or greater is now required.
  • Bumped minimum requirements:
    • fonttools >= 4.2.0
    • cu2qu >= 1.6.6
    • booleanOperations >= 0.9.0
  • When computing the glyph bounding boxes, the ufo2ft.outlineCompiler now uses the compiled TTGlyph or CFF CharString objects instead of the UFO glyphs, since the latter may still contain float coordinates and component offsets, which could lead to incorrect off-by-one bounds and sidebearings (#356, googlefonts/fontmake#593).

v2.10.0

22 Nov 17:16
v2.10.0
3395435
Compare
Choose a tag to compare
  • Added debugFeatureFile option to the compile functions, to dump and inspect the text of auto-generated features (#354).
  • Added optional sortContours filter for sorting contours. It works around an issue with non-deterministic contour order from pyclipper across different platforms (#345, typemytype/booleanOperations#55).

v2.9.2

18 Nov 17:26
v2.9.2
0c95a5f
Compare
Choose a tag to compare
  • [outlineCompiler] Glyphs' vertical origin default to OS/2.sTypoAscender instead of hhea.ascent (#343)
  • [outlineCompiler] Do not require openTypeVheaCaret(Offset|Slope) info attributes to build vhea/vmtx (#344).
  • Defcon is no longer required explicitly in setup.py's install_requires, since ufo2ft never imports from it directly.
    The client can still load a UFO using defcon (or ufoLib2) and pass the font object to ufo2ft.

v2.9.1

18 Jun 17:59
v2.9.1
398381f
Compare
Choose a tag to compare

Updated minimum required fonttools to 3.43.0 to incorporate some important bugfixes when building variable fonts.
Read the full fonttools changelog for more info:

https://github.com/fonttools/fonttools/releases/3.43.0

v2.9.0

28 May 11:43
v2.9.0
f394d81
Compare
Choose a tag to compare
  • [API] Added compileVariableTTF and compileVariableCFF2 public functions (#332).
  • [kernFeatureWriter] Added Nandinagari to list of "Indic" scripts (#331).
  • [preProcessor] Load custom filters in TTFInterpolatablePreProcessor (#333).
  • Bumped minimum required fonttools >= 3.42.0

v2.9.0b1

13 May 18:07
v2.9.0b1
d2a9f90
Compare
Choose a tag to compare
v2.9.0b1 Pre-release
Pre-release
  • [API] Added compileVariableTTF and compileVariableCFF2 public functions (#332).
  • [kernFeatureWriter] Added Nandinagari to list of "Indic" scripts (#331).
  • [preProcessor] Load custom filters in TTFInterpolatablePreProcessor (#333).

v2.8.0

09 May 14:36
v2.8.0
1ce11eb
Compare
Choose a tag to compare
  • Implemented public.skipExportGlyphs UFO and DesignSpace lib key, for excluding specific glyphs from final binary font (#318).
    NOTE: The feature file is not subsetted yet. If you reference glyphs that are excluded from export, the feature compiler will crash.
  • [propagateAnchors] Correctly propagate anchors for composite glyphs that combine multiple mark glyphs (e.g. "circumflexcomb_tildecomb") (#316).
  • [decomposeComponents] Fixed duplicate decomposition of nested components in OTFs when using defcon UFO backend (#322).
  • [kernFeatureWriter] Write separate kern lookup without lookupflag IgnoreMarks for the kerning pairs that contain any mark glyphs (#314, #328).
  • Moved maxContextCalc module to fontTools.otlLib, but kept a stub that re-imports from the new location, for backward compatibility. This will be removed in the future.

v2.7.0

19 Jan 18:49
v2.7.0
a704631
Compare
Choose a tag to compare
  • [outlineCompiler] Only build minimal metrics/outline tables for "sparse" layer masters when compiling interpolatable TTFs or OTFs from designspace sources (#310).

v2.6.0

07 Jan 16:52
v2.6.0
e01ffc3
Compare
Choose a tag to compare
  • Added layerName argument (str) to compileOTF and compileTTF, and layerNames argument (List[Optional[str]]) to compileInterpolatableTTFs, for compiling outlines from a different UFO3 layer than the default UFO layer.
    Note that OpenType features compilation is skipped when layerName is given, as it is assumed that the features.fea only refers to the default UFO layer.
  • Added compileInterpolatableTTFsFromDS and compileInterpolatableOTFsFromDS functions that take a FontTools' DesignSpaceDocument object and compile OpenType font masters suitable for generating a variable font. All the SourceDescriptor objects in the designspace should have their font attribute set to a pre-loaded defcon.Font or a compatible UFO Font class. The functions return a copy (or same instance if inplace=True) of the designspace document with the sources' font attributes set to the respective TTFont instances. Sources with layerName attribute (e.g. to define sparse intermediate masters) are also supported: i.e. outlines are converted/compiled compatibly from non-default layers, whereas features are only compiled for
    the default layers.
  • [cubicToQuadratic] The Cu2Qu curve_type custom parameter is now stored in the layer's lib element of layerinfo.plist instead of in the global lib.plist, as different layers may well have different curve type.
  • Fixed incorrect Family and SubFamily nameIDs (1 and 2) that were generated as fallbacks when UFO fontinfo.plist doesn't explicitly define styleMapFamilyName and styleMapStyleName (#299).
  • Bumped minimum installation requirements:
    • fonttools >= 3.35.0
    • cu2qu >= 1.6.5
    • booleanOperations >= 0.8.2