diff --git a/coders/caption.c b/coders/caption.c
index 035572b..b7242cb 100644
--- a/coders/caption.c
+++ b/coders/caption.c
@@ -162,8 +162,9 @@
if (draw_info->gravity == UndefinedGravity)
(void) CloneString(&draw_info->geometry,geometry);
status=GetMultilineTypeMetrics(image,draw_info,&metrics);
- width=(unsigned long) (metrics.width+draw_info->stroke_width+0.5);
- height=(unsigned long) (metrics.height+draw_info->stroke_width+0.5);
+ width=(unsigned long) floor(metrics.width+draw_info->stroke_width+0.5);
+ height=(unsigned long) floor(metrics.height+draw_info->stroke_width+
+ 0.5);
if ((width > (image->columns+1)) || (height > (image->rows+1)))
break;
draw_info->pointsize*=2.0;
@@ -180,8 +181,9 @@
if (draw_info->gravity == UndefinedGravity)
(void) CloneString(&draw_info->geometry,geometry);
status=GetMultilineTypeMetrics(image,draw_info,&metrics);
- width=(unsigned long) (metrics.width+draw_info->stroke_width+0.5);
- height=(unsigned long) (metrics.height+draw_info->stroke_width+0.5);
+ width=(unsigned long) floor(metrics.width+draw_info->stroke_width+0.5);
+ height=(unsigned long) floor(metrics.height+draw_info->stroke_width+
+ 0.5);
if ((width > (image->columns+1)) || (height > (image->rows+1)))
break;
draw_info->pointsize++;