Bug #17924 Updated: String is missing when using functions like imageTTFtext
| From: | mathias dot grub at web dot de | Date: | Mon, 24 Jun 2002 07:54:30 +0000 |
| Subject: | Bug #17924 Updated: String is missing when using functions like imageTTFtext | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-11873@lists.php.net to get a copy of this message | ||
ID: 17924
Updated by: mathias.grub@web.de
Reported By: mathias.grub@web.de
Status: Closed
Bug Type: GD related
Operating System: Windows 2000 pro
PHP Version: 4.2.1
New Comment:
OK, it seems to be a bug, unsolved until today. One possibility to
handle it, is to run 2 php Versions
(This config tipp runs with Win/Apache and PHP >4.2 configuered as the
cgi AND not the module Version!):
Copy your php directory (in most cases the cgi-bin in the Apache dir)
to a new dir called php4 in the Apache dir.
OK, the php.ini File MUST NOT be in in the Windoews directory, it has
to be placed into the same dir of yyour php.exe, because we need two
different php.ini files.
Go on, edit the http.conf of the Apache like this:
Below an existing line like similar to this
ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/"
add the line
ScriptAlias /php4/ "C:/Apache/php4/"
(the path to the second php installation)
Then check all lines starting with
AddType application/x-httpd-php
if there is any .php4 extension to be found, delete it and add the
line
AddType application/x-httpd-php4 .php4
ATTENTION! If you're used to use .php4 files don't delete the above
extension, but use another new application type, such as x-http-phpx
.phpx
Last line to add is below:
Action application/x-httpd-php "/cgi-bin/php.exe"
add:
Action application/x-httpd-php4 "/php4/php.exe"
Attention, the path listed has to be the same as the one of the
Script-Alias.
Now edit both php.ini files. The difference is set to the extensions.
Wether the .php files has to use the php_gd2.dll, the php4 files should
use the php_gd.dll!!!
All done.
The last thing is that you cannot use both in one file, the new and
better gd2 functions like imagecopyresampled() and the text functions
like imageTTFtext() until this bug is solved.
But you can - with a little bit more amount of coding and files - use
the best of all.
Greetings,
Mathias
Previous Comments:
------------------------------------------------------------------------
[2002-06-23 06:27:22] mathias.grub@web.de
Sorry, the link from mfischer goes to 4.30 dev, not to 4.03!!!
------------------------------------------------------------------------
[2002-06-23 06:23:14] mathias.grub@web.de
thanks to mfischer, but the link doesn't change anything. Link goes to
PHP 4.03.
Difference in php_gd2.dll is now:
GD Version: bundled (2.0 compatible)
I've read that PHP is going to implement the graphic lib because of the
bugs and changes in GD.
But the problem is still their two lines below in the phpinfo() info:
FreeType Linkage: with freetype
If you use the gd1 extension, distributed together with the latest PHP
V. Freetype Linkage is set to "with TTF library". So this seems to be
the problem.
Until there is no satisfying solution (and gd1 ability to copyresized
with png or imagecreation with imagecreate() in comparison to
imagecreatefromtruecolor isn't satisfying) I'm going on, looking if I
can complie the latest gd 2.01 with the freetype 2 with "Freetype
Linkage" set to "TTF library" instead of "with freetype". Unfortunately
I have less knowledge in C/C++. So if there is anyone who can help me,
I'd be very pleased!!!!
Thanks for any help,
Mathias
------------------------------------------------------------------------
[2002-06-22 12:45:12] mfischer@php.net
Please try the recent snapshot from
http://snaps.php.net/win32/php4-win32-latest.zip
, I bet this is fixed.
Reopen if it's not.
------------------------------------------------------------------------
[2002-06-22 12:41:01] mathias.grub@web.de
When running PHP with GD > 2 and Freetype >= 2 all functions which use
ttf fonts (different from the built-in fonts (1-5)) don't draw the
requested text string on the image, eg:
imageLoadFont($pathtofont)or die('damn, cannot loadit');
results always in the 'or die()' part. In any case. Independent on if
you use doc-relative path, root-relative path or absolute path
(including drive letter/ IP).
The windows binary of PHP 4.06 comes with GD 1.64. And phpinfo() says
for 'FreeType Linkage' TrueType Library. If this is so, the above and
following problems don't appear and solved. But the PHP 4.10, 4.11,
4.12 Windows Distributions come with GD 2.0 or higher and obviously
with freetype V.1, because the function imageFTtext() creates an error:
Freetype 2 is required.
OK, lets install PHP 4.21 to get Freetype 2 support. Well done, the
error message when using imageTTFtext() or imageFTtext is gone, but the
wanted string is left blank.
Beside to the function above imageloadfont()or die(); which always ends
in the or die part. I guess the trio PHP 4.2/GD2/Freetype2 is not able
to write text with ttf fonts onto an image. Seems to be an (evil, bad)
bug.
Am I right?
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=17924&edit=1