Данные будут генерится автоматом, как сделать чтоб под текст такое форматирование было?
Возможно я чего-то не знаю, но первый способ который приходит мне в голову, в рамках "PHP" и "что бы универсально было" - это: отрисовывать каждую надпись нужным шрифтом на картинке, потом измерять её ширину, отдельно измерять ширину точки (или нескольких точек подряд, таким же способом, по картинке). Аналогичным принципом можно так же рассчитать и переносы.
Если у Вас какой-то строго фиксированный шрифт - задача несколько упрощается, достаточно будет измерить ширину каждой буквы нужного размера и где-то сохранить соотв. информацию.
Самый простой вариант - использовать
моноширинный шрифт (коих много), для отображения такой информации, тогда "подгонять" ничего не придётся, достаточно будет считать кол-во букв и легко высчитывать их ширину.
Выше описанные варианты касаются именно "PHP" (хотя и очень условно), но я бы всё-же сделал отображение информации такого характера на уровне HTML/CSS, они куда больше приспособлены для решения таких задач.