Did you solve your text size problem?
While you can’t directly access the font size from an expression (as far as I know), if you add a scale animator (from the pop-up menu on the text layer, choose Animate > Scale) you can then add an expression in there. You can get the length (in characters) of the text using:
thisComp.layer(“replace this with your text layer name”).text.sourceText.length
You’ll need to do a fair amount of maths to adapt the scale to the correct value, but I hope this brief response might help as a starting point!