Box size known. Text string length unknown. Fit text to box without ruining its aspect ratio.
I don't think its the solution for what you want to do but you can use textLength
with percentage ="100%" for full width.
you can also add textanchor="middle" and change the x position to center perfectly your text
this will not change the fontsize and you will have weird space letterspacing...
JSFIDDLE DEMO