Bracket Trick gets wrong sidebearings on some instances after interpolation

I have an issue with glyph widths when using bracket trick. This issue is particularly annoying as I’ve applied it on a tabular 7.
My setup:
Masters: 100,4 ; 10,4 ; 100,5 ; 300,4 (1st value is weight, 2nd is Optical size)
Bracket layers on {240,4} {190,4} {144,4}

I’ve noticed that “reinterpolate metrics” produces a wrong value (I’ve commented each bracket layer and reinterpolated metrics de-commenting one-by-one to avoid interferences)

Generated fonts have wrong glyph width on all instances with Optical size 4, excepted {144,4} {190,4} {240,4} of course.

The problem is that:

  1. If I get the correct tabular width from generated instances with {240,4} {190,4} {144,4} and set it back in source file for the bracket layers, I get correct width value for {300,4} {240,4} {190,4} {144,4} but wrong values for {290,26} by 23 units, {190,26} by 10 units, {45,26} by 3 units, {10,26} by 56 units, {10,17} by 7 units, {10, 11,5} by 4 units, {10, 6,5) by 1 unit. This is puzzling me as I expected to get correct values everywhere after this manipulation.

  2. If I delete all bracket layers the issue disappears.

  3. even with only 1 bracket layer (no interference with others when calculating) exported values are wrong.

  4. If I run the “reinterpolate metrics” on real masters, sidebearings change (in my mind this command should apply only to bracket or brace layers, not to masters)

  5. setting the glyph’s width values as, for instance, to get it synchronized doesn’t work: the value isn’t updated automatically.

Is it a bug or I’m doing something wrong? I’ve tried everything I could but can’t get it right. ;(

Which app version?

the latest (1195), but it didn’t work with 1193 neither and maybe older versions too, I just didn’t checked generated instances before. Now I’m ready to release my font, excepted this last issue.

If you reinterpolate metrics on a tabular glyph it will most likely produce a different width. So without seeing the file, I would say that is not a bug.

But if I manually set the tabular width relative to a {x,y} it should work as without brackets, or? So what should I do to get my glyph tabular? Can I send you the file please?

Please send me the file.

I’ve also discovered the issue does not happen if I put a component (even if its source has bracket layers) in my tabular glyph

Hi, did you have chance to check my file?
I confirm building a glyph with bracket layers as a component and then using it for interpolating the sidebearings, works.
I suppose that when using component, the glyph is interpolated alone, and the sidebearings are interpolated later, on the resulting shape.
When interpolating sidebearings as well as layers, resulting sidebearings are wrong.
I discovered this issue on a tabular glyph as it was easy to compare, but it must happen on every kind of glyph.
I feel this is a critical bug as the resulting metrics of an exported font are no more reliable.

I hope you’ll address it as soon as possible.