Один из вариантов - пробовать разные размеры зацикливанием, пока не получите нужную ширину. То есть начните с полной строки, если она шире, чем нужно, замените последние два символа на многоточие. Цикл, пока он не станет достаточно узким.
Если вы думаете, что будете работать с длинными строками, вы можете выполнить двоичный поиск по направлению к точке усечения, чтобы сделать ее немного быстрее.