a function that is faster than ImageFontWidth for certain uses:
<?
function ImageFontWidthByFilename($filename)
{
$handle = @fopen($font_locations[$i],"r");
$c_wid = @fread($handle,11);
@fclose($handle);
return(ord($c_wid{8})+ord($c_wid{9})+ord($c_wid{10})+ord($c_wid{11}));
}
echo "./font.gdf is ".ImageFontWidthByFilename("./font.gdf")." pixels wide";
?>
reading the widths of 5 different fonts, 500 times, ImageFontWidth took an average of ~0.004 seconds per 5 reads, my function takes ~0.0003 per 5.
The reason is that ImageFontWidth requires a call to ImageLoadFont, but if for some reason you won't need to load the font, just find out the width, this is the function for you :-)
more such wonders at http://puremango.co.uk