Automatically adjust spacing of all glyphs

Got this request from a client:

"In taking a look at the font, I think the main issue is that the letters are a little bit too close together. Would it be possible for you to send me like 2-3 versions of the font where each version has a little bit more spacing than the other?

For instance if the spacing of the font right now is x, could you send me a version that is x + .1, a version that is x + .2, etc. (the .1 and .2 is based on nothing I’m just using it for example) just so I can see how it looks?"

Is there a way to script Glyphs (mini) to adjust spacing of the font in this way so I can quickly save out some versions of the font, or do I have to manually adjust the spacing of each glyph? Thanks for any advice.

You cannot script Glyphs mini.

You can batch-edit sidebearings with Filter > Transformations > Metrics.

If you know how to use custom parameters: In the latest betas, you can add Filter parameters with values like “Transformations;LSB:+10;RSB:+10;”.

You can add multiple instances with a different parameter in each.
e.g.:
style name: "Regular p10"
Filter: Transformations;LSB:+10;RSB:+10;

style name: "Regular p20"
Filter: Transformations;LSB:+20;RSB:+20;

style name: "Regular m10"
Filter: Transformations;LSB:-10;RSB:-10;

style name: "Regular m20"
Filter: Transformations;LSB:-20;RSB:-20;

1 Like

How about tracking out in InDesign to define what spacing the client wants rather than generating all the fonts. If you work at 1000 UPM, I know that other font editing software has a one-to-one relationship with InDesign (tracking 10 units in InDesign means you add 10 units to the side bearings). Is that also true with Glyphs?

Yes. At least if you stick to a UPM of 1000.

The fonts may still be necessary if the client must use it in a software where you cannot adjust spacing.

Georg, This field described below only allows me to add a - attribute, +10 it says is an ‘invalid value’

Am I doing something wrong?

Thank you


You can add multiple instances with a different parameter in each.
e.g.:
style name: "Regular p10"
Filter: Transformations;LSB:+10;RSB:+10;

style name: "Regular p20"
Filter: Transformations;LSB:+20;RSB:+20;

style name: "Regular m10"
Filter: Transformations;LSB:-10;RSB:-10;

style name: "Regular m20"
Filter: Transformations;LSB:-20;RSB:-20;

Try just “10” (without the plus) for a positive adjustment.

Is it possible to set those parameters to relative values. e.g. in percent?

Not with the filter, because percentage changes really make no sense. If you still want to do that, I wrote a script for the percentage change believers: mekkablue scripts > metrics > change metrics by percentage.

Hello,

I read all your threads about Adjusting spacing.
The font, I needed it for, was actually almost finished, spacing and kerning were done already.
Of course, after adjusting spacing (+30 for each sidebar), my kerning values are not good anymore.
Is there a way to adjust kerning as well, or do I need to do again the kerning?

Thank you so much,
Christina

There is a script called Adjust Kerning in my GitHub repository that will help you. But you can probably get rid of many kern pairs altogether. YMMV.

Thank you!
You mean the script: Adjust Kerning in Master.py ?

Yes.

After changing the spacing so much, you need to manually adjust the kerning. And somethings even the spacing e.g. the T and A might keep there original sidebarings.

Yes, you are right.
I will definitely check all values again one by one.

Thank you 2 for your helpful answers!
Christina

Georg Seifert
Where can one find documentation on this kind of custom filter transformation?

There is a small question mark above the custom parameter list. It opens the help file (it takes a moment to load). There are some example on what filters are available. I will add that one to the documentation.

I tried to use the Filter: Transformations parameter on export to change the sidebearings and it didn’t work on all of the glyphs. For example it didn’t change the RSB on C but it did change it on Cacute, Ccaron etc. Is this a bug?

I used the filter in an interpolated instance for reducing LSB and RSB like this:
47
It doesn’t work, so I guessed there was a problem with the Adobe Fonts Folder. For testing I changed therefore the Family Name, but I got still no result. Did I make a mistake with the Filter?

Try removing the “Filter =” part in the second column and just start with “Transformations;…” (don’t include the quotes).