primitive_extent;
DrawInfo
+ *clone_info,
**graphic_context;
MagickBooleanType
StopInfo
*stops;
+ TypeMetric
+ metrics;
+
assert(image != (Image *) NULL);
assert(image->signature == MagickCoreSignature);
if (image->debug != MagickFalse)
case 'l':
case 'L':
{
+ if (LocaleCompare("letter-spacing",keyword) == 0)
+ {
+ GetNextToken(q,&q,extent,token);
+ clone_info=CloneDrawInfo((ImageInfo *) NULL,graphic_context[n]);
+ clone_info->text=AcquireString(" ");
+ status&=GetTypeMetrics(image,clone_info,&metrics,exception);
+ graphic_context[n]->kerning=metrics.width*
+ StringToDouble(token,&next_token);
+ clone_info=DestroyDrawInfo(clone_info);
+ if (token == next_token)
+ ThrowPointExpectedException(token,exception);
+ break;
+ }
if (LocaleCompare("line",keyword) == 0)
{
primitive_type=LinePrimitive;
use=(const char *) GetValueFromSplayTree(macros,token);
if (use != (const char *) NULL)
{
- DrawInfo
- *clone_info;
-
clone_info=CloneDrawInfo((ImageInfo *) NULL,graphic_context[n]);
(void) CloneString(&clone_info->primitive,use);
status=DrawImage(image,clone_info,exception);
status=MagickFalse;
break;
}
+ case 'w':
+ case 'W':
+ {
+ if (LocaleCompare("word-spacing",keyword) == 0)
+ {
+ GetNextToken(q,&q,extent,token);
+ graphic_context[n]->interword_spacing=StringToDouble(token,
+ &next_token);
+ if (token == next_token)
+ ThrowPointExpectedException(token,exception);
+ break;
+ }
+ status=MagickFalse;
+ break;
+ }
default:
{
status=MagickFalse;
char
geometry[MagickPathExtent];
- DrawInfo
- *clone_info;
-
- TypeMetric
- metrics;
-
if (primitive_info[j].coordinates != 1)
{
status=MagickFalse;
}
break;
}
+ case 'K':
+ case 'k':
+ {
+ if (LocaleCompare(keyword,"kerning") == 0)
+ {
+ (void) FormatLocaleFile(svg_info->file,"kerning \"%s\"\n",value);
+ break;
+ }
+ break;
+ }
+ case 'L':
+ case 'l':
+ {
+ if (LocaleCompare(keyword,"letter-spacing") == 0)
+ {
+ (void) FormatLocaleFile(svg_info->file,"letter-spacing \"%s\"\n",
+ value);
+ break;
+ }
+ break;
+ }
case 'M':
case 'm':
{
}
break;
}
+ case 'K':
+ case 'k':
+ {
+ if (LocaleCompare(keyword,"kerning") == 0)
+ {
+ (void) FormatLocaleFile(svg_info->file,"kerning \"%s\"\n",
+ value);
+ break;
+ }
+ break;
+ }
+ case 'L':
+ case 'l':
+ {
+ if (LocaleCompare(keyword,"letter-spacing") == 0)
+ {
+ (void) FormatLocaleFile(svg_info->file,"letter-spacing \"%s\"\n",
+ value);
+ break;
+ }
+ break;
+ }
case 'M':
case 'm':
{
status=MagickFalse;
break;
}
+ case 'k':
+ case 'K':
+ {
+ if (LocaleCompare("kerning",keyword) == 0)
+ {
+ GetNextToken(q,&q,extent,token);
+ (void) FormatLocaleString(message,MagickPathExtent,"kerning:%s;",
+ token);
+ (void) WriteBlobString(image,message);
+ }
+ break;
+ }
case 'l':
case 'L':
{
+ if (LocaleCompare("letter-spacing",keyword) == 0)
+ {
+ GetNextToken(q,&q,extent,token);
+ (void) FormatLocaleString(message,MagickPathExtent,
+ "letter-spacing:%s;",token);
+ (void) WriteBlobString(image,message);
+ break;
+ }
if (LocaleCompare("line",keyword) == 0)
{
primitive_type=LinePrimitive;