Kerning by dragging glyphs around

When kerning a font, I really like the all-in-one kerning/metrics area underneath the glyph. Makes life a lot easier. When kerning pairs, I found out I can only do so by punching in a number. Say -30. Is there no way I can just drag the glyph around to its preferred kerning spot? Makes life even more easy!

There are handy keyboard shortcuts to adjust both spacing and kerning. See section 10. Spacing & Kerning in the Glyphs 3 Handbook on the Glyphs Learn page. The Spacing and Kerning tutorials also have detail on those keyboard shortcuts.

@composerjk - thanks for that. I did read it and it works fine. but dragging glyphs would be an even better option imho

I agree that there should be a less key-based way to kern. I dreamed of utilising the Touch Bar (haven’t happened) and ended up making my own hardware using rotary encoders.

Tuning knobs might be better than keyboard shortcuts, dragging the mouse isn’t.

:wink: If you make display fonts with crazy contours and crazy angles, then dragging glyphs to kern them is the better option. Punching in a value works really well when your font consists of clean lines, as most of the glyphs can go in the same kerning group.

Most glyphs in a hand made display font don’t have a single side in common…

1 Like

I’m not speaking about typing any numbers. That would be awful. Try the shortcuts. In text tool hit Ctrl+Option+left/right arrow keys. Add shift for bigger steps.

If the steps are too slow, you can increase them.

Glyphs.defaults["GSKerningIncrementLow"] = 4 # default is 1
Glyphs.defaults["GSKerningIncrementHigh"] = 50 # default is 10

I am not convinced. There is a number of other things that could be better off with non-mouse input but we do with mouse anyway. I still wish there was a way to kern by dragging, and I don’t see any dealbreaker (apart from my coding skill).

My point exactly, thanks @Tosche! :+1: :+1: I really would love to have a ‘kern by dragging’ feature. It could also be a plugin, but since my coding skills are non-existent, I am waiting for someone to pick it up.

I had to dig into my archives to check, but another editor (Fontographer) had such a feature in its Kern Window. Just select a glyph and move the “K” indicator to where you want it to kern that glyph. Not sure if their FL editor does it that way or not, but it might be a nice addition to Glyphs. Maybe as a plugin?

@George_Thomas : FL7 still has that drag-function. I made a cool video, but I can’t seem to upload it here… :confused:

One deal breaker is for instance, that you should never ever move a touch or drag target while touching or dragging. This however is likely to happen, if you, say, have the same kerning pair more than once in the active tab and you try to drag the second pair

AVTEXTA*V ← Drag the kerning where the asterisk is, and your entire text underneath the drag target will move twice as far (due to the first AV pair also taking the updated kerning) and then you end up in some sort of the visual equivalent to a speaker-microphone-feedback.

I once made a plugin that provides that dragging capability, and never used it for this reason, and also the lack of preciseness. But I agree, that a twisting knob would be great. I also just find it too tiresome to build one from rhasberry py componets and alike …

I have been trying to implement the code you mentioned and it didn’t work.
It turns out the code is wrong: in an older post I found this:

Kerning increments:

Glyphs.intDefaults[“GSKerningIncrementLow”] = 5
Glyphs.intDefaults[“GSKerningIncrementHigh”] = 50 # with Shift

Spacing increments:

Glyphs.intDefaults[“GSSpacingIncrementLow”] = 2
Glyphs.intDefaults[“GSSpacingIncrementHigh”] = 5 # with Shift

That actually worked!

There was a typo in @GeorgSeifert’s code. It should’ve said defaults instead of default. I updated the post to show the correct method:

Glyphs.defaults["GSKerningIncrementLow"] = 4 # default is 1
Glyphs.defaults["GSKerningIncrementHigh"] = 50 # default is 10

The Custom Increments section of the Kerning tutorial describes how to change those defaults…

1 Like

I don’t think you necessarily have to drag the glyph itself, so long as the dragging distance is translated as a kerning value (sounds less intuitive but can isolate the text reflow issue). Alternatively scrolling gesture could possibly be used for kerning with modifier key.

I also strongly believe that kern by dragging is a must, especially for initial kerning rounds, fast and sloppy. I have kerned in many applications, and a combination of mouse and keyboard works best. That is one of the two main hurdles why I don’t like Glyphs, as Georg knows. @Mark In your example of a pair appearing twice in a text, only the dragged pair should move, not the other, because the eye is looking at the mouse position, to apply the brain-stored optimal distance to that pair. Only after mouse release it should be applied to other occurrences, and the eye will wander and refocus. Yes that is a different behavior from kerning with the keyboard, but this discrepancy feels natural, and should make implementing drag-kerning easier.


Sounds plausible :slight_smile:

FWIW, Kern On also has a slider for mouse-dragging the kerning value.

For kerning, it just seems to make sense (even though generally, I don’t like the concept of dragging, and I had thought I’d never use a slider in any UI I create).

@TimAhrens - I am still figuring out whether I should get KernOn or not. I do have the demo version and I used the slider. But I prefer to just drag the glyphs.

@LucasFonts we already have a plugin to change the sidebearings by dragging; it should be easy to add kerning to it :slight_smile: