(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Mon, 13 May 2013 11:21:49 +0000 (11:21 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Mon, 13 May 2013 11:21:49 +0000 (11:21 +0000)
coders/label.c

index b520282ac02a03d45b7c705da4065341ec8ea7ac..13ec9e0450a85a31ff5acda8ec8fa027ac0e49a8 100644 (file)
@@ -137,62 +137,63 @@ static Image *ReadLABELImage(const ImageInfo *image_info,
       image->columns=(size_t) (metrics.width+draw_info->stroke_width+0.5);
       image->rows=(size_t) floor(metrics.height+draw_info->stroke_width+0.5);
     }
-  if (((image->columns == 0) || (image->rows == 0)) ||
-      (fabs(image_info->pointsize) < MagickEpsilon))
-    {
-      double
-        high,
-        low;
-
-      /*
-        Auto fit text into bounding box.
-      */
-      for ( ; ; draw_info->pointsize*=2.0)
+  else
+    if (((image->columns == 0) || (image->rows == 0)) ||
+        (fabs(image_info->pointsize) < MagickEpsilon))
       {
-        (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g",
-          -metrics.bounds.x1,metrics.ascent);
-        if (draw_info->gravity == UndefinedGravity)
-          (void) CloneString(&draw_info->geometry,geometry);
-        status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception);
-        width=(size_t) floor(metrics.width+draw_info->stroke_width+0.5);
-        height=(size_t) floor(metrics.height+draw_info->stroke_width+0.5);
-        if ((image->columns != 0) && (image->rows != 0))
-          {
-            if ((width > image->columns) && (height > image->rows))
+        double
+          high,
+          low;
+
+        /*
+          Auto fit text into bounding box.
+        */
+        for ( ; ; draw_info->pointsize*=2.0)
+        {
+          (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g",
+            -metrics.bounds.x1,metrics.ascent);
+          if (draw_info->gravity == UndefinedGravity)
+            (void) CloneString(&draw_info->geometry,geometry);
+          status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception);
+          width=(size_t) floor(metrics.width+draw_info->stroke_width+0.5);
+          height=(size_t) floor(metrics.height+draw_info->stroke_width+0.5);
+          if ((image->columns != 0) && (image->rows != 0))
+            {
+              if ((width > image->columns) && (height > image->rows))
+                break;
+            }
+          else
+            if (((image->columns != 0) && (width > image->columns)) ||
+                ((image->rows != 0) && (height > image->rows)))
               break;
-          }
-        else
-          if (((image->columns != 0) && (width > image->columns)) ||
-              ((image->rows != 0) && (height > image->rows)))
-            break;
-      }
-      high=draw_info->pointsize;
-      for (low=1.0; (high-low) > 1.0; )
-      {
-        draw_info->pointsize=(low+high)/2.0;
-        (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g",
-          -metrics.bounds.x1,metrics.ascent);
-        if (draw_info->gravity == UndefinedGravity)
-          (void) CloneString(&draw_info->geometry,geometry);
-        status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception);
-        width=(size_t) floor(metrics.width+draw_info->stroke_width+0.5);
-        height=(size_t) floor(metrics.height+draw_info->stroke_width+0.5);
-        if ((image->columns != 0) && (image->rows != 0))
-          {
-            if ((width <= image->columns) && (height <= image->rows))
+        }
+        high=draw_info->pointsize;
+        for (low=1.0; (high-low) > 1.0; )
+        {
+          draw_info->pointsize=(low+high)/2.0;
+          (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g",
+            -metrics.bounds.x1,metrics.ascent);
+          if (draw_info->gravity == UndefinedGravity)
+            (void) CloneString(&draw_info->geometry,geometry);
+          status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception);
+          width=(size_t) floor(metrics.width+draw_info->stroke_width+0.5);
+          height=(size_t) floor(metrics.height+draw_info->stroke_width+0.5);
+          if ((image->columns != 0) && (image->rows != 0))
+            {
+              if ((width <= image->columns) && (height <= image->rows))
+                low=draw_info->pointsize+1.0;
+              else
+                high=draw_info->pointsize-1.0;
+            }
+          else
+            if (((image->columns != 0) && (width < image->columns)) ||
+                ((image->rows != 0) && (height < image->rows)))
               low=draw_info->pointsize+1.0;
             else
               high=draw_info->pointsize-1.0;
-          }
-        else
-          if (((image->columns != 0) && (width < image->columns)) ||
-              ((image->rows != 0) && (height < image->rows)))
-            low=draw_info->pointsize+1.0;
-          else
-            high=draw_info->pointsize-1.0;
+        }
+        draw_info->pointsize=(low+high)/2.0-1.0;
       }
-      draw_info->pointsize=(low+high)/2.0-1.0;
-    }
   status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception);
   if (status == MagickFalse)
     {