--- 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);
