Advanced SVG text support defines a way to expand/contract text (normal text as well as textPath) based on the textLength property. lengthAdjust="spacing" and ie. textLength="200" forces the text to be exactly 200px wide, while this is achieved through the letter-spacing modification. For lengthAdjust="spacingAndGlyphs" the whole set of glyphs is expanded/contracted.
This requires that our SVG text implementation handles letter & word spacing, as well as 'kerning' before - so our absolute positioned SVG glyphs take the spacing into account at layout time, instead of paint time (basically SVG needs to disable spacing functionality of platform/Font.cpp) to be able to properly take into account spacing when implementing lengthAdjust.
Created attachment 16741 [details]
Support all textLength/lengthAdjust combinations on normal text & textPaths.
Landed in r26819.