Way to close all kerning locks?

What @Bendy and @BureauRoffa say, this is a wanna have fix/feature! I now had to click and close dozens of locks manually.

1 Like

Definitely an issue, Georg! I had to do this numerous times after Compress failed on me.

I definitely agree with what Ben says. I find this unlocking behaviour really disturbing and it has cost me some hours of extra work. I also found that compress kerning mostly messes my kerning than fixes issues, especially by not honouring exception/exception pairs.

Yes. Same here.

Compress Kerning deletes exceptions (=open locks) wherever possible (i.e. when the kerning value is the same as the respective group kerning value), and tries to keep only group kerning (=closed locks). That is the whole point of compressing.

And that is the same thing that closing a lock does, except that if you close the lock it deletes the kerning exception regardless of the value.

If you want to get rid of exceptions regardless of the kern value, I suggest the RemoveKerningExceptions plug-in from Window > Plugin Manager.

Here is the case in point: you have made 50 kerning exceptions and then you designed some new glyphs and added them to the font master but forgot to lock the exceptions.

Now you have 20 new glyphs with numerous accents that have unlocked exceptions when they should be all locked. If you remove kerning exception you will ruin your kerning. If you compress same thing.

So the question is how can you lock the kerning on a specific selection.

You select the kern pairs in Window > Kerning and delete them. You can use the search field:

I don’t want to delete kerning pairs, but add kerning pairs for the newly created glyphs based on the kerning groups (e.g locking), while leaving the exceptions intact.

In that case, you take one of the unkerned pairs with the groups in question, and group-kern it.

Mind you, this is different from the scenario I was answering above:

‘should be all locked’ = exceptions deleted; closing a lock means deleting an exception.

Yes, but I want to delete exceptions for only the glyphs that were just created. Thus, I go manually over each and lock it.

I any case I will post a screencast once it occurs again, since I feel it is harder to explain.

Naturally, you need to set the left and right groups first, otherwise kerning cannot default to group kerning.

Or select & compress them in the Kerning window. A pair will not compress if a group kerning with a different value is already in place.

I have a similar problem and i want to make sure i won’t mess anything up.

Does the compress function work on Selection when i select individual kerning pairs or does it always try to compress everything?

I’ve been having problems with the compress function as well. It seems to be impossible to only compress a selection of kerning paris? What I experienced now it that I had groups all set up and working, as an example A with ÁÀ etc. I then changed the kerning on A and for some reason the lock opened(not really sure why, might be bubblekern, but it’s not the point). So now I have the glyph that is kerned correctly as the exception. If I compress, it puts A back into the group and is therefor uncorrectly kerned. I think the idea of having a “ruling” glyph in each class is a very handy function.

Furthermore, I experienced some really strange thing that I cant seem to reproduce. When I compressed, Glyphs added plus kerning values to some glyphs that were not in the same groups and messed up the kerning. I’m now manually closing groups and re-entering the correct value to make it work. Can’t seem to find any other way.

I also want to add that I find it really weird that you feel like you have to defend the program and the flaws that fair amount of users are pointing out here. Wouldn’t it be better to try and listen to the feedback and try another way to do this?

I find the “display unlocked kerning pairs” script very useful as a visual check.

1 Like

It is, thank you, didn’t know of that one.

Everything. Sorry I oversaw your question a few months ago.

Aside from concerns that were brought up, I did just have a situation where the compress function indeed helped (I did not have any exceptions in the font, so that wasn’t really a concern):

I had already set kerning classes for all my primary characters, but I had not done so for /ampersand. I already kerned things like /T/ampersand… but I later added an alternate /ampersand that had the same basic form but styled a little differently. This alternate wasn’t picking up the kerning of the original pairs because there was no class to join it to. So I gave the original /ampersand and the alternate both the same class. This did cause some unlocking to happen, but didn’t seem to affect the original pairs. So then when I hit the compress command, it did close all locks and joined my alternate /ampersand to the original pairs.

Just to add to this: I had a situation with a caps-only font where my client requested I add copies of all the caps to the lowercase keyboard positions (for the dummy users who don’t know what a caps-only font is). So this is a legitimate example of why you would want better user control (and display of) exceptions. This happened near the end of the project after all kerning and groups had been set, so I had kerning exceptions which I didn’t want (leading me to this thread). Georg and Rainer, I also found that the Compress function does not seem to work, even the second time. I resolved my issue by using Remove Kerning Exceptions script but it was a long and tiresome path to get to that point. LOVE Glyphs overall, but kerning exceptions has been a difficult learning curve for me :slight_smile:

Yes. Compress is conservative, meaning it will not remove an exception if there already exists kerning for the respective groups. That is why I added those scripts to the mekkablue repository.

You could filter out all the exceptions and delete those with the kerning panel. But it is a bit opaque, you’re right about that.

1 Like