exception);
clone_info->clip_mask=(char *) NULL;
status=NegateImage(clip_mask,MagickFalse,exception);
- (void) SetImageMask(image,clip_mask,exception);
+ (void) SetImageMask(image,ReadPixelMask,clip_mask,exception);
clip_mask=DestroyImage(clip_mask);
status&=DrawImage(image,clone_info,exception);
clone_info=DestroyDrawInfo(clone_info);
}
if (LocaleCompare("font-weight",keyword) == 0)
{
+ ssize_t
+ weight;
+
GetMagickToken(q,&q,token);
- graphic_context[n]->weight=StringToUnsignedLong(token);
- if (LocaleCompare(token,"all") == 0)
- graphic_context[n]->weight=0;
- if (LocaleCompare(token,"bold") == 0)
- graphic_context[n]->weight=700;
- if (LocaleCompare(token,"bolder") == 0)
- if (graphic_context[n]->weight <= 800)
- graphic_context[n]->weight+=100;
- if (LocaleCompare(token,"lighter") == 0)
- if (graphic_context[n]->weight >= 100)
- graphic_context[n]->weight-=100;
- if (LocaleCompare(token,"normal") == 0)
- graphic_context[n]->weight=400;
+ weight=ParseCommandOption(MagickWeightOptions,MagickFalse,
+ token);
+ if (weight == -1)
+ weight=StringToUnsignedLong(token);
+ graphic_context[n]->weight=(size_t) weight;
break;
}
status=MagickFalse;
if (graphic_context[n]->clip_mask != (char *) NULL)
if (LocaleCompare(graphic_context[n]->clip_mask,
graphic_context[n-1]->clip_mask) != 0)
- (void) SetImageMask(image,(Image *) NULL,exception);
+ (void) SetImageMask(image,ReadPixelMask,(Image *) NULL,
+ exception);
graphic_context[n]=DestroyDrawInfo(graphic_context[n]);
n--;
break;
draw_info->border_color=clone_info->border_color;
if (clone_info->server_name != (char *) NULL)
draw_info->server_name=AcquireString(clone_info->server_name);
+ option=GetImageOption(clone_info,"direction");
+ if (option != (const char *) NULL)
+ draw_info->direction=(DirectionType) ParseCommandOption(
+ MagickDirectionOptions,MagickFalse,option);
+ else
+ draw_info->direction=UndefinedDirection;
option=GetImageOption(clone_info,"encoding");
if (option != (const char *) NULL)
(void) CloneString(&draw_info->encoding,option);
- option=GetImageOption(clone_info,"kerning");
+ option=GetImageOption(clone_info,"family");
if (option != (const char *) NULL)
- draw_info->kerning=StringToDouble(option,(char **) NULL);
+ (void) CloneString(&draw_info->family,option);
+ option=GetImageOption(clone_info,"fill");
+ if (option != (const char *) NULL)
+ (void) QueryColorCompliance(option,AllCompliance,&draw_info->fill,
+ exception);
+ option=GetImageOption(clone_info,"gravity");
+ if (option != (const char *) NULL)
+ draw_info->gravity=(GravityType) ParseCommandOption(MagickGravityOptions,
+ MagickFalse,option);
option=GetImageOption(clone_info,"interline-spacing");
if (option != (const char *) NULL)
draw_info->interline_spacing=StringToDouble(option,(char **) NULL);
option=GetImageOption(clone_info,"interword-spacing");
if (option != (const char *) NULL)
draw_info->interword_spacing=StringToDouble(option,(char **) NULL);
- option=GetImageOption(clone_info,"direction");
- if (option != (const char *) NULL)
- draw_info->direction=(DirectionType) ParseCommandOption(
- MagickDirectionOptions,MagickFalse,option);
- else
- draw_info->direction=UndefinedDirection;
- option=GetImageOption(clone_info,"fill");
+ option=GetImageOption(clone_info,"kerning");
if (option != (const char *) NULL)
- (void) QueryColorCompliance(option,AllCompliance,&draw_info->fill,
- exception);
+ draw_info->kerning=StringToDouble(option,(char **) NULL);
option=GetImageOption(clone_info,"stroke");
if (option != (const char *) NULL)
(void) QueryColorCompliance(option,AllCompliance,&draw_info->stroke,
option=GetImageOption(clone_info,"strokewidth");
if (option != (const char *) NULL)
draw_info->stroke_width=StringToDouble(option,(char **) NULL);
+ option=GetImageOption(clone_info,"style");
+ if (option != (const char *) NULL)
+ draw_info->style=(StyleType) ParseCommandOption(MagickStyleOptions,
+ MagickFalse,option);
option=GetImageOption(clone_info,"undercolor");
if (option != (const char *) NULL)
(void) QueryColorCompliance(option,AllCompliance,&draw_info->undercolor,
exception);
- option=GetImageOption(clone_info,"gravity");
+ option=GetImageOption(clone_info,"weight");
if (option != (const char *) NULL)
- draw_info->gravity=(GravityType) ParseCommandOption(MagickGravityOptions,
- MagickFalse,option);
+ {
+ ssize_t
+ weight;
+
+ weight=ParseCommandOption(MagickWeightOptions,MagickFalse,option);
+ if (weight == -1)
+ weight=StringToUnsignedLong(option);
+ draw_info->weight=(size_t) weight;
+ }
exception=DestroyExceptionInfo(exception);
draw_info->signature=MagickCoreSignature;
clone_info=DestroyImageInfo(clone_info);