if page range is given and % filename syntax is used, name files according to page...
[swftools.git] / src / swfstrings.c
index aae32dd..86d8aed 100644 (file)
@@ -4,8 +4,20 @@
    Part of the swftools package.
    
    Copyright (c) 2000,2001 Rainer Böhme <rfxswf@reflex-studio.de>
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
 
-   This file is distributed under the GPL, see file COPYING for details */
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
 #include <stdio.h>
 #include <fcntl.h>
@@ -27,6 +39,7 @@ int args_callback_option(char*name,char*val)
         printf("swfstrings - part of %s %s\n", PACKAGE, VERSION);
         exit(0);
     }
+    return 0;
 }
 int args_callback_longoption(char*name,char*val)
 {
@@ -49,17 +62,19 @@ int args_callback_command(char*name,char*val)
 
 SWF swf;
   
-void fontcallback(U16 id,U8 * name)
-{ LPSWFFONT font;
-  LPTAG t;
+void fontcallback(void*self,U16 id,U8 * name)
+{ SWFFONT* font;
+  TAG* t;
   
   swf_FontExtract(&swf,id,&font);
-  printf("#< %s %s %s>\n",name,swf_FontIsBold(font)?"bold":"",swf_FontIsItalic(font)?"italic":"");
+  printf("#<font %d \"%s\"%s%s>\n",id, name,swf_FontIsBold(font)?" bold":"",swf_FontIsItalic(font)?" italic":"");
 
   t = swf.firstTag;
 
   while (t)
-  { swf_TextPrintDefineText(t,font);
+  { 
+    if(swf_isTextTag(t))
+       swf_TextPrintDefineText(t,font);
     t = swf_NextTag(t);
   }
   
@@ -73,7 +88,7 @@ int main (int argc,char ** argv)
   if(!filename)
       exit(0);
 
-  f = open(filename,O_RDONLY);
+  f = open(filename,O_RDONLY|O_BINARY);
   if (f>=0)
   { if FAILED(swf_ReadSWF(f,&swf))
     { fprintf(stderr,"%s is not a valid SWF file or contains errors.\n",filename);
@@ -81,7 +96,7 @@ int main (int argc,char ** argv)
     }
     else
     { close(f);
-      swf_FontEnumerate(&swf,&fontcallback);
+      swf_FontEnumerate(&swf,&fontcallback,0);
       swf_FreeTags(&swf);
     }
   } else {