Edit report at http://bugs.php.net/bug.php?id=49815&edit=1
ID: 49815 Comment by: php at zunderer dot de Reported by: christian dot roy at orange dot fr Summary: Problem with imagettfbbox Status: No Feedback Type: Bug Package: GD related Operating System: Linux PHP Version: 5.2.11 Assigned To: tabe Block user comment: N New Comment: It seems like this Bug is still present, both of the Testscripts provided by rasmus here and by ch+php in Bug #49600 produce correct results in PHP 5.0.5 and 5.2.5 but wrong results (x-coord of boundingbox shifted to left or right depending on Font and letter) on PHP 5.2.11 and 5.3.3 Previous Comments: ------------------------------------------------------------------------ [2010-01-22 01:00:00] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2010-01-14 05:00:49] t...@php.net s/#45600/#49600/ ------------------------------------------------------------------------ [2010-01-14 04:59:07] t...@php.net rasmus, your observation is essential to understand this bug. fix for bug#45600 also seems to work well. With PHP_5_2 or trunk: bbox returned rectangle for a : -1 * 2 * 38 * 2 * 38 * -42 * -1 * -42 bbox returned rectangle for k : -1 * -1 * 42 * -1 * 42 * -62 * -1 * -62 bbox returned rectangle for j : -1 * 17 * 23 * 17 * 23 * -57 * -1 * -57 ------------------------------------------------------------------------ [2009-12-23 17:49:24] christian dot roy at orange dot fr Hi, Did you progress on this issue whicj sticks me to PHP 4. Thanks for your answer. ------------------------------------------------------------------------ [2009-12-16 21:56:23] rasmus at mindplay dot dk To help you debug this issue, I created the following test-script: <?php define('SAMPLE', @$_SERVER['QUERY_STRING'] ? $_SERVER['QUERY_STRING'] : 'abc'); define('SAMPLE_TTF', dirname(__FILE__).'/georgiai.ttf'); define('SAMPLE_SIZE', 100); define('SAMPLE_PAD', 50); $m = imagettfbbox(SAMPLE_SIZE, 0, SAMPLE_TTF, SAMPLE); $width = $m[4]-$m[6] + 2*SAMPLE_PAD; $height = $m[1]-$m[7] + 2*SAMPLE_PAD; $baseline = abs($m[7]); $img = imagecreatetruecolor($width,$height); $red = imagecolorallocate($img,255,0,0); $white = imagecolorallocate($img,255,255,255); imagettftext( $img, SAMPLE_SIZE, # size 0, # angle SAMPLE_PAD, # x SAMPLE_PAD+$baseline, # y $white, SAMPLE_TTF, SAMPLE ); imagerectangle( $img, $m[6]+SAMPLE_PAD, $m[7]+SAMPLE_PAD+$baseline, # upper left x,y $m[2]+SAMPLE_PAD, $m[3]+SAMPLE_PAD+$baseline, # lower right x,y $red ); header('Content-type: image/png'); imagepng($img); ?> You will need to adjust the SAMPLE_TTF path to point to a valid truetype file - the one I'm using is Windows standard Georgia Italics. The output should be a white sample of text with a red border, and the border should grace the text, not overlap it. For reference, here's what it looks like on Linux (GOOD): http://mindplay.dk/temp/metrics/imagettf-good.png And here's what it looks like on Windows (BAD): http://mindplay.dk/temp/metrics/imagettf-bad.png I just tried the latest XAMPP build (1.7.2 beta 2) for Windows, and the bug is still present. If you run the script from a browser, you can add your own sample text by adding a query string, e.g.: http://localhost/sample.php?abcdefg Note that using a larger font-size (SAMPLE_SIZE) seems to increase the error. It seems that all the returned coordinates are off by a percentage, not by a fixed number of pixels. I hope this helps solve the problem... ------------------------------------------------------------------------ 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 http://bugs.php.net/bug.php?id=49815 -- Edit this bug report at http://bugs.php.net/bug.php?id=49815&edit=1