When setting a font size in percentage, the system must compute a font size in pixels from it.
Currently it is using the height of the container of the control and do
container_height_in_pixels * font_size_percentage to get the font size in pixels. It could use the width instead (it was a design choice I guess). By doing so, you really get a text height that is a percentage of the height of the container.
Now, we could have the text size to change whenever the width OR the height changes by doing something like
(container_height_in_pixels + container_width_in_pixels) / 2 * font_size_percentage to compute the font size. It would be a breaking change, however, and I don’t know if it’s a feature that would be that useful. So I let @Deltakosh arbitrate this (to avoid a breaking change, we could add a property like
GUI.Control, or even a more generic property that would let you choose which of the width, height or both values should be used in the computation).
As for the case in your PG where
idealWith is set and
fontSize is a pixel value, the change in the width font size comes from the stretching of the texture, not from a change in the font size itself (it always stays at 36px).