Pour couper quand ça dépasse, mon approche serait de récupérer la largeur de la zone et la largeur d’un caractère.
Tu divises pour savoir le nombre de caractères par ligne et ensuite, il faudrait découper ton texte avec un algorithme tel que:
Tu découpes ton texte par mots
Pour chaque mot, tu vérifie sa longueur en caractères et tu l’ajoutes à une variable l.
Si l dépasse la limite, tu insères un \n juste avant le mot.
Sinon, tu passes au mot d’après.