Bug #75656 [Fbk->Opn]: imagettfbbox fails to find my font
Edit report at https://bugs.php.net/bug.php?id=75656&edit=1
ID: 75656
Updated by: cmb@php.net
Reported by: momchil at bojinov dot info
Summary: imagettfbbox fails to find my font
-Status: Feedback
+Status: Open
Type: Bug
Package: GD related
Operating System: Windows
PHP Version: 7.1.12
Block user comment: N
Private report: N
New Comment:
> Could one please test a latest snapshot?
I just tested with php-7.1-nts-windows-vc14-x64-r37e1d7c and
php-7.1-ts-windows-vc14-x64-r37e1d7c (renamed php.ini-development
to php.ini; uncommented extension_dir and extension=php_gd2.dll).
The imagettfbbox() call fails in both cases. However, the ZTS
version warns "Invalid font filename", and the NTS version "Could
not find/open font". The ZTS failure is obviously caused by a
failing open_basedir check[1] (even though open_basedir is empty);
the NTS failure, however, by fontFetch() failing[2] (which is not
a libfreetype issue).
Using the absolute path (C:/Windows/Fonts/arial.ttf) instead lets
the script succeed (both ZTS and NTS).
Anyhow, the ZTS failure has already been filed as
<https://bugs.php.net/64823>, so we should
concentrate on the NTS
issue here (even though the OP mentions it happened on TS).
[1] <https://github.com/php/php-src/blob/PHP-7.1.16/ext/gd/gd.c#L3917>
[2] <https://github.com/php/php-src/blob/PHP-7.1.16/ext/gd/libgd/gdft.c#L454>
Previous Comments:
------------------------------------------------------------------------
[2018-01-08 12:00:13] ab@php.net
I was checking this and 7.1.12 NTS reproduces it with Christoph's code. However the current 7.1
tree doesn't reproduce it - same freetype version. Something must have changed. Could one
please test a latest snapshot?
Thanks.
------------------------------------------------------------------------
[2018-01-07 18:15:37] cmb@php.net
Related To: Bug #75773
------------------------------------------------------------------------
[2017-12-19 15:49:09] cmb@php.net
Well, the most trivial reproduce script:
<?php
var_dump((bool) imagettfbbox(12, 0, 'arial', 'foo'));
This is supposed to print
bool(true)
but may print
bool(false)
I have not been able to reproduce bool(false) with a self-built
PHP, and debugging with the official php-7.1.12-nts-Win32-VC14-x64
shows erratic behavior, so I'm at a loss.
------------------------------------------------------------------------
[2017-12-19 11:38:31] cmb@php.net
Obviously, this is not a duplicate, since the error message is
different. And indeed, I can reproduce the broken behavior with
PHP 7.1.12 (nts), but not with PHP 7.1.11 (nts).
------------------------------------------------------------------------
[2017-12-19 08:42:40] matthew at bossprint dot com
I had same problem
PHP Warning: imagettftext(): Could not find/open font in C:...
Script has not changed since Nov 2016
Font is in same folder as script
Reverted to 7.1.11 and all is working again.
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=75656
--
Edit this bug report at https://bugs.php.net/bug.php?id=75656&edit=1
Thread (10 messages)