Skip to content

Releases: googlefonts/fontmake

v1.7.0

18 Aug 14:07
v1.7.0
34d1945
Compare
Choose a tag to compare
  • Added new option --overlaps-backend that allows to optionally specify "pathops" instead of the default "booleanOperations" as the backend for the ufo2ft RemoveOverlapsFilter.
    Install fontmake as fontmake[pathops] to enable support for this, or install skia-pathops separately if you prefer.

  • Added new option --validate-ufo to enable ufoLib validation upon reading and writing UFOs. It is disabled by default for marginally better speed.

  • You can install as fontmake[lxml] (or install lxml yourself) to enable faster UFO reading/writing using the latest ufoLib.

  • NOTE: You can specify multiple extras at the same time within the square brackets, e.g. pip install --upgrade fontmake[pathops,lxml]

  • Updated minimum installation requirements:

    • glyphsLib >= 3.0.3
    • ufo2ft >= 2.2.0
    • defcon >= 0.5.2

v1.6.1

27 Jul 13:03
v1.6.1
63d14fa
Compare
Choose a tag to compare

Fixed a regression whereby --keep-overlaps, --keep-direction and --conversion-error options were being ignored instead of passed on to the ufo2ft compiler (7eb44b4).

v1.6.0

20 Jun 17:37
v1.6.0
0f7b52e
Compare
Choose a tag to compare
  • Support new lib key for the "Keep Glyphs" custom parameter introduced since glyphsLib 2.3 (#446).
  • Don't generate default kern/mark/mkmk feaures when --interpolate-layout option is passed, as they will be overwritten by the interpolated GPOS.
  • Bumped minimum requirements:
    • fonttools >= 3.28.0
      • Fixed an issue in varLib's model resolution algorithm
      • It now uses a new rounding function better suited for visual data such as coordinates, advances, deltas, etc.
    • ufo2ft >= 2.1.0
      • Fixed issue when hhea/vhea metrics contain float values which need to be rounded to integers
    • glyphsLib >= 2.4.0
      • Fixed regression in the generated designspace.filename when a custom --family-name is provided that could lead to fontmake outputs overwriting each other
      • Added support for "Reencode Glyphs" instance custom parameter.

Please consult the respective changelogs for the full list of changes.

v1.5.1

14 Jun 13:44
v1.5.1
90b0534
Compare
Choose a tag to compare
  • Correctly handle "Keep Glyphs" custom parameter when subsetting the font: the global list always has priority over individual glyph export flags (#381).
  • Fixed incorrect subsetting when the UFO glyphOrder and the built TTFont objects's glyph order don't align (e.g. ".notdef" glyph not in the first position) (#443, #444).
  • In FDKFeatureCompiler, check makeotf exit code to determine whether build was successful.

v1.5.0

13 Jun 18:11
v1.5.0
e9e4d2c
Compare
Choose a tag to compare

Features

  • It is now possible to build a specific instance or instances with the -i/--interpolate option. This takes an optional regular expression that is matched against the instance "name" attribute in the designspace document.
    E.g.: -I "Noto Sans Bold"; or -I ".* UI Condensed" (#410).
  • Added --designspace-path option to tell fontmake where to save the designspace file generated by glyphsLib (#410).
  • Added --master-dir and --instance-dir options to control where to save the UFOs generated when the input is a .glyphs file. These options also accept a special string {tmp} which to save the UFOs in a temporary directory, cleaned up automatically after the binary fonts are built (#423).
  • Added two new mutually exclusive options: --output-path, for when the output is a single file (e.g. a variable font, or a single static font), and --output-dir, which can be used for any sorts of outputs. The folder is created if it doesn't already exist (#422).
  • The --interpolate-binary-layout option now takes an optional argument to customize the location of the binary masters used to interpolate the GPOS table using varLib (#422).
  • Decomposing glyphs, removing overlaps, and converting curves to quadratic are now performed by ufo2ft preprocessor filters. The output produced is the same. The FontProject class methods decompose_glyphs, remove_overlaps and conver_curves are deprecated and will be dropped later (#440).
  • Added --cff-round-tolerance option to control rounding of float coordinates in CFF table (#440).
  • The --kern-writer-class and --mark-writer-class options were removed, and replaced with a generic --feature-writer option, which allows to load any ufo2ft (or compatible) feature writer class. Note that ufo2ft now also allows to store these feature writers' specifications inside the UFO lib. The fontmake command-line option overrides both the default ufo2ft writers and those stored in the UFO lib.
  • fontTools.designspaceLib is now used to parse the input designspace file. The current version removes any kind of guessing about the axes and requires the presence of an explicit <axes> element, containing a list of <axis> sub-elements, each defining the axis name, tag, minimum, default and maximum location, and optional <map> sub-elements. The default master is expected at the intersection of all default values for each axis.
  • fontmake's internal UFO to OTF compiler ufo2ft was updated to version 2.0, and includes a long list of new features and bugfixes, which transitively benefit fontmake as well. Read the full changelog here:
    https://github.com/googlei18n/ufo2ft/releases/tag/v2.0.0

Bugfixes

  • Fixed issue when input ufo path has a trailing "/" at the end (#393).
  • Fixed issue whith FDKFeatureCompiler not working on POSIX platform (#442).

Updated minimum requirements

  • fonttools >= 3.27.1
  • cu2qu >= 1.5.0
  • glyphsLib >= 2.3.0
  • ufo2ft >= 2.0.0
  • MutatorMath >= 2.1.1
  • defcon >= 0.5.1

v1.4.0

16 Jan 12:00
v1.4.0
213d362
Compare
Choose a tag to compare
  • Don't remove overlaps from empty or all-component glyphs, or else pyclipper fails with an error (27d7b4c, #389).
  • Remove pre-existing instance UFOs before calling MutatorMath (6cdf44e, #372).
  • Do not round geometry in interpolated instance UFOs. Added a new option --round-instances to re-enable old behavior (#390).
  • Use font.path attribute if present to generate the output path (#357).
  • Support building varfont from designspaces without <instances> (5626514).
  • Updated minimum installation requirements:
    • fonttools >= 3.21.1
    • cu2qu >= 1.3.0
    • glyphsLib >= 2.2.1
    • ufo2ft >= 1.1.0
    • MutatorMath >= 2.1.0
    • defcon >= 0.3.5
    • booleanOperations >= 0.8.0

v1.3.0

18 Aug 18:26
Compare
Choose a tag to compare
Updated minimum required dependencies:

fonttools >= 3.15.1
- [varLib] Add default mappings to all axes in avar to fix rendering issue
  in some rasterizers (19c4b377, 04eacf13).
- [varLib] Flatten multiple tail PairPosFormat2 subtables before merging
  (c55ef525).

ufo2ft >= 0.6.2
- Use preferred family and subfamily to compose the full name; make
  UniqueID fallback less verbose (#148).
- Import and merge any TTX found in `data/com.github.fonttools.ttx` in the
  generated OpenType font (#142).

glyphsLib >= 1.8.0
- Fixed random order of propagated anchors on python 3 (#207).
- Correctly set instances' OS/2 weight and width class using values from
  the Instances tab's "Weight" and "Width" drop-down menus.
- No longer set OS/2 Weight and With Class for generated master UFOs,
  as those are only defined for instances in Glyphs.app.
- Generate UFO's `styleMapFamilyName` and `styleMapStyleName` attributes
  using values from the Instances tab's Style Linking section.
- Support shortened versions of all the `openTypeName*` custom parameters.

v1.2.7

31 Jul 18:55
Compare
Choose a tag to compare
Updated minimum requirements:

- fonttools: 3.13.1 -> 3.14.0
- glyphsLib: 1.7.5 -> 1.7.6
- defcon: 0.3.3 -> 0.3.4
- booleanOperations: 0.7.0 -> 0.7.1

v1.2.6

24 May 18:34
Compare
Choose a tag to compare
- Disabled mapping to designspace's internal space when using varLib's
  interpolate_layout (#321). Fixes https://github.com/fonttools/fonttools/issues/950

Updated minimum requirements:

- fonttools >= 3.13.0
  * Adds `mapped` keyword argument to varLib.interpolate_layout.
  * Fixed bug with recombining PairPosClass2 subtables.
- cu2qu >= 1.2.0
  * Uses 0.001 as default approximation error for cubic to quadratic
    conversion. To keep using the previous value, you can pass the option
    -e 0.0025.
- ufo2ft >= 0.5.3
  * Only writeFeatures_mark if neither mark or mkmk is present.
- defcon >= 0.3.3
  * minor bugfixes.
- glyphsLib >= 1.7.5:
  * support 'codePageRanges', 'GASP Table' and 'openTypeHeadFlags' custom
    parameters.

v1.2.5

05 May 10:53
Compare
Choose a tag to compare
Bumped glyphsLib requirement to 1.7.3 to fix issue with "Variation Font Origin" custom parameter.