svn: /php/php-src/ branches/PHP_5_2/NEWS branches/PHP_5_2/ext/gd/libgd/gdft.c branches/PHP_5_2/ext/gd/tests/bug49600.phpt branches/PHP_5_3/NEWS
branches/PHP_5_3/ext/gd/libgd/gdft.c branches/PHP_5_3/ext/gd/tests/bug49600.phpt trunk/ext/gd/libgd/gdft.c trunk/ext/gd/tests/bug49600.phpt
| From: | Takeshi Abe | Date: | Fri, 08 Jan 2010 12:18:52 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_2/NEWS branches/PHP_5_2/ext/gd/libgd/gdft.c branches/PHP_5_2/ext/gd/tests/bug49600.phpt branches/PHP_5_3/NEWS branches/PHP_5_3/ext/gd/libgd/gdft.c branches/PHP_5_3/ext/gd/tests/bug49600.phpt trunk/ext/gd/libgd/gdft.c trunk/ext/gd/tests/bug49600.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-61499@lists.php.net to get a copy of this message | ||
tabe Fri, 08 Jan 2010 12:18:52 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=293268
Log:
Bug #49600 (imageTTFText text shifted right)
- fix difference of horizontal position between imagettftext() and imagettfbbox()
Bug: http://bugs.php.net/49600 (Assigned) imageTTFText text
shifted right
Changed paths:
U php/php-src/branches/PHP_5_2/NEWS
U php/php-src/branches/PHP_5_2/ext/gd/libgd/gdft.c
A php/php-src/branches/PHP_5_2/ext/gd/tests/bug49600.phpt
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/ext/gd/libgd/gdft.c
A php/php-src/branches/PHP_5_3/ext/gd/tests/bug49600.phpt
U php/php-src/trunk/ext/gd/libgd/gdft.c
A php/php-src/trunk/ext/gd/tests/bug49600.phpt
Modified: php/php-src/branches/PHP_5_2/NEWS
===================================================================
--- php/php-src/branches/PHP_5_2/NEWS 2010-01-08 12:07:52 UTC (rev 293267)
+++ php/php-src/branches/PHP_5_2/NEWS 2010-01-08 12:18:52 UTC (rev 293268)
@@ -135,6 +135,7 @@
- Fixed bug #49630 (imap_listscan() function missing). (Felipe)
- Fixed bug #49627 (error_log to specified file does not log time according to
date.timezone). (Dmitry)
+- Fixed bug #49600 (imageTTFText text shifted right). (Takeshi Abe)
- Fixed bug #49578 (make install-pear fails). (Hannes)
- Fixed bug #49536 (mb_detect_encoding() returns incorrect results when
mbstring.strict_mode is turned on). (Moriyoshi)
Modified: php/php-src/branches/PHP_5_2/ext/gd/libgd/gdft.c
===================================================================
--- php/php-src/branches/PHP_5_2/ext/gd/libgd/gdft.c 2010-01-08 12:07:52 UTC (rev 293267)
+++ php/php-src/branches/PHP_5_2/ext/gd/libgd/gdft.c 2010-01-08 12:18:52 UTC (rev 293268)
@@ -1101,7 +1101,7 @@
/* now, draw to our target surface */
bm = (FT_BitmapGlyph) image;
- gdft_draw_bitmap(tc_cache, im, fg, bm->bitmap, x + x1 + ((pen.x + 31) >> 6) +
bm->left, y + y1 + ((pen.y + 31) >> 6) - bm->top);
+ gdft_draw_bitmap(tc_cache, im, fg, bm->bitmap, x + x1 + ((pen.x + 31) >> 6), y + y1 +
((pen.y + 31) >> 6) - bm->top);
}
/* record current glyph index for kerning */
Added: php/php-src/branches/PHP_5_2/ext/gd/tests/bug49600.phpt
===================================================================
--- php/php-src/branches/PHP_5_2/ext/gd/tests/bug49600.phpt (rev 0)
+++ php/php-src/branches/PHP_5_2/ext/gd/tests/bug49600.phpt 2010-01-08 12:18:52 UTC (rev 293268)
@@ -0,0 +1,32 @@
+--TEST--
+Bug #49600 (imageTTFText text shifted right)
+--SKIPIF--
+<?php
+ if(!extension_loaded('gd')){ die('skip gd extension not available'); }
+ if(!function_exists('imagettftext')) die('skip imagettftext() not available');
+ if(!function_exists('imagettfbbox')) die('skip imagettfbbox() not available');
+?>
+--FILE--
+<?php
+$cwd = dirname(__FILE__);
+$font = "$cwd/Tuffy.ttf";
+$image = imagecreatetruecolor(50, 50);
+$color = imagecolorallocate($image, 255, 255, 255);
+foreach (array("E", "I", "P", "g", "i",
"q") as $c)
+{
+ $x = imagettftext($image, 32, 0, 0, 0, $color, $font, $c);
+ $y = imagettfbbox(32, 0, "$cwd/Tuffy.ttf", $c);
+ if ( abs($x[0] - $y[0]) > 1
+ || abs($x[2] - $y[2]) > 1
+ || abs($x[4] - $y[4]) > 1
+ || abs($x[6] - $y[6]) > 1 ) {
+ echo "FAILED: \n";
+ var_dump($x);
+ var_dump($y);
+ exit;
+ }
+}
+echo 'OK';
+?>
+--EXPECTF--
+OK
\ No newline at end of file
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2010-01-08 12:07:52 UTC (rev 293267)
+++ php/php-src/branches/PHP_5_3/NEWS 2010-01-08 12:18:52 UTC (rev 293268)
@@ -163,6 +163,7 @@
ini variables). (Jani)
- Fixed bug #49660 (libxml 2.7.3+ limits text nodes to 10MB). (Felipe)
- Fixed bug #49647 (DOMUserData does not exist). (Rob)
+- Fixed bug #49600 (imageTTFText text shifted right). (Takeshi Abe)
- Fixed bug #49521 (PDO fetchObject sets values before calling constructor).
(Pierrick)
- Fixed bug #49472 (Constants defined in Interfaces can be overridden).
Modified: php/php-src/branches/PHP_5_3/ext/gd/libgd/gdft.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/gd/libgd/gdft.c 2010-01-08 12:07:52 UTC (rev 293267)
+++ php/php-src/branches/PHP_5_3/ext/gd/libgd/gdft.c 2010-01-08 12:18:52 UTC (rev 293268)
@@ -1101,7 +1101,7 @@
/* now, draw to our target surface */
bm = (FT_BitmapGlyph) image;
- gdft_draw_bitmap(tc_cache, im, fg, bm->bitmap, x + x1 + ((pen.x + 31) >> 6) +
bm->left, y + y1 + ((pen.y + 31) >> 6) - bm->top);
+ gdft_draw_bitmap(tc_cache, im, fg, bm->bitmap, x + x1 + ((pen.x + 31) >> 6), y + y1 +
((pen.y + 31) >> 6) - bm->top);
}
/* record current glyph index for kerning */
Added: php/php-src/branches/PHP_5_3/ext/gd/tests/bug49600.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/gd/tests/bug49600.phpt (rev 0)
+++ php/php-src/branches/PHP_5_3/ext/gd/tests/bug49600.phpt 2010-01-08 12:18:52 UTC (rev 293268)
@@ -0,0 +1,32 @@
+--TEST--
+Bug #49600 (imageTTFText text shifted right)
+--SKIPIF--
+<?php
+ if(!extension_loaded('gd')){ die('skip gd extension not available'); }
+ if(!function_exists('imagettftext')) die('skip imagettftext() not available');
+ if(!function_exists('imagettfbbox')) die('skip imagettfbbox() not available');
+?>
+--FILE--
+<?php
+$cwd = dirname(__FILE__);
+$font = "$cwd/Tuffy.ttf";
+$image = imagecreatetruecolor(50, 50);
+$color = imagecolorallocate($image, 255, 255, 255);
+foreach (array("E", "I", "P", "g", "i",
"q") as $c)
+{
+ $x = imagettftext($image, 32, 0, 0, 0, $color, $font, $c);
+ $y = imagettfbbox(32, 0, "$cwd/Tuffy.ttf", $c);
+ if ( abs($x[0] - $y[0]) > 1
+ || abs($x[2] - $y[2]) > 1
+ || abs($x[4] - $y[4]) > 1
+ || abs($x[6] - $y[6]) > 1 ) {
+ echo "FAILED: \n";
+ var_dump($x);
+ var_dump($y);
+ exit;
+ }
+}
+echo 'OK';
+?>
+--EXPECTF--
+OK
\ No newline at end of file
Modified: php/php-src/trunk/ext/gd/libgd/gdft.c
===================================================================
--- php/php-src/trunk/ext/gd/libgd/gdft.c 2010-01-08 12:07:52 UTC (rev 293267)
+++ php/php-src/trunk/ext/gd/libgd/gdft.c 2010-01-08 12:18:52 UTC (rev 293268)
@@ -1101,7 +1101,7 @@
/* now, draw to our target surface */
bm = (FT_BitmapGlyph) image;
- gdft_draw_bitmap(tc_cache, im, fg, bm->bitmap, x + x1 + ((pen.x + 31) >> 6) +
bm->left, y + y1 + ((pen.y + 31) >> 6) - bm->top);
+ gdft_draw_bitmap(tc_cache, im, fg, bm->bitmap, x + x1 + ((pen.x + 31) >> 6), y + y1 +
((pen.y + 31) >> 6) - bm->top);
}
/* record current glyph index for kerning */
Added: php/php-src/trunk/ext/gd/tests/bug49600.phpt
===================================================================
--- php/php-src/trunk/ext/gd/tests/bug49600.phpt (rev 0)
+++ php/php-src/trunk/ext/gd/tests/bug49600.phpt 2010-01-08 12:18:52 UTC (rev 293268)
@@ -0,0 +1,32 @@
+--TEST--
+Bug #49600 (imageTTFText text shifted right)
+--SKIPIF--
+<?php
+ if(!extension_loaded('gd')){ die('skip gd extension not available'); }
+ if(!function_exists('imagettftext')) die('skip imagettftext() not available');
+ if(!function_exists('imagettfbbox')) die('skip imagettfbbox() not available');
+?>
+--FILE--
+<?php
+$cwd = dirname(__FILE__);
+$font = "$cwd/Tuffy.ttf";
+$image = imagecreatetruecolor(50, 50);
+$color = imagecolorallocate($image, 255, 255, 255);
+foreach (array("E", "I", "P", "g", "i",
"q") as $c)
+{
+ $x = imagettftext($image, 32, 0, 0, 0, $color, $font, $c);
+ $y = imagettfbbox(32, 0, "$cwd/Tuffy.ttf", $c);
+ if ( abs($x[0] - $y[0]) > 1
+ || abs($x[2] - $y[2]) > 1
+ || abs($x[4] - $y[4]) > 1
+ || abs($x[6] - $y[6]) > 1 ) {
+ echo "FAILED: \n";
+ var_dump($x);
+ var_dump($y);
+ exit;
+ }
+}
+echo 'OK';
+?>
+--EXPECTF--
+OK
\ No newline at end of file