diff --git a/magick/montage.c b/magick/montage.c
index 93c5d55..de5d11c 100644
--- a/magick/montage.c
+++ b/magick/montage.c
@@ -660,12 +660,12 @@
GetMontageGeometry(montage_info->tile,number_images,&x_offset,&y_offset,
&sans,&sans);
y_offset+=(ssize_t) title_offset;
- (void) FormatMagickString(montage->montage,MaxTextExtent,"%ldx%ld%+ld%+ld",
- (long) (extract_info.width+(extract_info.x+border_width)*2),
- (long) (extract_info.height+(extract_info.y+border_width)*2+
- (long) ((metrics.ascent-metrics.descent+4)*number_lines+
- (montage_info->shadow != MagickFalse ? 4 : 0))),(long) x_offset,
- (long) y_offset);
+ (void) FormatMagickString(montage->montage,MaxTextExtent,
+ "%.20gx%.20g%+.20gx%+.20g",(double) (extract_info.width+
+ (extract_info.x+border_width)*2),(double) (extract_info.height+
+ (extract_info.y+border_width)*2+(double) ((metrics.ascent-
+ metrics.descent+4)*number_lines+(montage_info->shadow != MagickFalse ? 4 :
+ 0))),(double) x_offset,(double) y_offset);
*montage->directory='\0';
tile=0;
while (tile < MagickMin((ssize_t) tiles_per_page,(ssize_t) number_images))
@@ -697,9 +697,9 @@
clone_info->gravity=CenterGravity;
clone_info->pointsize*=2.0;
(void) GetTypeMetrics(image_list[0],clone_info,&metrics);
- (void) FormatMagickString(geometry,MaxTextExtent,"%lux%lu%+ld%+ld",
- (unsigned long) montage->columns,(unsigned long) (metrics.ascent-
- metrics.descent),0L,(long) extract_info.y+4);
+ (void) FormatMagickString(geometry,MaxTextExtent,
+ "%.20gx%.20g%+.20gx%+.20g",(double) montage->columns,(double)
+ (metrics.ascent-metrics.descent),0.0,(double) extract_info.y+4);
(void) CloneString(&clone_info->geometry,geometry);
(void) CloneString(&clone_info->text,title);
(void) AnnotateImage(montage,clone_info);
@@ -766,8 +766,8 @@
tile_image->gravity=montage_info->gravity;
if (image->gravity != UndefinedGravity)
tile_image->gravity=image->gravity;
- (void) FormatMagickString(tile_geometry,MaxTextExtent,"%lux%lu+0+0",
- (unsigned long) image->columns,(unsigned long) image->rows);
+ (void) FormatMagickString(tile_geometry,MaxTextExtent,"%.20gx%.20g+0+0",
+ (double) image->columns,(double) image->rows);
flags=ParseGravityGeometry(tile_image,tile_geometry,&geometry,exception);
x=(ssize_t) (geometry.x+border_width);
y=(ssize_t) (geometry.y+border_width);
@@ -834,13 +834,13 @@
Annotate composite tile with label.
*/
(void) FormatMagickString(geometry,MaxTextExtent,
- "%lux%lu%+ld%+ld",(unsigned long) ((montage_info->frame ?
- image->columns : width)-2*border_width),(unsigned long)
+ "%.20gx%.20g%+.20gx%+.20g",(double) ((montage_info->frame ?
+ image->columns : width)-2*border_width),(double)
(metrics.ascent-metrics.descent+4)*MultilineCensus(value),
- (long) (x_offset+border_width),(long) ((montage_info->frame ?
- y_offset+height+border_width+4 : y_offset+extract_info.height+
- border_width+(montage_info->shadow != MagickFalse ? 4 : 0))+
- bevel_width));
+ (double) (x_offset+border_width),(double)
+ ((montage_info->frame ? y_offset+height+border_width+4 :
+ y_offset+extract_info.height+border_width+
+ (montage_info->shadow != MagickFalse ? 4 : 0))+bevel_width));
(void) CloneString(&draw_info->geometry,geometry);
(void) CloneString(&draw_info->text,value);
(void) AnnotateImage(montage,draw_info);