From: ch+php at 1111-internet dot com Operating system: FreeBSD 7.0 PHP version: 5.2.11 PHP Bug Type: GD related Bug description: imageTTFText text shifted right 5.2.10 & 5.2.11
Description: ------------ imageTTFText appears to have an issue with horizontal positioning of characters. This was introduced with 5.2.10 (which also had a vertical positioning issue cited in Bug #48801) and continues with 5.2.11 (where the vertical issue appears to have been corrected). Nothing special in my config, but here it is just in case: './configure' '--prefix=/usr/local/php5' '--with-apxs2=/usr/local/apache2/bin/apxs' '--enable-track-vars' '--with-mysql=/usr/local/mysql' '--with-gd' '--with-zlib-dir=/usr/local' '--enable-zip' '--with-freetype-dir=/usr/local' '--with-jpeg-dir=/usr/local' '--with-png-dir=/usr/local' '--with-tiff-dir=/usr/local' '--with-mcrypt=/usr/local' '--with-pdflib=/usr/local' '--with-curl=/usr/local' '--enable-ftp' '--without-iconv' '--without-pear' Reproduce code: --------------- $image=imagecreatetruecolor(401, 51); imagefill($image, 0, 0, imagecolorallocate($image, 255, 255, 255)); list($fontcolor, $outlinecolor, $gridcolor)=array(imagecolorallocate($image, 0, 0, 0), imagecolorallocatealpha($image, 255, 0, 0, 64), imagecolorallocate($image, 222, 255, 255)); for ($x=0; $x<=imagesx($image)-1; $x+=5) {imageline($image, $x, 0, $x, imagesy($image)-1, $gridcolor);} for ($y=0; $y<=imagesy($image)-1; $y+=5) {imageline($image, 0, $y, imagesx($image)-1, $y, $gridcolor);} foreach (array(array("face"=>"arial", "text"=>"E"), array("face"=>"arial", "text"=>"I"), array("face"=>"arial", "text"=>"P"), array("face"=>"arial", "text"=>"g"), array("face"=>"arial", "text"=>"i"), array("face"=>"arial", "text"=>"q"), array("face"=>"wingdng2", "text"=>""), array("face"=>"webdings", "text"=>"")) as $index=>$array) { list($xl, $yb, $xr, $yb2, $xr2, $yt)=imagettftext($image, 32, 0, 10+$index*50, 36, $fontcolor, "/www/fonts/". $array["face"]. ".ttf", $array["text"]); imagerectangle($image, $xl, $yt, $xr, $yb, $outlinecolor); } header("Content-Type: image/png"); imagepng($image); imagedestroy($image); exit; Expected result: ---------------- characters should fit neatly inside the rectangle outlines drawn using the return values from imagettftext, and should left align to the $x parameter of imagettftext Actual result: -------------- http://www.1111-internet.com/images/php5_2_11_gdft_hpos.png outline rectangles appear to be correct sizes and positions, but characters are often shifted right -- Edit bug report at http://bugs.php.net/?id=49600&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=49600&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=49600&r=trysnapshot53 Try a snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=49600&r=trysnapshot60 Fixed in SVN: http://bugs.php.net/fix.php?id=49600&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=49600&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=49600&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=49600&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=49600&r=needscript Try newer version: http://bugs.php.net/fix.php?id=49600&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=49600&r=support Expected behavior: http://bugs.php.net/fix.php?id=49600&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=49600&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=49600&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=49600&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=49600&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=49600&r=dst IIS Stability: http://bugs.php.net/fix.php?id=49600&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=49600&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=49600&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=49600&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=49600&r=mysqlcfg