I know, I mean in other situations where the variable really is complicated. I've seen 'printf -v' offered previously to do some pretty fancy stuff.You don't need to "cobble together complicated variables" here. Just printf straight away to stdout.
% n=10
% y=${(r:n:: :)} # n spaces
% x='hello'
% z=${(r:n:: :)x} # right-justified x
Jim Murphy offered: