Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Проблема с TTF в GD

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Apart

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Поставил на новом ноуте ActivePerl, там предустановлены GD 2.41 (а также GD-Graph 1.44, GD-Text 0.86). Обычные фонты (Giant, Large, MediumBold, Small, Tiny) нормально выводят текст. Проблема с так называемыми True Type фонтами (Arial, Times, Verdana и пр.) - вместо текста не выводится ничего.
 
http://ooopps.sourceforge.net/cgi-bin/archive.pl/pub/modules/_related_/working-GD/ActivePerl-GD-problem-explained.txt - тут и еще в нескольких форумах рекомендуется скачать патч http://ooopps.sourceforge.net/cgi-bin/archive.pl/pub/modules/_related_/working-GD/patch_GD.zip Взять оттуда файлы GD.dll, GD.exp, and GD.lib и заменить ими такие же, что хранятся в lib/auto/GD
 
Проделал эту операцию, не помогло, просто Perl стал глючить.  
 
 
Как решить данную проблему?

Всего записей: 409 | Зарегистр. 10-05-2005 | Отправлено: 22:20 27-11-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Apart
а тут, вроде бы, о проблемах ничего не сказано..
http://linuxgazette.net/issue81/padala.html
речь о виндовом перле?
пример кода можно?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:08 04-12-2008 | Исправлено: Cheery, 21:40 04-12-2008
Apart

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Perl виндовый, ессно. GD я использую давно и очень хорошо получается. Правда, на компе стоит более старая его версия. И сейчас просто нужно, чтобы он заработал на новом ноуте (Vista). Я еще думаю, что может на шрифт нужно какие-то права выставить? Т.е. на хостинге я знаю, что надо. Но дома я с этим не разобрался, что там с ними.
 
Пример кода
 
#!/usr/local/bin/perl
 
use GD;
 
$im = new GD::Image(200, 100);
 
$white = $im->colorAllocate(255,255,255);
$red = $im->colorAllocate(255,0,0);
 
$im->transparent($white);
 
$font = "verdana.ttf";
$im->stringFT($red, $font, 15, 0, 10, 10, "A TTF font");
 
$im->string(gdLargeFont, 10, 20, "GD Large font", $red);
 
open(PICTURE, ">pic.png") or die("Cannot open file for writing");
binmode PICTURE;
 
print PICTURE $im->png;
close PICTURE;
 
 
 
PS: пусть к шрифту выставлял разный: и /название шрифта, и ./название шрифта, и c:\название шрифта - не помогло.

Всего записей: 409 | Зарегистр. 10-05-2005 | Отправлено: 01:09 07-12-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Apart

Цитата:
ppm install http://cpan.uwinnipeg.ca/PPMPackages/10xx/GD.ppd
Downloading GD-2.35...done
Unpacking GD-2.35...done
Generating HTML for GD-2.35...done
Updating files in site area...done
  20 files installed

после чего
 

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:44 07-12-2008
Apart

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня 2.41  
 
А если  
$font = "verdana.ttf";  
поменять на
my $font = GD::Font->load('./verdana.ttf') or die "Can't load font";
то что получается?
 
У меня вообще пишет "Out of memory!"

Всего записей: 409 | Зарегистр. 10-05-2005 | Отправлено: 19:24 07-12-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
У меня вообще пишет "Out of memory!"  

аналогично.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:52 08-12-2008
Apart

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пускаем:
 
===
#!/usr/local/bin/perl -w
 
use GD;
use GD::Text;
 
my $gd_text = GD::Text->new() or die GD::Text::error();
$gd_text->set_font('funny.ttf', 12) or die $gd_text->error;
===
 
Получаем:
libgd was nout built with TrueType font support
 
 
Контрацептивы из ActiveState распространяют такой дистрибутив Перла.. Молодцы, нечего сказать.
 
 
Как теперь лучше сделать, чтобы шрифты заработали: найти нужные файлы и сделать подмену (см первое сообщение) или удалить GD и заново все переустанавливать?

Всего записей: 409 | Зарегистр. 10-05-2005 | Отправлено: 10:59 09-12-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Apart

Цитата:
или удалить GD и заново все переустанавливать?

лучше так.. думаю

Цитата:
Installing package ...  
  Downloading GDTextUtil-0.86 ... done
  Unpacking GDTextUtil-0.86 ... done
  Generating HTML for GDTextUtil-0.86 ... done
  Updating files in site area ... done
Installing package done

и ошибки нет..

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:33 09-12-2008
Apart

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ppm install GDTextUtil
 
ppm.bat install failed: All available areas are read only
Run 'ppm help area' to learn how to set up private areas
 
В help area рекомендуется это делать изменив параметры PERL5LIB
Но у меня perl -V:PERL5LIB выдает PERL5LIB="UNKNOWN"
И если просто perl -V смотреть, то такого параметра нет.
 

Всего записей: 409 | Зарегистр. 10-05-2005 | Отправлено: 06:44 10-12-2008
Apart

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery, а ты весь GD переставлял или как?
 
Я просто сделал PPM install GDTextUtil (дальше то же самое, что ты процитировал)
 
Но оишбка у меня не исчезла и шрифты так что-то и не заработали (
 
 
 
 
Добавлено:
Еще может быть проблема в том, что у меня две папки для модулей
 
/lib
и
/site/lib
 
Ну, так вот в /lib/ это дело не стало инсталлироваться, а в /site/lib/ проинсталлировалось. И похоже, что происходит дублирование, так как в /lib/ и в /site/lib/ я вижу идентичные по названию файлы, но с разными датами инсталляции (версии файлов при этом одинаковые).

Всего записей: 409 | Зарегистр. 10-05-2005 | Отправлено: 17:41 13-12-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Apart

Цитата:
а ты весь GD переставлял или как?

у меня его не было.. и поставил как в 4 посте.


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:21 13-12-2008
Apart

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема решилась путем установки:
ppm install http://www.bribes.org/perl/ppm/GD.ppd
 
Просто вспомнил, что, когда в прошлый раз парился, то качал с Виннипега - http://cpan.uwinnipeg.ca/dist/GD - здесь следует выбрать нужную версию GD
 
Пишу для тех, кто еще с такой же проблемой столкнется.
 
 
Единственная вещь: до установки не смог стереть уже установленную GD, писала мне, что Perl ее юзает или еще что-то типа этого. В итоге у меня сейчас две GD стоит: одна на 559Кб, другая (новая) на 1052Кб. Стоит ли стирать первую и получится ли это сделать не знаю) Такие дела.
 
 
PS: сколько сайтов перелазил, сколько сообщений перечитал на всяких форумах, что западных, что наших - ни одно не помогло. это же пипец. тоже мне программеры.

Всего записей: 409 | Зарегистр. 10-05-2005 | Отправлено: 08:11 14-12-2008
Nariel

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
тока на эту тему наткнулся. У меня такая же ерунда была. На компе все работает, на ноуте не работает, при чем ошибок никаких нету просто не выводит текст на картинку. На ноуте была новее версия GD, чем на компе, попробовал обновил версию на компе, и все равно на компе работает на ноуте нет. Но заметил такую фишку, на ноуте GD стоит в каталоге lib, а на компе в каталоге site. На ноуте установил GD c http://www.bribes.org/perl/ppm/GD.ppd ( адрес взял с предидущего поста. Спасибо ). он встал в каталог site после этого стало работать и на ноуте.

Всего записей: 14 | Зарегистр. 29-01-2006 | Отправлено: 22:50 14-03-2010
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Проблема с TTF в GD


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru