From 727c1172f6b10691735fa9d8f94d27b960d4feec Mon Sep 17 00:00:00 2001 From: kramm Date: Mon, 5 Nov 2001 15:30:31 +0000 Subject: [PATCH] fixed some bugs in extractdefinefont2 --- lib/modules/swftext.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/modules/swftext.c b/lib/modules/swftext.c index c1eafaf..270447d 100644 --- a/lib/modules/swftext.c +++ b/lib/modules/swftext.c @@ -158,9 +158,15 @@ int swf_FontExtract_DefineFont2(int id,SWFFONT * font,TAG * tag) { 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); @@ -238,13 +244,14 @@ int swf_FontExtract_DefineFont2(int id,SWFFONT * font,TAG * 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; } -- 1.7.10.4