small bugfixes
[swftools.git] / lib / devices / swf.c
index 8d557da..5f0fe70 100644 (file)
@@ -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("<debug> 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  */