X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fdevices%2Fswf.c;fp=lib%2Fdevices%2Fswf.c;h=1db6b384615bbd2d146147b5502ea0d463a4d9c9;hb=5c25a1fc058ae69818976cbb0e6c6b2f6a1aada5;hp=8d557da7c5801692ff72db43754c7a8d9f787c71;hpb=18cb339268fdf827801ef1ddf3cd714014fd22d1;p=swftools.git diff --git a/lib/devices/swf.c b/lib/devices/swf.c index 8d557da..1db6b38 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,6 +1471,7 @@ 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) { @@ -1496,19 +1491,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(i->config_storeallcharacters) { + 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 */