imagettftext не может открыть файл шрифта

Используя пример из php.net, я получаю предупреждение, и изображение не отображается правильно. Я предоставляю полный путь к файлу .ttf следующим образом: /var/www/public/myfont.ttf

 PHP Warning: imagettftext() [<a href='function.imagettftext'>function.imagettftext</a>]: Could not find/open font in <phpfile> 

Я использую пользовательский шрифт .ttf, найденный здесь . Я могу открыть файл в Ubuntu как допустимый файл шрифта. Я также пытался использовать другие шрифты с тем же результатом.

Я использую Ubuntu 10.04 LTS 32 бит, с установленными apache2, php5, freetype6 и php5-gd. Я также попытался создать файл и папку chmod 777 с файлом ttf с тем же результатом.

Как я могу получить пример работы с использованием файла шрифтов ttf?

* Изменить: код, который я использую:

 <?php // File is: /var/www/public/test.php // Apart from $font variable, it's copy-pasted from php.net // Set the content-type header('Content-Type: image/png'); // Create the image $im = imagecreatetruecolor(400, 30); // Create some colors $white = imagecolorallocate($im, 255, 255, 255); $grey = imagecolorallocate($im, 128, 128, 128); $black = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 399, 29, $white); // The text to draw $text = 'Testing...'; // Replace path by your own font path $font = '/var/www/public/UnmaskedBB.ttf'; // Add some shadow to the text imagettftext($im, 20, 0, 11, 21, $grey, $font, $text); // Add the text imagettftext($im, 20, 0, 10, 20, $black, $font, $text); // Using imagepng() results in clearer text compared with imagejpeg() imagepng($im); imagedestroy($im); ?> 

Вывод из phpinfo ();

 [gd] GD Support enabled GD Version 2.0 FreeType Support enabled FreeType Linkage with freetype FreeType Version 2.3.11 T1Lib Support enabled GIF Read Support enabled GIF Create Support enabled JPEG Support enabled libJPEG Version 6b PNG Support enabled libPNG Version 1.2.42 WBMP Support enabled 

Тестирование is_file и is_readable :

 $font = realpath('./').'/UnmaskedBB.ttf'; echo "Font: ".$font; // /var/www/public/UnmaskedBB.ttf echo "Is file? ".is_file($font); // 1 echo "Is readable? ".is_readable($font); // 1 

Вы можете попробовать вставить:

 putenv('GDFONTPATH=' . realpath('.')); 

перед первым imagettftext , просто чтобы убедиться, что это не проблема.

ОБНОВИТЬ

Если вы используете кеш шрифтов, например fc-cache , не забудьте обновить его, например:

 sudo fc-cache -f -v 

Попробуйте переместить файл ttf в тот же каталог, что и ваш php-файл, и изменить шрифт $ font

 $font = 'UnmaskedBB.ttf'; 

Обновление дистрибутива, включая все пакеты php, решило проблему