(PHP 4, PHP 5, PHP 7)

imageloadfontCarrega uma nova fonte


imageloadfont ( string $file ) : int

imageloadfont() carrega uma fonte bitmap do usuário e retorna um identificador.



O formato do arquivo de fonte é atualmente binário e dependente da arquitetura. Isto indica que você deverá gerar os arquivos de fonte no mesmo tipo de CPU no qual esta executando o PHP.

Formato do arquivo de fonte
Posição do byte Tipo de dados C Descrição
byte 0-3 int Número de caracteres na fonte
byte 4-7 int Valor do primeiro caractere na fonte (normalmente 32 para o espaço)
byte 8-11 int A largura em pixel de cada caractere
byte 12-15 int A altura em pixel de cada caractere
byte 16- char Matriz com os dados dos caracteres, um byte por pixel em cada caractere para um total de (caracteres*largura*altura).

Valor Retornado

The font identifier which is always bigger than 5 to avoid conflicts with built-in fonts or false on errors.


Exemplo #1 Usando imageloadfont

("Content-type: image/png");
$im imagecreatetruecolor(5020);
$black imagecolorallocate($im000);
$white imagecolorallocate($im255255255);
$font imageloadfont("04b.gdf");

Veja Também

add a note add a note

User Contributed Notes 4 notes

siker at norwinter dot com
17 years ago
Working under the assumption that the only 'architecture dependant' part of the font files is endianness, I wrote a quick and dirty Python script to convert between the two. It has only been tested on a single font on a single machine so don't bet your life on it working. All it does is swap the byte order of the first four ints.

#!/usr/bin/env python

f = open("myfont.gdf", "rb");
d = open("myconvertedfont.gdf", "wb");

for i in xrange(4):
        b = [ for j in xrange(4)];


I successfully used this script to convert anonymous.gdf, from one of the font links below, into something useable on Mac OS X.
alex at bestgames dot ro
17 years ago
Confirmation code generation for preventing automated registrations on a website.

Function arguments are:
$code - the code that you shall random generate
$location - relative location of the image that shall be generated
$fonts_dir - relative location for the GDF fonts directory

This function will create an image with the code given by you and will save it in the directory specified with the name formed by MD5 hash of the code.

You may insert as many font types in the fonts directory as you wish, with random names.

function generate_image($code, $location, $fonts_dir)
$image  = imagecreate(150, 60);          
imagecolorallocate($image, rand(0, 100), rand(100, 150), rand(150, 250));
$fonts = scandir($fonts_dir);
$max = count($fonts) - 2;
$width = 10;
     for (
$i = 0; $i <= strlen($code); $i++)
$textcolor = imagecolorallocate($image, 255, 255, 255);
$rand = rand(2, $max);
$font = imageloadfont($fonts_dir."/".$fonts[$rand]);
$fh = imagefontheight($font);
$fw = imagefontwidth($font);

imagechar($image, $font, $width, rand(10, 50 - $fh), $code[$i], $textcolor);    
$width = $width + $fw;
imagejpeg($image, $location."/".md5($code).".jpg", 100);

matthew at exanimo dot com
17 years ago
Remember - GD fonts aren't antialiased.  If you're planning on using a pre-existing (TrueType) font, you may want to consider using imagettftext() instead of phillip's function.
angryziber at mail dot com
22 years ago
You all should look at the GD image library site for information on extra fonts, it can be found at
To Top