made swf_Relocate return a success code
[swftools.git] / lib / modules / swftext.c
index 1e689de..d2b8989 100644 (file)
@@ -1325,7 +1325,7 @@ SRECT swf_TextCalculateBBoxUTF8(SWFFONT * font, U8 * s, int scale)
 }
 
 
-SWFFONT *swf_ReadFont(char *filename)
+SWFFONT *swf_ReadFont(const char *filename)
 {
     int f;
     SWF swf;
@@ -1365,7 +1365,7 @@ void swf_WriteFont(SWFFONT * font, char *filename)
 
     memset(&swf, 0x00, sizeof(SWF));
 
-    swf.fileVersion = 4;
+    swf.fileVersion = 9;
     swf.frameRate = 0x4000;
 
     /* if we use DefineFont1 to store the characters,
@@ -1390,6 +1390,17 @@ void swf_WriteFont(SWFFONT * font, char *filename)
        t = swf_InsertTag(t, ST_DEFINEFONT2);
        swf_FontSetDefine2(t, font);
     }
+    if(font->name) {
+       t = swf_InsertTag(t, ST_NAMECHARACTER);
+        swf_SetU16(t, WRITEFONTID);
+        swf_SetString(t, font->name);
+       t = swf_InsertTag(t, ST_EXPORTASSETS);
+        swf_SetU16(t, 1);
+        swf_SetU16(t, WRITEFONTID);
+        swf_SetString(t, font->name);
+
+        t = swf_AddAS3FontDefine(t, WRITEFONTID, font->name);
+    }
 
     if (storeGlyphNames && font->glyphnames) {
        int c;