X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fmodules%2Fswffont.c;h=ba0b66e6f09d8bb61744fd6e056158ec267da7d1;hb=c32b62c37628a900047e324f7c65b6deac619eb6;hp=1663b8e9ffb6d36c33c41fbe088d8c893f4697b4;hpb=21ddd4444db6cddf2a02975c95f7dbb1eff3f6c6;p=swftools.git diff --git a/lib/modules/swffont.c b/lib/modules/swffont.c index 1663b8e..ba0b66e 100644 --- a/lib/modules/swffont.c +++ b/lib/modules/swffont.c @@ -407,8 +407,29 @@ SWFFONT* swf_LoadT1Font(char*filename) #endif +static int isSWF(const char*filename) +{ + FILE*fi = fopen(filename, "rb"); + char a[8]; + if(!fi) { + perror(filename); + return 0; + } + memset(a, 0, sizeof(a)); + fread(a, 4, 1, fi); + fclose(fi); + + if(!strncmp(a, "FWS", 3) || !strncmp(a, "CWS", 3)) { + return 1; + } + return 0; +} + SWFFONT* swf_LoadFont(char*filename) { + if(isSWF(filename)) { + return swf_ReadFont(filename); + } #if defined(USE_FREETYPE) return swf_LoadTrueTypeFont(filename); #elif defined(HAVE_T1LIB)