Skip to content

v1.0.0

Compare
Choose a tag to compare
@anthrotype anthrotype released this 05 Dec 16:15
  • Added new ufo2ft.featureWriters package defining a new interface for generic feature writers.
    Moved the two current default writers to the new package but temporarily kept the old modules as aliases.
    The ufo2ft.compile* functions now also take a new featureWriters list of classes providing the same interface as BaseFeatureWriter, or also feature writer instances pre-loaded with custom options.
  • [fontInfoData] Addded fallback for hhea caretSlopeRise and caretSlopeRun to match makeotf (#177).
  • [ufo2ft] Added compileInterpolatableTTFs function to create interpolatable TTFs using cu2qu algorithm.
  • Added new ufo2ft.filters package for pre-processing UFO glyphs before compilation. Contains four filter implementations: "Decompose Components", "Remove Overlaps", "Cubic To Quadratic", and "Transformations".
    Filters are specified with a special element in the UFO lib.plist. The key is "com.github.googlei18n.ufo2ft.filters", and the value is an array of plist dictionaries containing the filter "name", an optional "namespace" from which the filter module is to be imported from (the default is "ufo2ft.filters"), an array of "args" and a dict of "kwargs" which are passed on to the filter class's constructor, and finally either an "include" or an "exclude" array of glyph names to select the glyphs that are to be filtered.
    The three core filters can also be toggled on/off with appropriate arguments to compileOTF/TTF functions, whereas the "Transformations" filter can only be specified via lib key.
    The latter is intended to work in the same way as Glyphs.app's "Transformations" filter. However, currently it
    only supports translate, scale and slant operatations.
  • [ufo2ft] Added reverseDirection=True argument to compileTTF to optionally disable reversing path orientation when running cu2qu.
  • [ufo2ft] Added removeOverlaps=False argument to compileOTF/TTF. Requires booleanOperations >= 0.7.1:
    https://pypi.python.org/pypi/booleanOperations
  • [ufo2ft] Added inplace=False argument to compileOTF/TTF. By default, the pre-processor copies the glyphs before applying any filters. If you don't care about the input font object being modified by compilation, you can use inplace=True.
  • [ufo2ft] Removed deprecated mtiFeaFiles argument to compileOTF/TTF; the only supported way to compile MTI features is to embed them inside the UFO data folder.
  • [outlineCompiler] Round head values that may be float in UFO (#155).
  • [outlineCompiler] Adds an empty zero-contour TTGlyph if the UFO glyph has invalid curveTo segments (e.g. convertCubics was set to False), and logs a warning instead of raising exception.