The difference in the export of static and variable ttf

Here the project file with cubic outlines – Regular and Black masters.
This italic design doesn’t contains horizontal extremes for better shape control (in this particular design), but vertical extremes are presented.

And here exported: variable ttf on the left image, and static ttf instances on the right image.

On static ttf export, extremes are added automatically and sometimes they are created with a straight line segment (I marked that two blue nodes), which unexpectedly changes the shape. What’s interesting that the upper and lower parts of this shape are identical on Regular master and just mirrored, so it’s strange that happens only on the upper part but not on a lower.
Here more closer look at the right image with two blue nodes.

The questions

  1. Is it possible to manually disable the automatic addition of extremes for ttf export?
    I tried: Font Info → Export → Custom Parameters → Filters → AddExtremes; exclude:l,n just for two letters to see the difference, but it doesn’t prevent the standard behavior.
  2. How to correct this straight line segment, during the export? I expect to have that internal extreme point colored in green with additional not-on-curve point below it.
    I tried this: Font Info → Export → Custom Parameters → TrueType Curve Error → 0.2 for more precision but there is any difference with default 0.6 value. Looks like this custom parameter work before adding the extremes.
  3. What wrong may happens with TrueType fonts without horizontal extremes? I hear they need it to calculate the bounding box. However, the Variable font export doesn’t add this extremes (I suppose, for master compatibility) and it works fine so far I tested.
  4. Can I manually convert all the masters to quadratic outlines, keeping them compatible? Technically. I tried holding the Option button and go to Path → Other → Convert to Quadratic but there is no option for all masters. I suppose it should be. If I convert every master separately, they are most likely become uncompatible because of different amount of off-curve nodes.

Regarding the question 4 – just found this. @GeorgSeifert I believe it should be in menu Path → Other → Convert to Quadratic when pressing with Option (for all masters).

  1. run this script:
Layer.parent.convertToCompatibleTrueTypeWithError_error_(0.6, None)
1 Like

Thank you, it works :raised_hands:
Just realized that when outlines are already quadratic, the export conversion doesn’t happens (except of path direction correction) and an extremes will not be added. As I wanted.