Edit report at http://bugs.php.net/bug.php?id=51207&edit=1

 ID:               51207
 Comment by:       
 Reported by:      penkert at yahoo dot com
 Summary:          imageTTFText: misalignment of characters which extend
                   beyond their left margin
 Status:           Open
 Type:             Bug
 Package:          GD related
 Operating System: Linux & Windows XP
 PHP Version:      5.2.13

 New Comment:

Looks like a duplicate of bug #50194 and bug #50958


Previous Comments:
------------------------------------------------------------------------
[2010-03-05 02:34:22] penkert at yahoo dot com

Sorry, I forgot to mention I'm talking about PHP's imageTTFText
function.



And also, while previewing and editing my report the part of my last
paragraph after the apostrophe got lost. So here it is again:



My little test script spells out the word "Information" in "Pirouette
Text". In this font the letter "f" (among others) is made up of a large
S-like curve extending well into its neighboring letters' "territories".
PHP 5.2.11 places the "f" correctly. PHP 5.2.13, on the other hand,
seems to use the character's leftmost extremum for positioning it next
to the previous character which is, of course, incorrect. There are a
few more minor differences between the two PHP version's results----all
in favor of 5.2.11.

------------------------------------------------------------------------
[2010-03-05 01:28:10] penkert at yahoo dot com

Description:
------------
The following bug is present in PHP 5.2.13 and was not present in PHP
5.2.11. (It was probably introduced while attempting to solve Bug
#49600.) My test bed is Windows XP/Apache 2.0, production site runs on
Linux/Apache 1.3, both are showing the same symptom.



We are using the commercial font "Pirouette Text" by Linotype which I
obviously cannot include in this report. What sets this font apart from
most other fonts is the fact that some characters extend horizontally
beyond their bounding boxes in terms of character placement.



My little test script spells out the word "Information" in "Pirouette
Text". In this font the letter "f" (among others) is made up of a large
S-like curve extending well into its neighboring letters

Test script:
---------------
$text = "Information";

$font = "pirouette.otf";

$size = 41;



$dim = imagettfbbox($size, 0, $font, $text);

$off_y = -$dim[7];

$off_x = -$dim[0];

$img_h = $dim[1]+$off_y+1;

$img_w = $dim[2]+$off_x+2;

unset($dim);



$img = imagecreatetruecolor($img_w, $img_h);

imagefilledrectangle($img, 0, 0, $img_w-1, $img_h-1, 0xFFFFFF);

imagettftext($img, $size, 0, $off_x, $off_y, 0x000000, $font, $text);

header("Content-Type: image/gif");

imagetruecolortopalette($img, false, 32);

imagegif($img);

imagedestroy($img);

Expected result:
----------------
This is what it should look like (rendered by PHP 5.2.11):

http://mitglieder.hrc1880.de/penkert/php5_2_11.gif

Actual result:
--------------
And this is how PHP 5.2.13 messes it up:

http://mitglieder.hrc1880.de/penkert/php5_2_13.gif


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=51207&edit=1

Reply via email to