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

Reply via email to