Forum Moderators: coopster

Message Too Old, No Replies

PHP and TTF

TTF path in php

         

daveginorge

2:25 pm on Jul 10, 2008 (gmt 0)

10+ Year Member



Hi All

FC9 PHP5 GD enabled and working on Apache 2

I am trying to get the function imagettftext() working.

My question. Where on the system should the ttf be available, I have tried the same directory as the script but seems not the place.

Help here would be fantastic.

Dave

eelixduppy

2:30 pm on Jul 10, 2008 (gmt 0)



Hello and welcome to WebmasterWorld!

Read here, taken from the documentation:


The path to the TrueType font you wish to use.

Depending on which version of the GD library PHP is using, when fontfile does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.

When using versions of the GD library lower than 2.0.18, a space character, rather than a semicolon, was used as the 'path separator' for different font files. Unintentional use of this feature will result in the warning message: Warning: Could not find/open font. For these affected versions, the only solution is moving the font to a path which does not contain spaces.

In many cases where a font resides in the same directory as the script using it the following trick will alleviate any include problems.


<?php
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));
The y-ordinate. This sets the position of the fonts baseline, not
the very bottom of the character.
// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>

[php.net...]

Hope this helps :)

daveginorge

4:44 pm on Jul 10, 2008 (gmt 0)

10+ Year Member



Thanks. It is doing what I expected now.

Just one more thing.
I did a search on the PHP manual for GDFONTPATH and it returned nothing.

say I wish to place the fonts into their own directory fonts.
The relative path to the font from the script would be: fonts/arial

How do I set the font path in putenv('GDFONTPATH=' . realpath('.'));

If I use $font = "fonts/arial" the script fails to find the font.

Thanks again.

daveginorge

4:50 pm on Jul 10, 2008 (gmt 0)

10+ Year Member



My mistake. I have found the error of my ways.

$font = "fonts/arial" does work when I update the files on the server.

Thanks again.