Dimanjy
Новичок
1. Есть рукописный шрифт Pushkin.ttf.
2. Есть функция для определения размера коробки символа imagettfbbox
Пытаюсь вывести строку посимвольно таким образом, чтобы буквы не перекрывались. Т.е. если каждую букву обвести ее прямоугольником, то в этот прямоугольник не будут попадать соседние буквы.
Проблемы возникают с буквами, имеющими длинные закорючки. Пример на картинке.
Например, буква G. Ее нижний хвостик выезжает за пределы картинки. Ниже привожу таблицу результатов работы функции imagettfbbox для каждого символа строки. Видно, что координата X левого нижнего угла у всех букв равна -1, хотя для буквы G она на вид гораздо левее!
Вопрос:
Как мне правильно определить отступы от базовой точки символа шрифта, чтобы символы не перекрывались и не уезжали за пределы изображения?
Возможен ли такой вариант, что это ошибка в самом шрифте?
Вот сам шрифт: ссылка
2. Есть функция для определения размера коробки символа imagettfbbox
Пытаюсь вывести строку посимвольно таким образом, чтобы буквы не перекрывались. Т.е. если каждую букву обвести ее прямоугольником, то в этот прямоугольник не будут попадать соседние буквы.
Проблемы возникают с буквами, имеющими длинные закорючки. Пример на картинке.

Например, буква G. Ее нижний хвостик выезжает за пределы картинки. Ниже привожу таблицу результатов работы функции imagettfbbox для каждого символа строки. Видно, что координата X левого нижнего угла у всех букв равна -1, хотя для буквы G она на вид гораздо левее!
PHP:
// 'G' lb=-1;30 rb=50;30 rt=50;-28 lt=-1;-28
// 'A' lb=-1;-1 rb=40;-1 rt=40;-29 lt=-1;-29
// 'g' lb=-1;21 rb=34;21 rt=34;-11 lt=-1;-11
// 'a' lb=-1;1 rb=24;1 rt=24;-10 lt=-1;-10
// '!' lb=-1;1 rb=29;1 rt=29;-32 lt=-1;-32
Как мне правильно определить отступы от базовой точки символа шрифта, чтобы символы не перекрывались и не уезжали за пределы изображения?
Возможен ли такой вариант, что это ошибка в самом шрифте?
Вот сам шрифт: ссылка