I was trying to make a diagram composed of an unknown number of sub-diagrams of different sizes, and I wanted them to all have the same label size. Unexpectedly (to me) scaling x or y independently didn't preserve the global font size, making fonts appear stretched.
Here are a few examples:
figBig = (text "hi" # fontSizeN 0.1 <> square 1)
===
(scale 2 (text "hi" # fontSizeN 0.1 <> square 1))
looks like:

Here the font is left unscaled (as desired). But if I scale x or y independently
figWide = (text "hi" # fontSizeN 0.1 <> square 1)
===
(scaleX 2 (text "hi" # fontSizeN 0.1 <> square 1))
figTall = (text "hi" # fontSizeN 0.1 <> square 1)
===
(scaleY 2 (text "hi" # fontSizeN 0.1 <> square 1))
I get

and

where the fonts are stretched.
Is this the desired behaviour? And if so is there any way to avoid it?