--- signwriter.module.orig 2008-01-30 12:55:51.000000000 +1100 +++ signwriter.module 2008-01-30 13:16:01.000000000 +1100 @@ -581,6 +581,13 @@ function signwriter_url($profile) { drupal_set_message(t("Unable to generate a signwriter image. It may be that your font was not found by the freetype library. Do you have GD and Freetype installed? Check the output of phpinfo().", 'error')); return ''; } + + // calculate the maximum possible hight of the text to properly vertically align multiple images + $biggest_box = imagettfbbox($size, $angle, $fontfile, "Hjgqp"); + foreach (array(1,3,5,7) as $i) { + $box[$i] = $biggest_box[$i]; + } + $textwidth = abs($box[2]) + abs($box[0]) + 5; // sometimes text is clipped. I don't know why, so I add 5px here... $textheight = abs($box[1]) + abs($box[7]); @@ -626,7 +633,7 @@ function signwriter_url($profile) { imagecolortransparent($im, $background); } - imagettftext($im, $size, $angle, $x, $y + abs($box[5]), $foreground, $fontfile, $text); + imagettftext($im, $size, $angle, $x + abs($box[0]), $y + abs($box[5]), $foreground, $fontfile, $text); $imagefunction = "image$imagetype"; $imagefunction($im, $file);