ID: 13796
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Old Status: Feedback
Status: Open
Bug Type: GD related
Operating System: Linux
PHP Version: 4.0CVS-2001-10-23
New Comment:
Yes, GD is compiled with freetype 2. Please observe that everything works perfectly
when I edit main/php_config.h manually (removing HAVE_GD_STRINGTTF) before compiling.
It doesn't seem to matter what prefix I enter at --with-freetype-dir, configure
reports that it finds freetype 2 anyway. And it apparently works.
In my view there are two issues here:
1. Something is wrong in the autoconf stuff which makes both HAVE_GD_STRINGTTF and
HAVE_GD_STRINGFT be defined in main/php_config.h although there is no libttf (freetype
1) on the system and HAVE_GD_STRINGTTF should (as far as I understand) not be defined.
2. The if/else preprocessor stuff in ext/gd/gd.c around line 2765 is strange (or
wrong):
# if HAVE_GD_STRINGFT
error = gdImageStringFT(...);
# endif
# if HAVE_GD_STRINGTTF
error = gdImageStringTTF(...);
# endif
Shouldn't this be changed to:
#if HAVE_GD_STRINGFT
error = gdImageStringFT(...);
#elif HAVE_GD_STRINGTTF
error = gdImageStringTTF(...);
#endif
Or is there a hidden point in both gdImageStringFT() and gdImageStringTTF() being
called in sequence if both HAVE_GD_STRINGTTF and HAVE_GD_STRINGFT are defined?
Previous Comments:
------------------------------------------------------------------------
[2001-10-24 05:47:24] [EMAIL PROTECTED]
Sorry, I didn't notice that you're using invalid configure
option value here. --with-freetype-dir expects the
install prefix dir for freetype2.
# ./configure --help |grep freetype
--with-freetype-dir=DIR GD: Set the path to freetype2 install prefix.
Also, is your GD library compiled with freetype 2?
--Jani
------------------------------------------------------------------------
[2001-10-24 04:20:01] [EMAIL PROTECTED]
No, still the same problem:
$ grep HAVE_GD_STRING main/php_config.h
#define HAVE_GD_STRINGFT 1
/* #undef HAVE_GD_STRINGFTEX */
#define HAVE_GD_STRINGTTF 1
Gives the same error when compiled and tried with imagettf*().
------------------------------------------------------------------------
[2001-10-24 00:46:11] [EMAIL PROTECTED]
Could you check if this works in latest CVS now?
--Jani
------------------------------------------------------------------------
[2001-10-23 04:10:40] [EMAIL PROTECTED]
Configuring with freetype 2 and NOT freetype 1.* installed:
./configure \
--with-gd \
--with-freetype-dir=/usr/local/include/freetype2
results in both HAVE_GD_STRINGTTF and HAVE_GD_STRINGFT being defined in
main/php_config.h
This produces this error when trying to use the imagettf*() functions in GD:
"libgd was not built with TrueType font support"
Removing HAVE_GD_STRINGTTF from main/php_config.h before compiling fixes this issue.
But of course it should be permanently fixed in autoconf.
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=13796&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]