You can design everything using normalized coordinates instead of characters. As you move to other systems, the size of objects (including text) will shrink or expand. You might still have difficulty if the new system has a different aspect ratio for displays.
"These units are based on the default uicontrol font of the graphics root object:
- Character width = width of the letter x.
- Character height = distance between the baselines of two lines of text.
To access the default uicontrol font, use get(groot,'defaultuicontrolFontName') or set(groot,'defaultuicontrolFontName')."
I notice, though, that this refers only to font name and not to font size. That leads open the question of what it is actually referring to. I would recommend also experimenting with setting the defaultuicontrolFontSize .
I notice too that this Figure Properties talks about defaultuicontrolFontName instead of defaultfigureFontName. I wonder if that is an error in the documentation? I think I'll open a support case about this.
Anyhow, what I am getting at here is that what you can do in your figure CreateFcn callback is look at the available size of the screen and from there work out what size of font you need to use so that your figure that was calibrated in 'character' units will still fit on the screen; you would then set the default font name (or default font size) as appropriate so that 'character' positioning will work out.
Best Answer