X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fdevices%2Fswf.c;h=5f0fe70f9ad6ebbcd14202b2b433d08de9dd222a;hb=a52eae660658ae99a325993a7d7bb373b03d6df0;hp=8d557da7c5801692ff72db43754c7a8d9f787c71;hpb=c4e8d97d137d32868c97280106819a1f868e361c;p=swftools.git diff --git a/lib/devices/swf.c b/lib/devices/swf.c index 8d557da..5f0fe70 100644 --- a/lib/devices/swf.c +++ b/lib/devices/swf.c @@ -739,12 +739,6 @@ static void chararray_writetotag(chararray_t*_chardata, TAG*tag) lastx = chr->x; lasty = chr->y; lastsize = chr->size; - } else { - assert(lastchar>=0); - if(pass==1 && lastchar!=chr->charid) { - swf_FontUsePair(chr->font, lastchar, chr->charid); - swf_FontUsePair(chr->font, chr->charid, lastchar); - } } if(islast) @@ -1477,13 +1471,10 @@ void swfoutput_finalize(gfxdevice_t*dev) endpage(dev); fontlist_t *iterator = i->fontlist; char use_font3 = i->config_flashversion>=8 && !NO_FONT3; + while(iterator) { TAG*mtag = i->swf->firstTag; if(iterator->swffont) { - if(use_font3 && i->config_alignfonts) { - // needs to be done before the reduce - swf_FontCreateAlignZones(iterator->swffont); - } if(!i->config_storeallcharacters) { msg(" Reducing font %s", iterator->swffont->name); swf_FontReduce(iterator->swffont); @@ -1496,19 +1487,19 @@ void swfoutput_finalize(gfxdevice_t*dev) } else { mtag = swf_InsertTag(mtag, ST_DEFINEFONT3); swf_FontSetDefine2(mtag, iterator->swffont); - if(iterator->swffont->alignzones) { - mtag = swf_InsertTag(mtag, ST_DEFINEFONTALIGNZONES); - swf_FontSetAlignZones(mtag, iterator->swffont); - } } } } iterator = iterator->next; } - + i->tag = swf_InsertTag(i->tag,ST_END); TAG* tag = i->tag->prev; + + if(use_font3 && i->config_storeallcharacters && i->config_alignfonts) { + swf_FontPostprocess(i->swf); // generate alignment information + } /* remove the removeobject2 tags between the last ST_SHOWFRAME and the ST_END- they confuse the flash player */