Bug #17666 Updated: TTF-Fonts does not work
| From: | ulf at ecora dot de | Date: | Tue, 09 Jul 2002 16:47:56 +0000 |
| Subject: | Bug #17666 Updated: TTF-Fonts does not work | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-13627@lists.php.net to get a copy of this message | ||
ID: 17666
Updated by: ulf@ecora.de
Reported By: ulf@ecora.de
Status: Closed
Bug Type: GD related
Operating System: WinXP/Suse Linux
PHP Version: 4.2.0
New Comment:
I believe this bug is not fixed.
Script E:\try\test\test.php
Font E:\try\gd\font.ttf
putenv("GDFONTPATH=E:\try\gd\");
imagettftext($im, 20, 0, 10, 5, $grey, 'font.ttf', 'beep');
Apache.exe tried to open E:\try\gd\e:\try\test\font.ttf.ttf
putenv("GDFONTPATH=");
imagettftext($im, 20, 0, 10, 5, $grey, 'font.ttf', 'beep');
Apache.exe tried to open C:\winnt\fonts\e:\try\test\font.ttf.ttf
But my WinXP is in c:\XP. This hardcoded Path (C:\winnt\) is a bad
idea.
Previous Comments:
------------------------------------------------------------------------
[2002-06-22 12:43:22] mfischer@php.net
This bug has been fixed in CVS. You can grab a snapshot of the
CVS version at http://snaps.php.net/. In case this was a
documentation
problem, the fix will show up soon at http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites.
Thank you for the report, and for helping us make PHP better.
You have to set the GDFONTPATH environment variable before yuo call the
ttftext function, e.g.
putenv("GDFONTPATH=...");
but chances may be that it doesn't work with the gd version 4.2.0 is
linked against.
However this is fixed in
http://snaps.php.net/win32/php4-win32-latest.zip
, so closing.
------------------------------------------------------------------------
[2002-06-22 11:55:23] ulf@ecora.de
@mfischer:
I made a test with file_monitor on WinXP.
TestScript:
<?PHP
$im = imagecreate(420,315);
$grey = imagecolorallocate($im, 60, 60, 60);
imagettftext($im, 80, 0, 20, 50, $grey, 'font.ttf', 'test');
?>
Path of the Testscript: E:\try\test.php4
The php.exe tried to open the fontfile (E:\try\font.ttf) on the
following location:
17:44:45 php.exe FASTIO_QUERY_OPEN
E:\usr\share\fonts\truetype\E:\try\font.ttf.ttf
FAILURE
I have not so much experience, but everywhere in the GD- or in the
FreeType-code must be this fixed path:\usr\share\fonts\truetype\
------------------------------------------------------------------------
[2002-06-09 10:46:57] sniper@php.net
I just had same kind of problem on Linux. And the reason
was that the user my apache runs as did not have read
access to the fonts. So you might wanna check that too.
------------------------------------------------------------------------
[2002-06-09 09:13:17] rasmus@php.net
Try it without the .ttf extension.
------------------------------------------------------------------------
[2002-06-09 09:12:23] mfischer@php.net
To fix it for you, try to run the affecting php script through the cgi
from the command line and use strace to see which file it is really
trying to access, e.g.
strace -e trace=open php-cgi -f script.php
Try to avoid the imagejpeg() call so you don't clutter your terminal
with binary data.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/17666
--
Edit this bug report at http://bugs.php.net/?id=17666&edit=1