Long thought this should be possible... I am very impressed you figured out a way to do it.
You could iterate the strategy further by creating a full font from the existing text, identifying spacing and etc for each next letter/character, calculate for word wrap lengths, and get it even closer.