I wish it were this simple, but you forgot about word-wrapping. Also, what to do in the event that space_left is negative, but the user hasn't reached 150 words.
(Also, it's layout for print, so better to think in terms of pts or picas.)
(Also, it's layout for print, so better to think in terms of pts or picas.)