Expressions
-
- Moderator
- Posts: 11232
- Joined: Fri Oct 04, 2002 12:41 am
- Location: Bilthoven, The Netherlands
- Contact:
Expressions
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.
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.
Re: Expressions
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.
However I do use lsb() and rsb().
And in Hebrew when I use "Mark" feature, its enough.
However I do use lsb() and rsb().
-
- Moderator
- Posts: 11232
- Joined: Fri Oct 04, 2002 12:41 am
- Location: Bilthoven, The Netherlands
- Contact:
Re: Expressions
Would base() not be more convenient?
Re: Expressions
Sometimes I want the reverse.
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
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
-
- Moderator
- Posts: 11232
- Joined: Fri Oct 04, 2002 12:41 am
- Location: Bilthoven, The Netherlands
- Contact:
Re: Expressions
Yes, one won't replace the other. Both will be supported, but it is just on opening a font or with complete composites that I think base() is better.Hafonton wrote: ↑Fri Jun 10, 2022 5:28 pm Sometimes I want the reverse.
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
Re: Expressions
Oh that's good then!
So where base() should be placed? In LSB field / RSB field? Or both? Just for understanding
So where base() should be placed? In LSB field / RSB field? Or both? Just for understanding
-
- Top Typographer
- Posts: 977
- Joined: Tue Jun 16, 2015 8:12 pm
- Location: Sheffield, South Yorkshire
- Contact:
Re: Expressions
I have found base() to be very useful.
-
- Moderator
- Posts: 11232
- Joined: Fri Oct 04, 2002 12:41 am
- Location: Bilthoven, The Netherlands
- Contact:
Re: Expressions
Usually in LSB and RSB or in LSB and AW.
Re: Expressions
Sounds good!
-
- Moderator
- Posts: 11232
- Joined: Fri Oct 04, 2002 12:41 am
- Location: Bilthoven, The Netherlands
- Contact:
Re: Expressions
Here is another update. On opening a font, it will set lsb and rsb to base() for composites that use same metrics as their base glyph.
It is also used with Complete Composites -> Anchor Based.
This update also comes with several minor improvements and bug fixes.
FontCreator 14.0.0.2849 (64-bit)
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.
It is also used with Complete Composites -> Anchor Based.
This update also comes with several minor improvements and bug fixes.
FontCreator 14.0.0.2849 (64-bit)
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.
-
- Top Typographer
- Posts: 9890
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Expressions
The link is still broken.Erwin Denissen wrote: ↑Mon Jun 13, 2022 2:29 pmThis update also comes with several minor improvements and bug fixes.
FontCreator 14.0.0.2849 (64-bit)
-
- Moderator
- Posts: 11232
- Joined: Fri Oct 04, 2002 12:41 am
- Location: Bilthoven, The Netherlands
- Contact:
Re: Expressions
Sorry about that. I have uploaded it once more, so please try again.
This release comes with:
This release comes with:
- Fixed an export instances issue
- Improved import of SVG files
- Fixed pasting side-bearings
- Several improvements in the OpenType Designer
- Improvements to the shaping engine
- Copy an interpolated glyph outline
- On the Master tab you can type x / y (run/rise) for italic angle and caret slope
- Support for base() for lsb and rsb on opening fonts and when using anchor based complete composites
- Numerous improvements and bug fixes
Re: Expressions
Thanks!
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
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
-
- Moderator
- Posts: 11232
- Joined: Fri Oct 04, 2002 12:41 am
- Location: Bilthoven, The Netherlands
- Contact:
Re: Expressions
It only works with compsite glyphs, and then without parameter, so:
base()
Inside the glyph panel, copy, then paste.