New process for linking bearings for Composite Glyphs?

Get help with FontCreator here. Please do not post feature requests or bug reports here.
Post Reply
outofstepfontco
Posts: 114
Joined: Sun Feb 22, 2015 4:35 pm
Location: Toronto, Canada
Contact:

New process for linking bearings for Composite Glyphs?

Post by outofstepfontco »

Hello all
I am working through the new processes that have arrived with FontCreator 15 and I am stuck on bearings for Composite Glyphs. In the older versions, you could use the Glyph Members menu option to choose which source glyph would provide the bearings.

However with the change to Variable Font instances and the removal of the Glyph Members menu option, I can no longer find the switch to turn on linking the bearings to the source glyph. Now when I use my Variation sliders for Composite Glyphs, the glyph width (AW) stays fixed, and the glyphs expand and contract beyond the bearings.

For example: I have a 'hyphen' glyph with 30 pt bearings on both sides, LSB and RSB. Width is Regular, width=100.
Bearings-for-Composites-2025Jan17.01.jpg
Bearings-for-Composites-2025Jan17.01.jpg (382.39 KiB) Viewed 984 times
Same bearings for Condensed, width=50
Bearings-for-Composites-2025Jan17.02.jpg
Bearings-for-Composites-2025Jan17.02.jpg (383.58 KiB) Viewed 984 times
Same 30 pt bearings for Expanded, width=200
Bearings-for-Composites-2025Jan17.03.jpg
Bearings-for-Composites-2025Jan17.03.jpg (383.07 KiB) Viewed 984 times
I have the 'divide' glyph with the formula 'hyphen+period+period". Its glyph width and bearings have no relationship to the source glyphs. In FontCreator 12 we could use Glyph Member Properties to assign the bearings to one of the source glyphs. How do we do this now?
Bearings-for-Composites-2025Jan17.04.jpg
Bearings-for-Composites-2025Jan17.04.jpg (383.15 KiB) Viewed 984 times
Here is 'divide" with width=50: the glyph width has not changed. Even through the source glyph width has changed, the composite has not.
Bearings-for-Composites-2025Jan17.05.jpg
Bearings-for-Composites-2025Jan17.05.jpg (385.06 KiB) Viewed 984 times
Here is 'divide" with width=200: the glyph width has not changed for this width either.
Bearings-for-Composites-2025Jan17.06.jpg
Bearings-for-Composites-2025Jan17.06.jpg (383.89 KiB) Viewed 984 times
So I can no longer identify a way to link composite bearings to their source. All composite bearings must be assigned manually for every composite glyph for every instance? Or can you provide direction for the new process, and I will do that.

I also found this in the manual: is this the only option now?
Link Glyph Metrics

Just type "n" in the LSB expression field for m if you want to keep the left side-bearing of glyph "m" and "n" to be the same.


Thank you,
FC15.0 Professional
Erwin Denissen
Moderator
Moderator
Posts: 11586
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: New process for linking bearings for Composite Glyphs?

Post by Erwin Denissen »

Just type the name of the main composite (in your case hyphen) in the LSB field as well as the AW field.

For variable fonts, optionally select Edit across layers before editing the LSB and AW fields, so it updates for all layers at once.
divide.png
divide.png (106.37 KiB) Viewed 962 times
Erwin Denissen
High-Logic
Proven Font Technology
outofstepfontco
Posts: 114
Joined: Sun Feb 22, 2015 4:35 pm
Location: Toronto, Canada
Contact:

Re: New process for linking bearings for Composite Glyphs?

Post by outofstepfontco »

Erwin Denissen wrote: Sat Jan 18, 2025 4:10 pm Just type the name of the main composite (in your case hyphen) in the LSB field as well as the AW field.
For variable fonts, optionally select Edit across layers before editing the LSB and AW fields, so it updates for all layers at once.
I went ahead and followed this method for all of my composites. I used the "Edit across layers" option to reduce the effort as much as possible. It's still a very time-consuming workflow.

Is there any chance we could set this option as a default? So that we can turn it on for all composites, instead of having to go through them one by one for both uppercase glyphs and lowercase glyphs? Is there a reason the old switch was taken away? I think it used to be on the F4 Glyph Properties panel.

Alternatively, may we have a wildcard code that can be entered into all glyphs under LSB/RSB/AW, such as "%source", for example, so we can do all composites at once?
FC15.0 Professional
Erwin Denissen
Moderator
Moderator
Posts: 11586
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: New process for linking bearings for Composite Glyphs?

Post by Erwin Denissen »

Usually, the most efficient way to handle composite glyphs is to use Auto Attach in combination with anchors.

The fastest way to add anchor based features to your font, is to automatically generate anchors and the use them to automatically generate the OpenType layout features. Your font needs combining marks. If your font misses them, you can add them by running the Eastern Europe transform script. If your font lacks anchors, just select all glyphs and select Complete Composites -> Anchor Based Reposition to add and position anchors for several Latin based characters.

In general for diacritic marks placed above a base glyph, base anchors are vertically positioned at the CapHeight for upper case and at the x-Height for lower case characters. Anchors for regular marks are vertically positioned at x-Height, with some exceptions like "k", and "t". For diacritic marks below a glyph (like dotbelow and cedilla), the anchor will be set at the baseline.


If anchor-based attachment isn’t an option, you can still use base() for LSB and AW in composite glyphs. This can also be applied to multiple glyphs at once.
Erwin Denissen
High-Logic
Proven Font Technology
outofstepfontco
Posts: 114
Joined: Sun Feb 22, 2015 4:35 pm
Location: Toronto, Canada
Contact:

Re: New process for linking bearings for Composite Glyphs?

Post by outofstepfontco »

Erwin Denissen wrote: Sun Jan 19, 2025 9:17 am If anchor-based attachment isn’t an option, you can still use base() for LSB and AW in composite glyphs. This can also be applied to multiple glyphs at once.
That's what I was looking for. I forgot about "base()". I will write that down - I'm not seeing it in the Help file or the FontCreator Manual for FC 15.

On a related note, and I would be happy to start a new thread for this one: Is there a code to link bearings to the master for simple glyphs? As you know, optical bearings creates a unique LSB and RSB for each simple glyph. But now I am building condensed and expanded glyphs, and so for every instance I need to manually enter/copy at least the RSB for each simple glyph to the other instances. I can group the target instances together to cut down on the workflow, but it's still every single simple glyph needs to have the RSB set to match the Default instance/Master.
FC15.0 Professional
Post Reply