Limit axis in variable font

I have a variable font.

It has icons and letters. I want the letters to be changed in width 100 to 200 units, on axis WGHT respectively from 300 (light) to 700 (bold). But I also need the icons to change the width from 100 to 150 units, with the extension on the 500 axis being stopped.

Two states (100 and 200 for letters and 100 and 150 for icons) are drawn, and I need to set a limit to change the variability of icons with WGHT=500.

Tell me how to do that, please.

I’m afraid I don’t understand your question. As in, I’m sorry to say, but I don’t understand your sentences. Can you maybe be a bit more specific (example screenshots, bullet points…)?

I’ll try to explain it more clearly. I’m making a variable font.

So, in addition to the letters in the font I have icons (for example, the icon of the button “Play”).

I want the letters to grow in width from 50 to 150 units (I called this real weight axis). Also, I need the icons to width 100 to grow linearly and then not to change (while the letters change width).

My idea is to draw not 3 states, but 2, but to set some condition, that for “letters” variability is changed one by one, and for “icons” - another.

UPD. This is the wrong illustration, the correct one is below

What you might try is to subset the variable font with fonttools. I never tried it but I just read that they improved it a lot, recently.

That is, it is impossible to do this with the standard features of Glyphs3, and the only way out is to draw three states for each symbol instead of two?

Is it possible to make references to the same symbol in another state within the same symbol?

For example, I have the letter “A”, and there are three styles: light, regular, bold. I want to say that A Regular = A Bold (meaning the selection in the right panel “layers”)

I would suggest you add a brace layer (intermediate layer).

For example, you have two masters for axis wght: 100 and 200. You want a glyph to stop changing shape after wght=150.

So, simply add an intermediate layer to the glyph and set the intermediate layer coordinates to 150. Then copy-paste the paths from the 200 master to the 150 intermediate layer.

This is best done with a script. Does my suggestion make sense to you? Let me know if it works for you. If it does, let me know if you want a script to automate this.

Can you explain why you try to do this?

Thanks for the advice above, try it and I’ll write the result later.

Now I realized that I made a mistake in the illustration, I attach the corrected one

Yesterday, I misread your question. The answer from @SCarewe is the way to go.