]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 18 Feb 2015 18:32:17 +0000 (18:32 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 18 Feb 2015 18:32:17 +0000 (18:32 +0000)
coders/caption.c
coders/label.c

index a5ccc5cdc6ffa1b882b60a6ec1296f09ca643b0a..94494b90d8fd82d820cd634888c1739f508ae2fa 100644 (file)
@@ -269,7 +269,10 @@ static Image *ReadCAPTIONImage(const ImageInfo *image_info,
   status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception);
   if ((draw_info->gravity != UndefinedGravity) &&
       (draw_info->direction != RightToLeftDirection))
-    image->page.x=(ssize_t) (metrics.bounds.x1-draw_info->stroke_width/2.0);
+    {
+      image->page.x=(ssize_t) (metrics.bounds.x1-draw_info->stroke_width/2.0);
+      image->page.y+=(ssize_t) (metrics.bounds.y2-metrics.ascent);
+    }
   else
     {
       (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g",
index e9986457bd91d20f138d6080567c2156b1370e01..be0ec0cc70a77ab8bfcd8ad73667b929840499f4 100644 (file)
@@ -214,20 +214,22 @@ static Image *ReadLABELImage(const ImageInfo *image_info,
   status=SetImageExtent(image,image->columns,image->rows,exception);
   if (status == MagickFalse)
     return(DestroyImageList(image));
-  if (draw_info->gravity == UndefinedGravity)
+  if ((draw_info->gravity != UndefinedGravity) &&
+      (draw_info->direction != RightToLeftDirection))
+    {
+      image->page.x=(ssize_t) (metrics.bounds.x1-draw_info->stroke_width/2.0);
+      image->page.y+=(ssize_t) (metrics.bounds.y2-metrics.ascent);
+    }
+  else
     {
       (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g",
         -metrics.bounds.x1+draw_info->stroke_width/2.0,metrics.bounds.y2+
         draw_info->stroke_width/2.0);
-      (void) CloneString(&draw_info->geometry,geometry);
-    }
-  if (draw_info->direction == RightToLeftDirection)
-    {
       if (draw_info->direction == RightToLeftDirection)
         (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g",
           image->columns-(metrics.bounds.x2+draw_info->stroke_width/2.0),
           metrics.bounds.y2+draw_info->stroke_width/2.0);
-      (void) CloneString(&draw_info->geometry,geometry);
+      draw_info->geometry=AcquireString(geometry);
     }
   if (SetImageBackgroundColor(image,exception) == MagickFalse)
     {