imagepstext - задать величину межбуквенного расстояния?

alexhemp

Новичок
imagepstext - задать величину межбуквенного расстояния?

Итак, требуется сделать графические кнопки, генерирующиеся автоматом.

Все работает, только внешний вид слегка не совпадает с нарисовнным в фотошопе дизайнером, а именно величина межбуквенного расстояния в фотошопе примерно 1 пиксель...

читаем мануал

array imagepstext ( resource image, string text, int font, int size, int foreground, int background, int x, int y [, int space, int tightness, float angle, int antialias_steps] )
....
space allows you to change the default value of a space in a font. This amount is added to the normal value and can also be negative.

tightness allows you to control the amount of white space between characters. This amount is added to the normal character width and can also be negative.
Пробуем ставить tightness > 0 - вывод ширифта немедленно "портиться", визуально - уменьшается кегль, портиться сглаживание...

Хорошо, идем другим путем, разбиваем строку для вывода пробелами через букву - и ставим ширину пробела > 0 - никакой вообще реакции на любые значения этого атрибута не наблюдалось...

Версия php 4.4.2, bundled GD.

-~{}~ 01.04.06 22:57:

Исходники посмотрел, вороде есть там обработка пробелов..., тупо прибавляется значение из параметра space если встречен пробел в тексте...

-~{}~ 01.04.06 22:58:

Похоже придется выводить посимвольно, добавляя пиксель между символами, но оно как-то некошерно, теряется кернинг :-(
 

vadim

Guest
alexhemp
Так что надо то?? Уменьшить расстояние или увеличить??Или вообще не получается им манипулировать??

Где то слышал, что там проблемы с другими чем английский чарсетами есть, то есть возможно надо использовать imagepsencodefont
 

alexhemp

Новичок
vadim

Я же написал - на параметр space не реагирует вообще.

Выводил английские буквы, хотя шрифт киррилический.
А где взять enc для windows-1251?
 

vadim

Guest
вот комментарий к функции: "The t1lib-5.0.0 source includes 5 different encoding files under Fonts/enc/. For my text with German umlauts, using IsoLatin1.enc did not work, but PSLatin1.enc did the trick."
Попробуйте, вдруг поможет

А кстати, зачем используют эти функции?? там шрифты лучше или что?? Я просто никога imageps* функции не использовал и не знаю, для чего они
 

alexhemp

Новичок
vadim

Encoding вроде помог, я нашел t1lib-cp1251.enc, в сборке t1lib для ALT Linux

Зачем нужны - для вывода векторных шрифтов формата Type 1

Как я понимаю они более "полиграфичны" изначально. У них есть таблицы кернинга и т.п.

Ну и мне для проекта шрифт достался в type1 формате, поэтому и вывожу чере соотв. ф-ции.

Отличия вижу явные, например можно хоть какие-то параметры выставить для шрифта, сглаживанием можно управлять, выбирая число переходов и указывая цвет фона (у меня фон градиентный, поэтому настройка сглаживания мне важна).

В общем возможностей больше чем для TrueType.
 
Сверху