Right now anchor based complete composites sets lsb to lsb(name_of_base_glyph) and rsb to rsb(name_of_base_glyph). For most composites this works okay, but not for glyphs that have a mark that goes beyond the boundingbox of the base glyph, like Idieresis. Another function, comp(name_of_base_glyph) does the trick, but it still relies on the name of the base glyph.
To overcome this, we recently introduced a new function for expressions: base()
We think it is time to use base() with anchor based complete composites, but want to make sure there are no objections. So let us know your opinion about this!
There is one more situation that makes use of a similar expression. On opening a font with TrueType based outlines, a composite glyph member can include a special flag that indicates the composite uses the same metrics. We now add expressions for such composites for lsb and aw. Here we could also use base() for both lsb and rsb. Does this also sound like a good idea?
It should also work for italics, but since this is more complex, it might still have some issues here.
I personally don’t really use complete composites, as my fonts don’t really have multilingual support, only basic English.
And in Hebrew when I use “Mark” feature, its enough.
For example if I have left bracket ( symbol and I set metrics for it,
I place for right bracket ) the opposite. So right side bearing of ) is lsb(bracket left).
Does that make sense?
Base is good too though!
But not as a replacement, just as an add-on
I think this version is extremely stable and all known bugs have been fixed, so we intend to officially release it soon. Then we can get back to updating the help and manual.
I’ve tried base(A) and it shows an error, am I doing something wrong?
Note: It would be nice to be able to hover on the red icon and see the error message or something like that Copy an interpolated glyph outline
How do I use this? (Suggestion: answer me the same way you write in the documentation, that way you finish two tasks in one shot
Expressions do make things slower, especially with complex variable fonts with lots of glyphs.
Some more things that slow things down are:
Huge pair positioning lookups, but there is not much we can do about that
The algorithm to detect compatibility issues among glyph layers in a variable font
Let us know if you think your work is affected by this.
An upcoming update will allow you to set metrics for all layers, using the same Edit across layers toolbar icon from the Masters and Layers panel.
While implementing this I sometime accidentally changes metrics for all layers, while I intended to only make a change to a single layer. So I wonder is there some way to make this more intuitive?
There is some much terminology and the specs get more complex with every update, but I am talking about masters.
The upcoming update allows you to set the left side-bearing for all masters of a glyph at once. Usually such metric is not equal for all masters, so this enhancement might do more harm, so some advise is welcome!