Расчет длины текста в Пикселах
От: Аноним  
Дата: 28.01.09 13:48
Оценка:
Задача: Необходимо на PHP определить длину текстовой строки в Пикселах. Строка расположена горизонтально.

Под PHP есть функция imagettfbox, однако в моей программе не предусмотрено использование библиотеки PHP GD. Да и функция imagettfbox выдает неправлеьный размер блока текста (немного обрезает).

В следствии чего было написано приложение разберающее ttf файл и подсчитывающее длину стоки. Значения получаются ближе но все равно не точные. Длину строки определяю как сумму длин символов (глифов) + кернинг. Далее размер в пискелах определяю поформуле

Sp=ДлинаСтроки*РазмерШрифта*96/(72*РазмерОбластиСимвола);

РазмерШрифта — задаю в поинтах
РазмерОбластиСимвола вычитывается из ttf файла

Однако при проведение тестов, в GDI Windows (под C++), показало что функция GetTextExtent возвращает точные значения.

Вопрос первый: Если кто ненароком знает как роботать с ttf файлом, подскажите может я что делаю не так.
Вопрос второй: Может кто знает как работают функции imagettfbox и GetTextExtent (интересен сам принцип) и в чем отличия?
Вопрос третий: Может есть еще какой способ как на PHP расчитать длину строки в пикселах.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.