When axis locations are very close, interpolation corrupts as shown the image attached.
It doesn’t look right, but we can’t determine the cause without inspecting the font, so please send it to us.
Here it is.
Xor7Seg_Variable_V1.0.fcp (10.4 KB)
Thank you for providing the font. I assume you made it with another font editor?
Anyway I think I have a fix for it, but please verify if it now works as expected.
https://www.high-logic.com/tmp/fontcreator/FontCreatorSetup14.0.0.2797-x64.exe
Now works as expected. Thank you.
I assume you made it with another font editor?
I use Blender as design tool because it accepts formula as input and I think working with edges is better for me,and then convert coordinates via calculator to FontCreator.
I guess I’ll need conversion tool soon as converting curve will be tedious though.
Sorry for raising the issue again, but I found this problem is not solved entirely yet.
Xor7Seg_Variable_V1.0.fcp (14.3 KB)
I suspect those are all bugs in your font. Can you show a glyph that you think should interpolate correctly, but fails to do so?
In certain range, all glyphs are interpolated with default master instead of two masters that covering the range.
Maybe my font has too close masters but I don’t know how far the value to be to hide intermediate state.
Is 1/65536 between masters too close?
If it is an issue on our side, please provide a way for us to reproduce it.
Such small difference can not be stored in the internal font format. For each axis, the master location is stored in a 16-bit signed fixed number with the low 14 bits of fraction (F2DOT14).
Sorry, I didn’t notice there is normalization for the coordinate values which causes a lot of precision loss.
I modified the gap to 1/8192 and now problem is gone.
By the way, you wrote:
For each axis, the master location is stored in a 16-bit signed fixed number with the low 14 bits of fraction (F2DOT14).
I assume you are talking about normalized coordinate system used in avar table, however, I’m talking about coordinates in fvar table which stores the coordinates as Fixed (16.16) data type and that’s why I used 1/65536 as gap previously.
Perfect.
Tuples are stored as F2DOT14.