Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Тексты > Ширина символа |
Автор: mzalutski 16.10.2007, 10:34 |
Имеется задача определить ширину текстовой строки (в единицах длины). Возможно ли как-то определять ширину символов средствами PHP? |
Автор: MoLeX 16.10.2007, 10:47 |
не совсем понял |
Автор: IAmEternaL 16.10.2007, 10:51 | ||||
ага
но если строка в utf-8, то будет такая кака
патамушо strlen выводит кол-во байт в строке, а в utf-8 не англицкие символы весят 2 байта шоп було прально и тут - http://forum.vingrad.ru/forum/topic-176575.html если же ты имеешь в виду отображаемую длинну строки (в пикселях), то умножь кол-во на ширину одного символа шрифта, который ты используешь (рулит еси ты используешь моноширный шрифт - типа Lucida Console) если нет - можно приблизительно длинну узнать, множь на самый широкий сивол (w, к примеру) |
Автор: mzalutski 16.10.2007, 11:51 |
Ребят спасибо, но нужна длина ИМЕННО в единицах длинны (пикселы, сантиметры, метры, дюймы, километры и т.д.![]() IAmEternaL, приблизительно не пойдет, нужно точно причем шрифт немоноширинный. Какая-нибудь низкоуровневая функция... если таковая есть |
Автор: IAmEternaL 16.10.2007, 14:32 | ||
пачитал мануал - можна
смотри $fontSize - размер шрифта текста $fontFile - путь к TTF файлу со шрифтом (бери оные в "C:\WINDOWS\Fonts") $text - панятно $width - то шо те надо по идее потесть я просто не уверен - пиксели оно дает или шо... ну надо испробовать в реальных условиях а заниматься этим самостоятельно (то есть мне) - уволь, оно ж тебе надо ;) |
Автор: mzalutski 18.10.2007, 08:19 |
Вообще, глупости это все - ширину букв находить. Всегда будешь зависить от конкретной платформы. Переделал алгоритм. IAmEternaL, все равно спасибо |
Автор: IAmEternaL 18.10.2007, 10:24 |
как тебе сказать ![]() код, который я дал, ни от чего не зависит - были бы шрифты на сервере и у клиента на машине и работает он достаточно точно (главное учитывать, шо еси это применяеца для HTML, то дизигнеры могут указать размер не в pt, а px, потому и расчет непральный будет) |