Пусть очередная собранная строка состоит из Nw слов W[i] (i = 0..Nw-1)
"считаем, сколько пробелов надо до заданной длины строки" [Nsp] = максимальная длина строки [Lmax] - длина собранной строки [Lcur]
"в цикле добавляем пробелы":
Isp {циклический счётчик 0..Nw-1} = 0
while (Nsp > 0)
begin
W[Isp] +=
Isp ++
Nsp --
end
А, ну и ещё маленькая тонкость: все мои рассуждения теряют силу для не-моноширинных шрифтов. В этом случае придётся использовать менее красивый метод с измерением длины в пикселях через GetTextExtent