When I name anchors RSB or LSB they change shape to start and end markers.
I could not find any documentation on this special behaviour.
Is there a way to have the side bearings to ignore certain components?
Or to use these anchors to define the bounds of a glyph where the RSB and LSB are calculated from?
I’m creating fonts for conlangs. Is there any functionality I could use, or are they just used for exporting?
It would be cool if I could use special anchors as the origins for LSB and RSB values.
E.g. when I set the LSB to 38, it sets the left border to 38pt left of the LSB anchor.
When I start designing the letters I format all letters with the biggest possible bounding box and create components for all elements. When I have all components done, I create all letters just by adding the needed combination of components. Because all have the same size at this point everything fits perfectly.
Then I set the correct sidebearings. But now when I want to change some letters I have the problem that added components still have the bigger original size and are placed different in the letter. I got this sorted by using origin anchors in the base shape.
I have a base letter shape that defines the width of the letter. The base letters have added components that overlap into other letters in many different ways and combinations. This would create many different negative sidebearing values that all have to be recalculated if the base value changes. The important value is only the distance of the base shape to the borders.
You could build the components using “#exit” “#entry” anchors. That way, the side bearing of the first and last component will be used. But I would need to see more examples to understand if that would be possible.
Here is a small test case. The #entry and #exit anchors set the sidebearings correctly. But when a component overlaps these anchors, the side bearing is calculated from the end of the overlap.
Have a look at the letter A. then move the upper component to the right.
I have noticed that LSB and RSB anchors directly set the borders but leave the metrics unchanged and ignored.
Unfortunately when exported only the metrics are used.
Here is an updated version of my script. It now recognizes “LSB root” / “RSB root” anchors in components and takes the leftmost LSB root and the rightmost RSB root anchor as reference. If you put these anchors directly inside the glyph, they override their counterparts in the components.
Do you need help with setting up the readme? A quick overview of what each script does. Take a look at the readmes of the script repos linked on the extend page.