diff --git a/wand/mogrify.c b/wand/mogrify.c
index 026fecf..a53349f 100644
--- a/wand/mogrify.c
+++ b/wand/mogrify.c
@@ -217,7 +217,7 @@
elapsed_time=GetElapsedTime(timer);
user_time=GetUserTime(timer);
(void) fprintf(stderr,
- "Performance: %lui %.15gips %0.3fu %ld:%02ld.%03ld\n",
+ "Performance: %lui %gips %0.3fu %ld:%02ld.%03ld\n",
iterations,1.0*iterations/elapsed_time,user_time,(long)
(elapsed_time/60.0),(long) floor(fmod(elapsed_time,60.0)),
(long) (1000.0*(elapsed_time-floor(elapsed_time))));
@@ -3800,6 +3800,7 @@
"-page geometry size and location of an image canvas (setting)",
"-ping efficiently determine image attributes",
"-pointsize value font point size",
+ "-precision value set the maximum number of significant digits to be printed",
"-preview type image preview type",
"-quality value JPEG/MIFF/PNG compression level",
"-quiet suppress all warning messages",
@@ -5437,6 +5438,17 @@
ThrowMogrifyInvalidArgumentException(option,argv[i]);
break;
}
+ if (LocaleCompare("precision",option+1) == 0)
+ {
+ if (*option == '+')
+ break;
+ i++;
+ if (i == (long) argc)
+ ThrowMogrifyException(OptionError,"MissingArgument",option);
+ if (IsGeometry(argv[i]) == MagickFalse)
+ ThrowMogrifyInvalidArgumentException(option,argv[i]);
+ break;
+ }
if (LocaleCompare("print",option+1) == 0)
{
if (*option == '+')
@@ -7009,6 +7021,11 @@
image_info->pointsize=geometry_info.rho;
break;
}
+ if (LocaleCompare("precision",option+1) == 0)
+ {
+ SetMagickPrecision(StringToInteger(argv[i+1]));
+ break;
+ }
if (LocaleCompare("preview",option+1) == 0)
{
/*