Okay, to add to the challenge, can you rewrite that so that it breaks at a space, so words aren't broken up? i suppose you'll have to pick a space that's about 10 to 15 characters from the beginning to look 'right'.
No big deal if you don't want to bother to do it, I'm mostly just throwing down the challenge because I'm normally so impressed with your abilities to create this stuff.
Not practically, as there's no way to handle it generically; handling it for just a few cases creates a nasty nesting of if() statements. Because there might be short words in the captions, such as:
"It Is A or B I Do So Wonder"
You have to check something like this:
if word1 < linelen
if word1 word2 < linelen
if word1 word2 word3 < linelen
if word1 word2 word3 word4 < linelen
...
and handle all the Else parts.
You can't introduce newlines into the caption / thumbnail via the expression language. Rather, the additional lines in the caption/thumbnail text editor is what forces additional lines in the output. So you can't programmatically add additional lines as required by the output text. So this forces you to predetermine that you'll always want N lines of output, and check each of the cases above if the nasty If() sequence.
And then there is splitting after punctuation to deal with...