]> granicus.if.org Git - imagemagick/commitdiff
CommandOptionFlags settings (SimpleOperationOptionFlags)
authoranthony <anthony@git.imagemagick.org>
Mon, 2 May 2011 03:34:24 +0000 (03:34 +0000)
committeranthony <anthony@git.imagemagick.org>
Mon, 2 May 2011 03:34:24 +0000 (03:34 +0000)
ChangeLog
magick/option.c
magick/option.h

index 1efa59db876e6904f28fc5ecb0fbeee54a2f119f..c3ba55185adb463f271c75938e025fd4c5c5f5aa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-02  6.6.9-8 Anthony Thyssen <A.Thyssen@griffith...>
+  * Add various Option Flags, and fix option skip counts for plus forms
+    of simple operators where plus form is the same as minus form.
+    For example the incorrect counts produces a weird error, and posible
+    future segmentation fault in a command like  convert rose: +border show:
+
 2011-04-30  6.6.9-7 Cristy  <quetzlzacatenango@image...>
   * New version 6.6.9-7.
 
index e9a73e738b2767216246dc3a9a914ed034ddc879..dabd1623bf452354a879c2b9d09b746b8f21699e 100644 (file)
@@ -159,32 +159,36 @@ static const OptionInfo
   {
     { "+adjoin", 0L, UndefinedOptionFlag, MagickFalse },
     { "-adjoin", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+adaptive-sharpen", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-adaptive-sharpen", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+adaptive-blur", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-adaptive-blur", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+adaptive-resize", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-adaptive-resize", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+adaptive-sharpen", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-adaptive-sharpen", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+adaptive-threshold", 1L, UndefinedOptionFlag, MagickFalse },
     { "-adaptive-threshold", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+affine", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-affine", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+affinity", 0L, FireOptionFlag, MagickFalse },
-    { "-affinity", 1L, FireOptionFlag, MagickFalse },
-    { "+alpha", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-alpha", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+annotate", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-annotate", 2L, UndefinedOptionFlag, MagickFalse },
-    { "+antialias", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-antialias", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+append", 0L, FireOptionFlag, MagickFalse },
-    { "-append", 0L, FireOptionFlag, MagickFalse },
+    { "+affine", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-affine", 1L, DrawInfoOptionFlag, MagickFalse },
+    { "+affinity", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-affinity", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+alpha", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-alpha", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+annotate", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-annotate", 2L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+antialias", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-antialias", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "+append", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-append", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
     { "+authenticate", 0L, UndefinedOptionFlag, MagickFalse },
     { "-authenticate", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+auto-gamma", 0L, UndefinedOptionFlag, MagickTrue },
-    { "-auto-gamma", 0L, UndefinedOptionFlag, MagickTrue },
-    { "+auto-level", 0L, UndefinedOptionFlag, MagickTrue },
-    { "-auto-level", 0L, UndefinedOptionFlag, MagickTrue },
-    { "+auto-orient", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-auto-orient", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+average", 0L, FireOptionFlag | DeprecateOptionFlag, MagickFalse },
-    { "-average", 0L, FireOptionFlag | DeprecateOptionFlag, MagickFalse },
+    { "+auto-gamma", 0L, DeprecateOptionFlag, MagickTrue },
+    { "-auto-gamma", 0L, SimpleOperatorOptionFlag, MagickTrue },
+    { "+auto-level", 0L, DeprecateOptionFlag, MagickTrue },
+    { "-auto-level", 0L, SimpleOperatorOptionFlag, MagickTrue },
+    { "+auto-orient", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-auto-orient", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+average", 0L, UndefinedOptionFlag|FireOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "-average", 0L, UndefinedOptionFlag|FireOptionFlag|DeprecateOptionFlag, MagickFalse },
     { "+backdrop", 0L, UndefinedOptionFlag, MagickFalse },
     { "-backdrop", 1L, UndefinedOptionFlag, MagickFalse },
     { "+background", 0L, UndefinedOptionFlag, MagickFalse },
@@ -193,360 +197,368 @@ static const OptionInfo
     { "-bench", 1L, UndefinedOptionFlag, MagickTrue },
     { "+bias", 0L, UndefinedOptionFlag, MagickFalse },
     { "-bias", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+black-threshold", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-black-threshold", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+black-threshold", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-black-threshold", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+blend", 0L, UndefinedOptionFlag, MagickFalse },
     { "-blend", 1L, UndefinedOptionFlag, MagickFalse },
     { "+blue-primary", 0L, UndefinedOptionFlag, MagickFalse },
     { "-blue-primary", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+blue-shift", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-blue-shift", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+blur", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-blur", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+border", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-border", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+bordercolor", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-bordercolor", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+blue-shift", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-blue-shift", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+blur", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-blur", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+border", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-border", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+bordercolor", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-bordercolor", 1L, DrawInfoOptionFlag, MagickFalse },
     { "+borderwidth", 0L, UndefinedOptionFlag, MagickFalse },
     { "-borderwidth", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+box", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-box", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+brightness-contrast", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-brightness-contrast", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+box", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-box", 1L, DrawInfoOptionFlag, MagickFalse },
+    { "+brightness-contrast", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-brightness-contrast", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+cache", 0L, UndefinedOptionFlag, MagickFalse },
     { "-cache", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+cdl", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-cdl", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+channel", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-channel", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+charcoal", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-charcoal", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+chop", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-chop", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+clip", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-clip", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+clip-mask", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-clip-mask", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+clip-path", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-clip-path", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+cdl", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-cdl", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+channel", 0L, ImageInfoOptionFlag, MagickFalse },
+    { "-channel", 1L, ImageInfoOptionFlag, MagickFalse },
+    { "+charcoal", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-charcoal", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+chop", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-chop", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+clamp", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-clamp", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+clip", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-clip", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+clip-mask", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-clip-mask", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+clip-path", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-clip-path", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+clone", 0L, UndefinedOptionFlag, MagickFalse },
     { "-clone", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+clut", 0L, FireOptionFlag, MagickFalse },
-    { "-clut", 0L, FireOptionFlag, MagickFalse },
-    { "+coalesce", 0L, FireOptionFlag, MagickFalse },
-    { "-coalesce", 0L, FireOptionFlag, MagickFalse },
-    { "+colorize", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-colorize", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+clut", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-clut", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+coalesce", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-coalesce", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+colorize", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-colorize", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+colormap", 0L, UndefinedOptionFlag, MagickFalse },
     { "-colormap", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+color-matrix", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-color-matrix", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+color-matrix", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-color-matrix", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+colors", 0L, UndefinedOptionFlag, MagickFalse },
     { "-colors", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+colorspace", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-colorspace", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+combine", 0L, FireOptionFlag, MagickFalse },
-    { "-combine", 0L, FireOptionFlag, MagickFalse },
+    { "+colorspace", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-colorspace", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+combine", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-combine", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
     { "+comment", 0L, UndefinedOptionFlag, MagickFalse },
     { "-comment", 1L, UndefinedOptionFlag, MagickFalse },
     { "+compose", 0L, UndefinedOptionFlag, MagickFalse },
     { "-compose", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+composite", 0L, FireOptionFlag, MagickFalse },
-    { "-composite", 0L, FireOptionFlag, MagickFalse },
+    { "+composite", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-composite", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
     { "+compress", 0L, UndefinedOptionFlag, MagickFalse },
     { "-compress", 1L, UndefinedOptionFlag, MagickFalse },
     { "+concurrent", 0L, UndefinedOptionFlag, MagickTrue },
     { "-concurrent", 0L, UndefinedOptionFlag, MagickTrue },
-    { "+contrast", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-contrast", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+contrast-stretch", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-contrast-stretch", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+convolve", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-convolve", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+crop", 0L, FireOptionFlag, MagickFalse },
-    { "-crop", 1L, FireOptionFlag, MagickFalse },
-    { "+cycle", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-cycle", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+debug", 0L, FireOptionFlag, MagickFalse },
-    { "-debug", 1L, FireOptionFlag, MagickFalse },
-    { "+decipher", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-decipher", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+deconstruct", 0L, FireOptionFlag, MagickFalse },
-    { "-deconstruct", 0L, FireOptionFlag, MagickFalse },
+    { "+contrast", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-contrast", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+contrast-stretch", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-contrast-stretch", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+convolve", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-convolve", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+crop", 1L, DeprecateOptionFlag|FireOptionFlag, MagickFalse },
+    { "-crop", 1L, SimpleOperatorOptionFlag|FireOptionFlag, MagickFalse },
+    { "+cycle", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-cycle", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+debug", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-debug", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+decipher", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-decipher", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+deconstruct", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-deconstruct", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
     { "+define", 1L, UndefinedOptionFlag, MagickFalse },
     { "-define", 1L, UndefinedOptionFlag, MagickFalse },
     { "+delay", 0L, UndefinedOptionFlag, MagickFalse },
     { "-delay", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+delete", 0L, FireOptionFlag, MagickFalse },
-    { "-delete", 1L, FireOptionFlag, MagickFalse },
-    { "+density", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-density", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+depth", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-depth", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+delete", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-delete", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+density", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-density", 1L, DrawInfoOptionFlag, MagickFalse },
+    { "+depth", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-depth", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+descend", 0L, UndefinedOptionFlag, MagickFalse },
     { "-descend", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+deskew", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-deskew", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+despeckle", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-despeckle", 0L, UndefinedOptionFlag, MagickFalse },
+    { "+deskew", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-deskew", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+despeckle", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-despeckle", 0L, SimpleOperatorOptionFlag, MagickFalse },
     { "+direction", 0L, UndefinedOptionFlag, MagickFalse },
     { "-direction", 1L, UndefinedOptionFlag, MagickFalse },
     { "+displace", 0L, UndefinedOptionFlag, MagickFalse },
     { "-displace", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+display", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-display", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+display", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-display", 1L, DrawInfoOptionFlag, MagickFalse },
     { "+dispose", 0L, UndefinedOptionFlag, MagickFalse },
     { "-dispose", 1L, UndefinedOptionFlag, MagickFalse },
     { "+dissolve", 0L, UndefinedOptionFlag, MagickFalse },
     { "-dissolve", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+distort", 2L, UndefinedOptionFlag, MagickFalse },
-    { "-distort", 2L, UndefinedOptionFlag, MagickFalse },
-    { "+dither", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-dither", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+draw", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-draw", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+duplicate", 0L, FireOptionFlag, MagickFalse },
-    { "-duplicate", 1L, FireOptionFlag, MagickFalse },
+    { "+distort", 2L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-distort", 2L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+dither", 0L, QuantizeInfoOptionFlag, MagickFalse },
+    { "-dither", 1L, QuantizeInfoOptionFlag, MagickFalse },
+    { "+draw", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-draw", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+duplicate", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-duplicate", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
     { "+duration", 1L, UndefinedOptionFlag, MagickFalse },
     { "-duration", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+edge", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-edge", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+emboss", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-emboss", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+encipher", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-encipher", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+encoding", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-encoding", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+edge", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-edge", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+emboss", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-emboss", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+encipher", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-encipher", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+encoding", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-encoding", 1L, DrawInfoOptionFlag, MagickFalse },
     { "+endian", 0L, UndefinedOptionFlag, MagickFalse },
     { "-endian", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+enhance", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-enhance", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+equalize", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-equalize", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+evaluate", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-evaluate", 2L, UndefinedOptionFlag, MagickFalse },
-    { "+evaluate-sequence", 0L, FireOptionFlag, MagickFalse },
-    { "-evaluate-sequence", 1L, FireOptionFlag, MagickFalse },
-    { "+extent", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-extent", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+enhance", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-enhance", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+equalize", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-equalize", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+evaluate", 2L, DeprecateOptionFlag, MagickFalse },
+    { "-evaluate", 2L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+evaluate-sequence", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-evaluate-sequence", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+extent", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-extent", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+extract", 0L, UndefinedOptionFlag, MagickFalse },
     { "-extract", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+family", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-family", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+fft", 0L, FireOptionFlag, MagickFalse },
-    { "-fft", 0L, FireOptionFlag, MagickFalse },
-    { "+fill", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-fill", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+family", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-family", 1L, DrawInfoOptionFlag, MagickFalse },
+    { "+features", 0L, SimpleOperatorOptionFlag|FireOptionFlag, MagickFalse },
+    { "-features", 1L, SimpleOperatorOptionFlag|FireOptionFlag, MagickFalse },
+    { "+fft", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-fft", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+fill", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-fill", 1L, DrawInfoOptionFlag, MagickFalse },
     { "+filter", 0L, UndefinedOptionFlag, MagickFalse },
     { "-filter", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+flatten", 0L, FireOptionFlag | DeprecateOptionFlag, MagickFalse },
-    { "-flatten", 0L, FireOptionFlag | DeprecateOptionFlag, MagickFalse },
-    { "+flip", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-flip", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+floodfill", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-floodfill", 2L, UndefinedOptionFlag, MagickFalse },
-    { "+flop", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-flop", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+font", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-font", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+flatten", 0L, UndefinedOptionFlag|FireOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "-flatten", 0L, UndefinedOptionFlag|FireOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "+flip", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-flip", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+flop", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-flop", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+floodfill", 2L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-floodfill", 2L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+font", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-font", 1L, DrawInfoOptionFlag, MagickFalse },
     { "+foreground", 0L, UndefinedOptionFlag, MagickFalse },
     { "-foreground", 1L, UndefinedOptionFlag, MagickFalse },
     { "+format", 0L, UndefinedOptionFlag, MagickFalse },
     { "-format", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+frame", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-frame", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+frame", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-frame", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+fuzz", 0L, UndefinedOptionFlag, MagickFalse },
     { "-fuzz", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+fx", 0L, FireOptionFlag, MagickFalse },
-    { "-fx", 1L, FireOptionFlag, MagickFalse },
-    { "+gamma", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-gamma", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+gaussian", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-gaussian", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+gaussian-blur", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-gaussian-blur", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+geometry", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-geometry", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+gravity", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-gravity", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+fx", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-fx", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+gamma", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-gamma", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+gaussian", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-gaussian", 1L, SimpleOperatorOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "+gaussian-blur", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-gaussian-blur", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+geometry", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-geometry", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+gravity", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-gravity", 1L, DrawInfoOptionFlag, MagickFalse },
     { "+green-primary", 0L, UndefinedOptionFlag, MagickFalse },
     { "-green-primary", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+hald-clut", 0L, FireOptionFlag, MagickFalse },
-    { "-hald-clut", 0L, FireOptionFlag, MagickFalse },
+    { "+hald-clut", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-hald-clut", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
     { "+help", 0L, UndefinedOptionFlag, MagickFalse },
     { "-help", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+highlight-color", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-highlight-color", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+highlight-color", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-highlight-color", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+iconGeometry", 0L, UndefinedOptionFlag, MagickFalse },
     { "-iconGeometry", 1L, UndefinedOptionFlag, MagickFalse },
     { "+iconic", 0L, UndefinedOptionFlag, MagickFalse },
     { "-iconic", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+identify", 0L, FireOptionFlag, MagickFalse },
-    { "-identify", 0L, FireOptionFlag, MagickFalse },
-    { "+ift", 0L, FireOptionFlag, MagickFalse },
-    { "-ift", 0L, FireOptionFlag, MagickFalse },
+    { "+identify", 0L, DeprecateOptionFlag|FireOptionFlag, MagickFalse },
+    { "-identify", 0L, SimpleOperatorOptionFlag|FireOptionFlag, MagickFalse },
+    { "+ift", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-ift", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
     { "+immutable", 0L, UndefinedOptionFlag, MagickFalse },
     { "-immutable", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+implode", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-implode", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+insert", 0L, FireOptionFlag, MagickFalse },
-    { "-insert", 1L, FireOptionFlag, MagickFalse },
+    { "+implode", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-implode", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+insert", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-insert", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
     { "+intent", 0L, UndefinedOptionFlag, MagickFalse },
     { "-intent", 1L, UndefinedOptionFlag, MagickFalse },
     { "+interlace", 0L, UndefinedOptionFlag, MagickFalse },
     { "-interlace", 1L, UndefinedOptionFlag, MagickFalse },
     { "+interpolate", 0L, UndefinedOptionFlag, MagickFalse },
     { "-interpolate", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+interword-spacing", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-interword-spacing", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+kerning", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-kerning", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+interline-spacing", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-interline-spacing", 1L, DrawInfoOptionFlag, MagickFalse },
+    { "+interword-spacing", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-interword-spacing", 1L, DrawInfoOptionFlag, MagickFalse },
+    { "+kerning", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-kerning", 1L, DrawInfoOptionFlag, MagickFalse },
     { "+label", 0L, UndefinedOptionFlag, MagickFalse },
     { "-label", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+lat", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-lat", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+layers", 0L, FireOptionFlag, MagickFalse },
-    { "-layers", 1L, FireOptionFlag, MagickFalse },
-    { "+level", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-level", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+level-colors", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-level-colors", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+limit", 0L, FireOptionFlag, MagickFalse },
-    { "-limit", 2L, FireOptionFlag, MagickFalse },
-    { "+linear-stretch", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-linear-stretch", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+linewidth", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-linewidth", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+liquid-rescale", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-liquid-rescale", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+lat", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-lat", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+layers", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-layers", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+level", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-level", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+level-colors", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-level-colors", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+limit", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-limit", 2L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+linear-stretch", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-linear-stretch", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+linewidth", 0L, DrawInfoOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "-linewidth", 1L, DrawInfoOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "+liquid-rescale", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-liquid-rescale", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+list", 0L, UndefinedOptionFlag, MagickFalse },
     { "-list", 1L, UndefinedOptionFlag, MagickFalse },
     { "+log", 0L, UndefinedOptionFlag, MagickFalse },
     { "-log", 1L, UndefinedOptionFlag, MagickFalse },
     { "+loop", 0L, UndefinedOptionFlag, MagickFalse },
     { "-loop", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+lowlight-color", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-lowlight-color", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+lowlight-color", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-lowlight-color", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+magnify", 0L, UndefinedOptionFlag, MagickFalse },
     { "-magnify", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+map", 0L, FireOptionFlag, MagickFalse },
-    { "-map", 1L, FireOptionFlag, MagickFalse },
-    { "+mask", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-mask", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+matte", 0L, DeprecateOptionFlag, MagickFalse },
-    { "-matte", 0L, DeprecateOptionFlag, MagickFalse },
+    { "+map", 0L, ListOperatorOptionFlag|FireOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "-map", 1L, SimpleOperatorOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "+mask", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-mask", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+matte", 0L, SimpleOperatorOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "-matte", 0L, SimpleOperatorOptionFlag|DeprecateOptionFlag, MagickFalse },
     { "+mattecolor", 0L, UndefinedOptionFlag, MagickFalse },
     { "-mattecolor", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+maximum", 0L, FireOptionFlag | DeprecateOptionFlag, MagickFalse },
-    { "-maximum", 0L, FireOptionFlag | DeprecateOptionFlag, MagickFalse },
-    { "+median", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-median", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+maximum", 0L, UndefinedOptionFlag|FireOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "-maximum", 0L, UndefinedOptionFlag|FireOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "+median", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-median", 1L, SimpleOperatorOptionFlag|DeprecateOptionFlag, MagickFalse },
     { "+metric", 0L, UndefinedOptionFlag, MagickFalse },
     { "-metric", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+minimum", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-minimum", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+mode", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-mode", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+modulate", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-modulate", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+monitor", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-monitor", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+monochrome", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-monochrome", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+morph", 0L, FireOptionFlag, MagickFalse },
-    { "-morph", 1L, FireOptionFlag, MagickFalse },
-    { "+morphology", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-morphology", 2L, UndefinedOptionFlag, MagickFalse },
-    { "+mosaic", 0L, FireOptionFlag | DeprecateOptionFlag, MagickFalse },
-    { "-mosaic", 0L, FireOptionFlag | DeprecateOptionFlag, MagickFalse },
-    { "+motion-blur", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-motion-blur", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+minimum", 0L, UndefinedOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "-minimum", 0L, UndefinedOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "+mode", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-mode", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+modulate", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-modulate", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+monitor", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-monitor", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+monochrome", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-monochrome", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+morph", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-morph", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+morphology", 2L, DeprecateOptionFlag, MagickFalse },
+    { "-morphology", 2L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+mosaic", 0L, UndefinedOptionFlag|FireOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "-mosaic", 0L, UndefinedOptionFlag|FireOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "+motion-blur", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-motion-blur", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+name", 0L, UndefinedOptionFlag, MagickFalse },
     { "-name", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+negate", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-negate", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+noise", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-noise", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+negate", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-negate", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+noise", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-noise", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+noop", 0L, UndefinedOptionFlag, MagickFalse },
     { "-noop", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+normalize", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-normalize", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+opaque", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-opaque", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+ordered-dither", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-ordered-dither", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+normalize", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-normalize", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+opaque", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-opaque", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+ordered-dither", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-ordered-dither", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+orient", 0L, UndefinedOptionFlag, MagickFalse },
     { "-orient", 1L, UndefinedOptionFlag, MagickFalse },
     { "+origin", 0L, UndefinedOptionFlag, MagickFalse },
     { "-origin", 1L, UndefinedOptionFlag, MagickFalse },
     { "+page", 0L, UndefinedOptionFlag, MagickFalse },
     { "-page", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+paint", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-paint", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+paint", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-paint", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+path", 0L, UndefinedOptionFlag, MagickFalse },
     { "-path", 1L, UndefinedOptionFlag, MagickFalse },
     { "+pause", 0L, UndefinedOptionFlag, MagickFalse },
     { "-pause", 1L, UndefinedOptionFlag, MagickFalse },
     { "+passphrase", 0L, UndefinedOptionFlag, MagickFalse },
     { "-passphrase", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+pen", 0L, DeprecateOptionFlag, MagickFalse },
-    { "-pen", 1L, DeprecateOptionFlag, MagickFalse },
+    { "+pen", 0L, DrawInfoOptionFlag|DeprecateOptionFlag, MagickFalse },
+    { "-pen", 1L, DrawInfoOptionFlag|DeprecateOptionFlag, MagickFalse },
     { "+ping", 0L, UndefinedOptionFlag, MagickFalse },
     { "-ping", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+pointsize", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-pointsize", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+polaroid", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-polaroid", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+posterize", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-posterize", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+pointsize", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-pointsize", 1L, DrawInfoOptionFlag, MagickFalse },
+    { "+polaroid", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-polaroid", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+posterize", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-posterize", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+preview", 0L, UndefinedOptionFlag, MagickFalse },
     { "-preview", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+print", 1L, FireOptionFlag, MagickFalse },
-    { "-print", 1L, FireOptionFlag, MagickFalse },
-    { "+process", 0L, FireOptionFlag, MagickFalse },
-    { "-process", 1L, FireOptionFlag, MagickFalse },
-    { "+profile", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-profile", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+print", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-print", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+process", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-process", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+profile", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-profile", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+quality", 0L, UndefinedOptionFlag, MagickFalse },
     { "-quality", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+quantize", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-quantize", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+quiet", 0L, FireOptionFlag, MagickFalse },
-    { "-quiet", 0L, FireOptionFlag, MagickFalse },
-    { "+radial-blur", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-radial-blur", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+raise", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-raise", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+random-threshold", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-random-threshold", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+recolor", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-recolor", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+quantize", 0L, QuantizeInfoOptionFlag, MagickFalse },
+    { "-quantize", 1L, QuantizeInfoOptionFlag, MagickFalse },
+    { "+quiet", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-quiet", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+radial-blur", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-radial-blur", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+raise", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-raise", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+random-threshold", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-random-threshold", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+recolor", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-recolor", 1L, SimpleOperatorOptionFlag|DeprecateOptionFlag, MagickFalse },
     { "+red-primary", 0L, UndefinedOptionFlag, MagickFalse },
     { "-red-primary", 1L, UndefinedOptionFlag, MagickFalse },
     { "+regard-warnings", 0L, UndefinedOptionFlag, MagickFalse },
     { "-regard-warnings", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+region", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-region", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+region", 0L, SpecialOperatorOptionFlag, MagickFalse },
+    { "-region", 1L, SpecialOperatorOptionFlag, MagickFalse },
     { "+remote", 0L, UndefinedOptionFlag, MagickFalse },
     { "-remote", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+render", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-render", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+repage", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-repage", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+resample", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-resample", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+resize", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-resize", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+render", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-render", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "+remap", 0L, ListOperatorOptionFlag|FireOptionFlag, MagickFalse },
+    { "-remap", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+repage", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-repage", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+resample", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-resample", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+resize", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-resize", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+respect-parenthesis", 0L, UndefinedOptionFlag, MagickFalse },
     { "-respect-parenthesis", 0L, UndefinedOptionFlag, MagickFalse },
     { "+reverse", 0L, UndefinedOptionFlag, MagickFalse },
     { "-reverse", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+roll", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-roll", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+rotate", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-rotate", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+sample", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-sample", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+roll", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-roll", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+rotate", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-rotate", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+sample", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-sample", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+sampling-factor", 0L, UndefinedOptionFlag, MagickFalse },
     { "-sampling-factor", 1L, UndefinedOptionFlag, MagickFalse },
     { "+sans", 0L, UndefinedOptionFlag, MagickFalse },
@@ -555,8 +567,8 @@ static const OptionInfo
     { "-sans0", 0L, UndefinedOptionFlag, MagickFalse },
     { "+sans2", 2L, UndefinedOptionFlag, MagickFalse },
     { "-sans2", 2L, UndefinedOptionFlag, MagickFalse },
-    { "+scale", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-scale", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+scale", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-scale", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+scene", 0L, UndefinedOptionFlag, MagickFalse },
     { "-scene", 1L, UndefinedOptionFlag, MagickFalse },
     { "+scenes", 0L, UndefinedOptionFlag, MagickFalse },
@@ -567,66 +579,68 @@ static const OptionInfo
     { "-seed", 1L, UndefinedOptionFlag, MagickFalse },
     { "+segment", 0L, UndefinedOptionFlag, MagickFalse },
     { "-segment", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+separate", 0L, FireOptionFlag, MagickFalse },
-    { "-separate", 0L, FireOptionFlag, MagickFalse },
-    { "+sepia-tone", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-sepia-tone", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+set", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-set", 2L, UndefinedOptionFlag, MagickFalse },
-    { "+shade", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-shade", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+shadow", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-shadow", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+selective-blur", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-selective-blur", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+separate", 0L, DeprecateOptionFlag|FireOptionFlag, MagickFalse },
+    { "-separate", 0L, SimpleOperatorOptionFlag|FireOptionFlag, MagickFalse },
+    { "+sepia-tone", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-sepia-tone", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+set", 1L, ImageInfoOptionFlag|SimpleOperatorOptionFlag, MagickFalse },
+    { "-set", 2L, ImageInfoOptionFlag|SimpleOperatorOptionFlag, MagickFalse },
+    { "+shade", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-shade", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+shadow", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-shadow", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+shared-memory", 0L, UndefinedOptionFlag, MagickFalse },
     { "-shared-memory", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+sharpen", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-sharpen", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+shave", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-shave", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+shear", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-shear", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+sigmoidal-contrast", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-sigmoidal-contrast", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+sharpen", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-sharpen", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+shave", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-shave", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+shear", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-shear", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+sigmoidal-contrast", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-sigmoidal-contrast", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+silent", 0L, UndefinedOptionFlag, MagickFalse },
     { "-silent", 1L, UndefinedOptionFlag, MagickFalse },
     { "+size", 0L, UndefinedOptionFlag, MagickFalse },
     { "-size", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+sketch", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-sketch", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+smush", 1L, FireOptionFlag, MagickFalse },
-    { "-smush", 1L, FireOptionFlag, MagickFalse },
+    { "+sketch", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-sketch", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+smush", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-smush", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
     { "+snaps", 0L, UndefinedOptionFlag, MagickFalse },
     { "-snaps", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+solarize", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-solarize", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+splice", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-splice", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+sparse-color", 2L, UndefinedOptionFlag, MagickFalse },
-    { "-sparse-color", 2L, UndefinedOptionFlag, MagickFalse },
-    { "+spread", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-spread", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+statistic", 2L, UndefinedOptionFlag, MagickFalse },
-    { "-statistic", 2L, UndefinedOptionFlag, MagickFalse },
+    { "+solarize", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-solarize", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+sparse-color", 2L, DeprecateOptionFlag, MagickFalse },
+    { "-sparse-color", 2L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+splice", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-splice", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+spread", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-spread", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+statistic", 2L, DeprecateOptionFlag, MagickFalse },
+    { "-statistic", 2L, SimpleOperatorOptionFlag, MagickFalse },
     { "+stegano", 0L, UndefinedOptionFlag, MagickFalse },
     { "-stegano", 1L, UndefinedOptionFlag, MagickFalse },
     { "+stereo", 0L, UndefinedOptionFlag, MagickFalse },
     { "-stereo", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+stretch", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-stretch", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+strip", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-strip", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+stroke", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-stroke", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+strokewidth", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-strokewidth", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+style", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-style", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+stretch", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-stretch", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+strip", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-strip", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+stroke", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-stroke", 1L, DrawInfoOptionFlag, MagickFalse },
+    { "+strokewidth", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-strokewidth", 1L, DrawInfoOptionFlag, MagickFalse },
+    { "+style", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-style", 1L, DrawInfoOptionFlag, MagickFalse },
     { "+subimage-search", 0L, UndefinedOptionFlag, MagickFalse },
     { "-subimage-search", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+swap", 0L, FireOptionFlag, MagickFalse },
-    { "-swap", 1L, FireOptionFlag, MagickFalse },
-    { "+swirl", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-swirl", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+swap", 0L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-swap", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "+swirl", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-swirl", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+synchronize", 0L, UndefinedOptionFlag, MagickFalse },
     { "-synchronize", 0L, UndefinedOptionFlag, MagickFalse },
     { "+taint", 0L, UndefinedOptionFlag, MagickFalse },
@@ -635,76 +649,76 @@ static const OptionInfo
     { "-text-font", 1L, UndefinedOptionFlag, MagickFalse },
     { "+texture", 0L, UndefinedOptionFlag, MagickFalse },
     { "-texture", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+threshold", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-threshold", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+thumbnail", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-thumbnail", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+thumnail", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-thumnail", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+tile", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-tile", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+threshold", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-threshold", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+thumbnail", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-thumbnail", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+tile", 0L, DrawInfoOptionFlag, MagickFalse },
+    { "-tile", 1L, DrawInfoOptionFlag, MagickFalse },
     { "+tile-offset", 0L, UndefinedOptionFlag, MagickFalse },
     { "-tile-offset", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+tint", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-tint", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+tint", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-tint", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+title", 0L, UndefinedOptionFlag, MagickFalse },
     { "-title", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+transform", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-transform", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+transparent", 1L, UndefinedOptionFlag, MagickFalse },
-    { "-transparent", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+transform", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-transform", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+transparent", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-transparent", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+transparent-color", 1L, UndefinedOptionFlag, MagickFalse },
     { "-transparent-color", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+transpose", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-transpose", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+transverse", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-transverse", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+treedepth", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-treedepth", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+trim", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-trim", 0L, UndefinedOptionFlag, MagickFalse },
-    { "+type", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-type", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+undercolor", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-undercolor", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+unique-colors", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-unique-colors", 0L, UndefinedOptionFlag, MagickFalse },
+    { "+transpose", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-transpose", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+transverse", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-transverse", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+treedepth", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-treedepth", 1L, QuantizeInfoOptionFlag, MagickFalse },
+    { "+trim", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-trim", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+type", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-type", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+undercolor", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-undercolor", 1L, DrawInfoOptionFlag, MagickFalse },
+    { "+unique", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-unique", 0L, ImageInfoOptionFlag, MagickFalse },
+    { "+unique-colors", 0L, DeprecateOptionFlag, MagickFalse },
+    { "-unique-colors", 0L, SimpleOperatorOptionFlag, MagickFalse },
     { "+units", 0L, UndefinedOptionFlag, MagickFalse },
     { "-units", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+unsharp", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-unsharp", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+unsharp", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-unsharp", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+update", 0L, UndefinedOptionFlag, MagickFalse },
     { "-update", 1L, UndefinedOptionFlag, MagickFalse },
     { "+use-pixmap", 0L, UndefinedOptionFlag, MagickFalse },
     { "-use-pixmap", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+verbose", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-verbose", 0L, UndefinedOptionFlag, MagickFalse },
+    { "+verbose", 0L, ImageInfoOptionFlag, MagickFalse },
+    { "-verbose", 0L, ImageInfoOptionFlag, MagickFalse },
     { "+version", 0L, UndefinedOptionFlag, MagickFalse },
     { "-version", 1L, UndefinedOptionFlag, MagickFalse },
     { "+view", 0L, UndefinedOptionFlag, MagickFalse },
     { "-view", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+vignette", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-vignette", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+virtual-pixel", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-virtual-pixel", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+vignette", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-vignette", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+virtual-pixel", 0L, SimpleOperatorOptionFlag, MagickFalse },
+    { "-virtual-pixel", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+visual", 0L, UndefinedOptionFlag, MagickFalse },
     { "-visual", 1L, UndefinedOptionFlag, MagickFalse },
     { "+watermark", 0L, UndefinedOptionFlag, MagickFalse },
     { "-watermark", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+wave", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-wave", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+weight", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-weight", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+wave", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-wave", 1L, SimpleOperatorOptionFlag, MagickFalse },
+    { "+weight", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-weight", 1L, DrawInfoOptionFlag, MagickFalse },
     { "+white-point", 0L, UndefinedOptionFlag, MagickFalse },
     { "-white-point", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+white-threshold", 0L, UndefinedOptionFlag, MagickFalse },
-    { "-white-threshold", 1L, UndefinedOptionFlag, MagickFalse },
+    { "+white-threshold", 1L, DeprecateOptionFlag, MagickFalse },
+    { "-white-threshold", 1L, SimpleOperatorOptionFlag, MagickFalse },
     { "+window", 0L, UndefinedOptionFlag, MagickFalse },
     { "-window", 1L, UndefinedOptionFlag, MagickFalse },
     { "+window-group", 0L, UndefinedOptionFlag, MagickFalse },
     { "-window-group", 1L, UndefinedOptionFlag, MagickFalse },
-    { "+write", 1L, FireOptionFlag, MagickFalse },
-    { "-write", 1L, FireOptionFlag, MagickFalse },
+    { "+write", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
+    { "-write", 1L, UndefinedOptionFlag|FireOptionFlag, MagickFalse },
     { (char *) NULL, 0L, UndefinedOptionFlag, MagickFalse }
   },
   ComposeOptions[] =
index dc3cdf4dc97685e2ae1ae109ac4b6fedcd43f570..9fa27ab6b3d77c8c6799b5d8982806634558571e 100644 (file)
@@ -128,14 +128,15 @@ typedef struct _OptionInfo
 */
 typedef enum
 {
-  UndefinedOptionFlag = 0x0000,
-  FireOptionFlag      = 0x0001,  /* Option sequence firing point */
-#if 0
-  ImageInfoOptionFlag = 0x0002,  /* Sets ImageInfo only, no image needed */
-  SimpleOptionFlag    = 0x0004,  /* Simple image processing option */
-  ImageListOptionFlag = 0x0010,  /* Multi-Image list processing option */
-#endif
-  DeprecateOptionFlag = 0x1000   /* Deprecate option, give warning */
+  UndefinedOptionFlag       = 0x0000,
+  FireOptionFlag            = 0x0001,  /* Option sequence firing point */
+  ImageInfoOptionFlag       = 0x0002,  /* Sets ImageInfo, no image needed */
+  DrawInfoOptionFlag        = 0x0004,  /* Sets DrawInfo, no image needed */
+  QuantizeInfoOptionFlag    = 0x0008,  /* Sets QuantizeeInfo, no image needed */
+  SimpleOperatorOptionFlag  = 0x0100,  /* Simple Image processing operator */
+  ListOperatorOptionFlag    = 0x0200,  /* Multi-Image List processing operator */
+  SpecialOperatorOptionFlag = 0x0400,  /* Specially handled Operator Option */
+  DeprecateOptionFlag       = 0x8000   /* Deprecate option, give warning */
 } CommandOptionFlags;
 
 extern MagickExport char