{
int t, glyphcount;
int maxcode;
+ int fid;
U8 flags1,flags2,namelen;
+ swf_SaveTagPos(tag);
+ swf_SetTagPos(tag,0);
font->version=2;
- font->id = swf_GetU16(tag);
+ fid = swf_GetU16(tag);
+ if(id && id!=fid)
+ return;
+ font->id = fid;
flags1 = swf_GetU8(tag);
flags2 = swf_GetU8(tag); //reserved flags
namelen = swf_GetU8(tag);
font->layout->kerning[t].char1 = swf_GetU16(tag);
font->layout->kerning[t].char2 = swf_GetU16(tag);
} else {
- font->layout->kerning[t].char1 = swf_GetU16(tag);
- font->layout->kerning[t].char2 = swf_GetU16(tag);
+ font->layout->kerning[t].char1 = swf_GetU8(tag);
+ font->layout->kerning[t].char2 = swf_GetU8(tag);
}
font->layout->kerning[t].adjustment = swf_GetS16(tag);
}
}
}
+ swf_RestoreTagPos(t);
return font->id;
}
}
else
{ swf_ShapeFree(f->glyph[i].shape);
- f->ascii2glyph[f->glyph2ascii[i]] = -1;
+ f->ascii2glyph[f->glyph2ascii[i]] = -1;
f->glyph2ascii[i] = 0;
- f->glyph[i].shape = 0;
+ f->glyph[i].shape = NULL;
f->glyph[i].advance = 0;
}
} else f->ascii2glyph[f->glyph2ascii[i]] = -1;
{
t = swf_InsertTag(NULL,ST_SETBACKGROUNDCOLOR);
swf.firstTag = t;
- rgb.r = 0xff;
- rgb.g = 0xff;
- rgb.b = 0xff;
- swf_SetRGB(t,&rgb);
+ rgb.r = 0xff;
+ rgb.g = 0xff;
+ rgb.b = 0xff;
+ swf_SetRGB(t,&rgb);
t = swf_InsertTag(t,ST_DEFINEFONT);
}
else
swf_FontSetInfo(t,font);
if(!useDefineFont2)
- {
- int textscale = 400;
+ { int textscale = 400;
int s;
int xmax = 0;
int ymax = textscale * 20;
}
}
swf_SetU8(t,0);
+
- t = swf_InsertTag(t,ST_PLACEOBJECT2);
+ t = swf_InsertTag(t,ST_PLACEOBJECT2);
- swf_ObjectPlace(t,font->id+1,1,NULL,NULL,NULL);
+ swf_ObjectPlace(t,font->id+1,1,NULL,NULL,NULL);
- t = swf_InsertTag(t,ST_SHOWFRAME);
+ t = swf_InsertTag(t,ST_SHOWFRAME);
}
t = swf_InsertTag(t,ST_END);