--- panda-0.5.4-orig/text.c 2007-02-09 15:12:39.000000000 +1000
+++ panda-0.5.4/text.c 2004-04-13 10:46:24.000000000 +1000
@@ -265,7 +265,8 @@
   // currently set, then the font has changed and we will need to define the
   // font here
   if ((textobj->currentSetFont == NULL) ||
-      (strcmp (output->currentFont, textobj->currentSetFont) != 0))
+      (strcmp (output->currentFont, textobj->currentSetFont) != 0) ||
+	textobj->currentFontSize != output->currentFontSize)
     {
       // Set the font that we want to use
       textobj->layoutstream =
@@ -284,6 +285,7 @@
       textobj->currentSetFont =
 	(char *) panda_xmalloc (sizeof (char) *
 				(strlen (output->currentFont) + 1));
+      textobj->currentFontSize = output->currentFontSize;
 
       // Store the name so we know what is happening
       strcpy (textobj->currentSetFont, output->currentFont);
--- panda-0.5.4-orig/panda/objects.h 2004-04-13 10:46:26.000000000 +1000
+++ panda-0.5.4/panda/objects.h 2007-02-09 15:28:52.000000000 +1000
@@ -38,6 +38,7 @@
     int insidegraphicsblock;
     unsigned long byteOffset;
     char *currentSetFont;
+    int currentFontSize;
 
     char *layoutstream, *binarystream;
     char *layoutstreamFilename, *binarystreamFilename;
