Change the scale of several shapes independently

Hello, this is my first post on the forum. I hope I haven’t made any mistakes. Also I’m French, so please excuse me if my English isn’t perfect. I’m looking to resize multiple shapes simultaneously, but I’d like the scaling to occur from the center of each selected shape. I’ve included an example of what I’m trying to achieve below (here, I’ve reduced the scale by 300%).

I need this information because I’m working on a variable font project that contains a large number of circles to resize, and I don’t see myself resizing each circle one by one. If anyone has an idea, I imagine it shouldn’t be too complicated, but surprisingly, I haven’t found anything by searching a bit on the internet (maybe 'cause I’m searching wrong).

Thank you in advance for your feedback !

Bienvenue ! Ton anglais est impeccable :wink:

Do you want to resize these circles manually? Or do you want to resize them all by the same amount?

In both cases, a Python script can easily do this for you. The first case is a lot more difficult, but definitely possible.

Do you have Python experience and do you know the Glyphs.app Python Scripting API Documentation — Glyphs.app Python Scripting API 3.2 documentation?

Depending on your exact setup and intentions, you could also consider using a component for your circles. In one master, the base component would be at one size, and in a different master it would be a different size. This would presuppose that you want to scale all circles by the exact same amount.

1 Like

If those are all the same circles you could use components. Then you can scale them all at once.

1 Like

Yes, I’ve considered that, and I’m still keeping that idea in mind. However, none of the circles have the same size for this project.

Merci pour ta réponse !

I would like to resize all the circles while maintaining the same scale between them. The idea is to create a cloud of circles/points of different sizes (forming my letters), where for example, one master would consist of small circles and therefore be separated from each other, and another master where they would be so large that they would overlap until the letter is barely visible.
Here’s a more specific example.

Of course, I’ve thought about the component idea, but the issue is that no circle is the same size, and I’m looking for this organic result.

Aaah, I’ve already used scripts, but I don’t have experience in Python. A little dive into this domain can’t hurt ahah !

This can be done with components as not all components need to be of the same size. So you just have a single circle glyph and then use it in differently sized components.

1 Like

Wow, I finally made the connection between everything you just told me :exploding_head:
I completely forgot that I could actually resize my component directly from my letter! Surely the translation in my head didn’t work out well, haha. Thanks everyone, it wasn’t very complicated after all !

Why not use the scale function in the Transformations panel. Choose center of shape, then enter the target percentage (make sure the H/V lock is on), and click the Scale button:

image

Works with both paths and components, but you would select one item at a time and hit the scale button.

You can also set a keyboard shortcut for the Scale button in Settings > Shortcuts, search for ‘Scale’, This will show you Scale Up and Scale Down, which are misnomers for Scale and Reverse Scale, which in turn is what these buttons really do.