Expressions

Discuss FontCreator here, please do not post support requests, feature requests, or bug reports!
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Expressions

Post by Erwin Denissen »

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.
Erwin Denissen
High-Logic
Proven Font Technology
Hafonton
Top Typographer
Top Typographer
Posts: 441
Joined: Wed Aug 29, 2018 2:22 pm

Re: Expressions

Post by Hafonton »

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().
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Expressions

Post by Erwin Denissen »

Hafonton wrote: Fri Jun 10, 2022 4:01 pm However I do use lsb() and rsb().
Would base() not be more convenient?
Erwin Denissen
High-Logic
Proven Font Technology
Hafonton
Top Typographer
Top Typographer
Posts: 441
Joined: Wed Aug 29, 2018 2:22 pm

Re: Expressions

Post by Hafonton »

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
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Expressions

Post by Erwin Denissen »

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
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.
Erwin Denissen
High-Logic
Proven Font Technology
Hafonton
Top Typographer
Top Typographer
Posts: 441
Joined: Wed Aug 29, 2018 2:22 pm

Re: Expressions

Post by Hafonton »

Oh that's good then!

So where base() should be placed? In LSB field / RSB field? Or both? Just for understanding
PJMiller
Top Typographer
Top Typographer
Posts: 977
Joined: Tue Jun 16, 2015 8:12 pm
Location: Sheffield, South Yorkshire
Contact:

Re: Expressions

Post by PJMiller »

I have found base() to be very useful.
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Expressions

Post by Erwin Denissen »

Hafonton wrote: Fri Jun 10, 2022 9:25 pm Oh that's good then!

So where base() should be placed? In LSB field / RSB field? Or both? Just for understanding
Usually in LSB and RSB or in LSB and AW.
Erwin Denissen
High-Logic
Proven Font Technology
Hafonton
Top Typographer
Top Typographer
Posts: 441
Joined: Wed Aug 29, 2018 2:22 pm

Re: Expressions

Post by Hafonton »

Sounds good!
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Expressions

Post by Erwin Denissen »

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. :D
Erwin Denissen
High-Logic
Proven Font Technology
Hafonton
Top Typographer
Top Typographer
Posts: 441
Joined: Wed Aug 29, 2018 2:22 pm

Re: Expressions

Post by Hafonton »

Nice!
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Expressions

Post by Bhikkhu Pesala »

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)
The link is still broken.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Expressions

Post by Erwin Denissen »

Sorry about that. I have uploaded it once more, so please try again.

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
Erwin Denissen
High-Logic
Proven Font Technology
Hafonton
Top Typographer
Top Typographer
Posts: 441
Joined: Wed Aug 29, 2018 2:22 pm

Re: Expressions

Post by Hafonton »

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
error base.JPG
error base.JPG (44.43 KiB) Viewed 6925 times

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 :D
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Expressions

Post by Erwin Denissen »

Hafonton wrote: Tue Jun 14, 2022 9:12 am 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
It only works with compsite glyphs, and then without parameter, so:
base()
Hafonton wrote: Tue Jun 14, 2022 9:12 am 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 :D
Inside the glyph panel, copy, then paste.
Erwin Denissen
High-Logic
Proven Font Technology
Post Reply