]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 22 Sep 2010 19:17:27 +0000 (19:17 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 22 Sep 2010 19:17:27 +0000 (19:17 +0000)
ChangeLog
coders/caption.c
magick/annotate.c
magick/fx.c

index 7e3f43df8b31979518287ebe92673a7d60f7d004..dd68a290d8a2fca4c947b650ce2c4d70e8edd6f2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-09-12  6.6.4-6 Cristy  <quetzlzacatenango@image...>
+  * Do not break words if caption size is absolute (reference
+    http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=17123).
+
 2010-09-20  6.6.4-5 Nicolas Robidoux <nicolas.robidoux@gmail...>
   * Modified "magick/resize.c" so that MagickPIL is a MagickRealType number.
     Some computations were needlessly done in long double precision because
index 3100cf7dc44d18edabe4f8ae4b0431abaeaf3107..ff89b775c2c29110c0bba03d89fdd99e857a19f3 100644 (file)
@@ -154,7 +154,7 @@ static Image *ReadCAPTIONImage(const ImageInfo *image_info,
       for ( ; ; )
       {
         text=AcquireString(caption);
-        i=FormatMagickCaption(image,draw_info,&metrics,&text);
+        i=FormatMagickCaption(image,draw_info,MagickFalse,&metrics,&text);
         (void) CloneString(&draw_info->text,text);
         text=DestroyString(text);
         (void) FormatMagickString(geometry,MaxTextExtent,"%+g%+g",
@@ -173,7 +173,7 @@ static Image *ReadCAPTIONImage(const ImageInfo *image_info,
       for ( ; ; )
       {
         text=AcquireString(caption);
-        i=FormatMagickCaption(image,draw_info,&metrics,&text);
+        i=FormatMagickCaption(image,draw_info,MagickFalse,&metrics,&text);
         (void) CloneString(&draw_info->text,text);
         text=DestroyString(text);
         (void) FormatMagickString(geometry,MaxTextExtent,"%+g%+g",
@@ -190,7 +190,7 @@ static Image *ReadCAPTIONImage(const ImageInfo *image_info,
       }
       draw_info->pointsize--;
     }
-  i=FormatMagickCaption(image,draw_info,&metrics,&caption);
+  i=FormatMagickCaption(image,draw_info,MagickTrue,&metrics,&caption);
   if (image->rows == 0)
     image->rows=(size_t) ((i+1)*(metrics.ascent-metrics.descent+
       draw_info->stroke_width)+0.5);
index 07251c7d155420d42aed4c59be4af40c5ab91971..8ce9becad7fc3e2c1a4e9dc2cacbb65ec3b52e45 100644 (file)
@@ -461,21 +461,23 @@ MagickExport MagickBooleanType AnnotateImage(Image *image,
 %  The format of the FormatMagickCaption method is:
 %
 %      ssize_t FormatMagickCaption(Image *image,DrawInfo *draw_info,
-%        TypeMetric *metrics,char **caption)
+%        const MagickBooleanType split,TypeMetric *metrics,char **caption)
 %
 %  A description of each parameter follows.
 %
 %    o image:  The image.
 %
-%    o caption: the caption.
-%
 %    o draw_info: the draw info.
 %
+%    o split: when no convenient line breaks-- insert newline.
+%
 %    o metrics: Return the font metrics in this structure.
 %
+%    o caption: the caption.
+%
 */
 MagickExport ssize_t FormatMagickCaption(Image *image,DrawInfo *draw_info,
-  TypeMetric *metrics,char **caption)
+  const MagickBooleanType split,TypeMetric *metrics,char **caption)
 {
   MagickBooleanType
     status;
@@ -520,25 +522,26 @@ MagickExport ssize_t FormatMagickCaption(Image *image,DrawInfo *draw_info,
         p=s;
       }
     else
-      {
-        char
-          *target;
+      if (split != MagickFalse)
+        {
+          char
+            *target;
 
-        ssize_t
-          n;
+          ssize_t
+            n;
 
-        /*
-          No convenient line breaks-- insert newline.
-        */
-        target=AcquireString(*caption);
-        n=p-(*caption);
-        CopyMagickString(target,*caption,n+1);
-        ConcatenateMagickString(target,"\n",strlen(*caption)+1);
-        ConcatenateMagickString(target,p,strlen(*caption)+2);
-        (void) DestroyString(*caption);
-        *caption=target;
-        p=(*caption)+n;
-      }
+          /*
+            No convenient line breaks-- insert newline.
+          */
+          target=AcquireString(*caption);
+          n=p-(*caption);
+          CopyMagickString(target,*caption,n+1);
+          ConcatenateMagickString(target,"\n",strlen(*caption)+1);
+          ConcatenateMagickString(target,p,strlen(*caption)+2);
+          (void) DestroyString(*caption);
+          *caption=target;
+          p=(*caption)+n;
+        }
     s=(char *) NULL;
     q=draw_info->text;
   }
index 8009e32242af4e4a0208f132f7ef214ef2cf677c..a47060656df339089c5ff043a720d81ab816a1fc 100644 (file)
@@ -3833,7 +3833,8 @@ MagickExport Image *PolaroidImage(const Image *image,const DrawInfo *draw_info,
       caption=InterpretImageProperties((ImageInfo *) NULL,(Image *) image,
         value);
       (void) CloneString(&annotate_info->text,caption);
-      count=FormatMagickCaption(caption_image,annotate_info,&metrics,&caption);
+      count=FormatMagickCaption(caption_image,annotate_info,MagickTrue,&metrics,
+        &caption);
       status=SetImageExtent(caption_image,image->columns,(size_t)
         ((count+1)*(metrics.ascent-metrics.descent)+0.5));
       if (status == MagickFalse)