lack of 2 important FOSSs abilities for making variable fonts

Hi, I'm making variable fonts with FOSSs(free open source softwares).
i use fontforge(both GUI and python api to design and prepare masters), notepad++, fonttools(name records modification, format conversion, ttx,...), fontmake(generate variable fonts and instances) and python scripts(regex, automation,...).
there is 2 problems about interpolation of masters, which are related to varlib(a part of fontmake) limitations:
1- anisotropic interpolation(multiply a number to x and y delta values) it's usefull to contrast regulations, especially in sans serif fonts.
2- Extrapolation(going out of designspace borders mathematically): fontforge has this ability but it's not working for opentype GPOS(mark anchors coordinates, kerning values,...).

apparently MutatorMath with ufoprocessor could handle these problems but i couldn't find how...
Could anyone please help me to find a solution or working examples?(i know Glyphs, fontlab 7, robofont(?), FontCreator(?),... have these abilities, I'm searching for opensource solutions).


  • Florian PircherFlorian Pircher Posts: 147
    As far as I know, extrapolation is not possible with GPOS, regardless of tooling.
  • Dave CrosslandDave Crossland Posts: 1,206
    Amin, @Fredrick Brennan is a fontforge maintainer and gave up on developing major new features like Variable Fonts support, as I did, because the codebase is a kind of humongous ancient monument; amazing, worth conserving, but not worth restoring as its better to build new from scratch, which is what I tried with (which failed to get useful quickly, and is for now dead) and Fred is now trying with MFEK. I suggest you try that :)

    Extrapolation is not possible in OpenType, but if you use FEZ to author your GPOS data (cutting edge stuff) you can interpolate it.

    However, whatever software you use, if you are dedicated to using libre software, you'll need to start contributing to the software's development, because no libre applications yet exist. 

  • John HudsonJohn Hudson Posts: 2,483
    edited May 11
    Extrapolation beyond the design space defined by variations axes is not possible in the OpenType format but it should be possible in font creation tools, and should apply to all glyph data including anchors and kerning. Such extrapolation is often an essential technique in variable font development, especially when ‘re-cornering’, i.e. inserting a master at a corner of the design space where two or more axes interact and the results of the variations math may be e.g. too light or too heavy, too narrow or too wide. In that situation—something I will be tackling on a project later today—, one needs to extrapolate beyond the natural corner of the design space to get the mix of axis influences one wants to actually have in that corner, then define that mix as a master and put it at the corner coordinate location.

    [FontLab 7 does this really well. It is possible in the Font Info / Axes panel to define space outside the limits of the axis extreme masters and extrapolate into that space. All the same data that is affected by interpolation within the design space is extrapolated outside it.]
  • aminabedi68aminabedi68 Posts: 5
    Thank you all 🙏
  • Erwin DenissenErwin Denissen Posts: 279
    Could anyone please help me to find a solution or working examples?(i know Glyphs, fontlab 7, robofont(?), FontCreator(?),... have these abilities, I'm searching for opensource solutions).
    Just for the record, a recent update of FontCreator allows you to do this, but unfortunately it is not documented yet. But it is pretty straightforward:

    In the Variations panel type a value that exceeds the axis range. Then in the Font Properties panel, go to the Masters tab. From there click the Add button and select Copy from Current Location. This will add a new master, including all extrapolated glyph outlines, anchors and single and pair adjustment entries.
  • Dave CrosslandDave Crossland Posts: 1,206

Sign In or Register to comment.