fid = swf_GetU16(t);
if ((!id)||(id==fid))
- { U16 of,*ofs;
+ { U16 of;
int n,i;
id = fid;
if(flags1&8) { // wide offsets
for(t=0;t<glyphcount;t++)
swf_GetU32(tag); //offset[t]
- swf_GetU32(tag); // fontcodeoffset
+
+ if(glyphcount) /* this _if_ is not in the specs */
+ swf_GetU32(tag); // fontcodeoffset
} else {
for(t=0;t<glyphcount;t++)
swf_GetU16(tag); //offset[t]
- swf_GetU16(tag); // fontcodeoffset
+
+ if(glyphcount) /* this _if_ is not in the specs */
+ swf_GetU16(tag); // fontcodeoffset
}
for(t=0;t<glyphcount;t++)
swf_GetSimpleShape(tag,&(font->glyph[t].shape));
swf_ResetReadBits(tag);
swf_GetRect(tag, font->layout->bounds);
}
+
kerningcount = swf_GetU16(tag);
font->layout->kerningcount = kerningcount;
+
font->layout->kerning = (SWFKERNING*)malloc(sizeof(SWFKERNING)*kerningcount);
if(kerningcount) {
font->layout->kerning =
int swf_FontSetID(SWFFONT * f,U16 id) { if (!f) return -1; f->id = id; return 0; }
int swf_FontReduce(SWFFONT * f,FONTUSAGE * use)
-{ int i,j,num;
+{ int i,j;
if ((!f)||(!use)) return -1;
j = 0;
rgb.b = 0x00;
for(y=0;y<=((font->maxascii-1)/16);y++)
{
- int c=0,lastx=-1, firstx=0;
+ int c=0,lastx=-1;
+ /* TODO: firstx?? */
for(x=0;x<16;x++) {
int g = (y*16+x<font->maxascii)?font->ascii2glyph[y*16+x]:-1;
if(g>=0 && font->glyph[g].shape) {