Click to set sidebearings?

Is there a way to manually drag sidebearings or click in the edit window to set them?

No, I always found that to be way to imprecise.

What about as an option for those who do want it?

I’ll think about it. There is s slight problem with the updating of the view: If you have several of the same letter, and you drag to change the width, the position of that glyph is changing under your mouse. That has to be correctly handled.

Why? What would be achieved better by dragging?

1 Like

It’s not something I’d use all the time. It just occurred to me when I was adjusting the left sidebearing of a ‘j’ to match the right, and I was entering numbers until I hit the right one, (see pic) I think Fontographer used to have draggable sidebearings. Maybe there’s an easier way that I don’t know.

I once made it as a plugin years ago and never liked it. Exactly for the reasons Georg wrote about. It’s unprecise, you actually don’t need it often (it felt to me more like a very short-term novelty (“oh, cool, that’s possible – yeah, whatever”) and also especially that if you have the same layer in the Edit Tab before the current one, those changed widths add up and cause something like a microphone-speaker-feedback where your layer slips out of your hands into nowhere.

Maybe a compromise/idea could be, to add some sort of dragging to the text fields in the gray Info Box.

The easier way would be to set the left sidebearing at a height above the hook, e.g. =|@100 to match the opposite side or =i@100 to match the i. :slight_smile:


Exactly, LSB of j is supposed to be something you should never worry about. Below are the tricks:
=n means you want to set it to the same sidebearing as n.
=|n using the vertical bar means you want to set it to the opposite side of n (useful for setting LSB of u).
=n-10 means you want n-10 as the value. You can use + - * / (the last two are multiply and divide)
=n@300 using @ means you want to use n but at specific height, in this case y=300. This is how you can ignore the tail of j and Q.
In the case of Q, you could alternatively set the width to the same as O instead of sidebearing.

1 Like

Thanks Tosche, the =i@ worked. That’s better than setting individual weights in a family.

What would be achieved is eliminating the necessity to take one’s hand off the mouse to use the keyboard. “Precision” is not always needed (especially when creating hand lettered styles).

I design connecting scripts, which require precise placement of the side bearing (especially the RSB). I achieve this by placing a node on the connecting path (which I duplicate for all connecting strokes), and then dragging the RSB to the node. Often, a numeric parameter varies among glyphs. The node placement is exact regardless of the numeric value of the RSB.

Both FontLab and Fontographer had this feature. For me, not being able to slide the side bearings is a hindrance in time and precision that I miss very much.

Not necessarily trying to avoid drag implementation, but your complaint gave me an idea for a script. Would you be interested in a script that sets the RSB to a selected node? You could you have a dedicated keyboard shortcut and you don’t even need to drag!

By the way, it would be probably cleaner to use anchors for cases like this. You do not have to distort your path by placing nodes.

@Toshi Omagari

I just realized you said “keyboard shortcut.” Being a big fan of keyboard shortcuts, yes your idea has more merit than I originally thought. :slight_smile:



Glad you like the idea! Here’s the Python code. Do let me know if you want help with where to install a script and how to customise keyboard shortcuts.
Set RSB to Selected (517 Bytes)

1 Like

You could add it to the “Toshi Omagari’s Scripts” so that it is easily installable from the Plugin Manager.

By “entering numbers,” do you mean adjusting the text in the side bearings field? If so, I’d strongly urge you to use the keyboard shortcuts for spacing changes. Once your fingers get used to them you will never go back.

I am not sure, it’s rather specific to one user’s habit, and I do not want to clutter my repository with things that aren’t useful to most people but will catch their attention while they browse.

1 Like

The ability to drag Left and (especially) Right Sidebearing would make my workflow a LOT smoother and faster.
I make a lot of handwritten fonts for comic artists and I’m not trying to be precise but to mimic the characteristics of their handwriting as much as possible.
This means my approach is not so much about constructing.

I used this option all the time in Fontographer and Fontlab.
(Not thinking about using these any time ever again though)