X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=pdf2swf%2FSWFOutputDev.cc;h=ab19a5a99f4f6e9bd01789fd0bdfb2569b529e37;hb=01c697d88852d3180d64f9abe4c4229e720f6906;hp=a949fe006cc00b01cf197f90742685d13403a6c3;hpb=8f24aec98645fae00512a1baec4072b8a139af58;p=swftools.git diff --git a/pdf2swf/SWFOutputDev.cc b/pdf2swf/SWFOutputDev.cc index a949fe0..ab19a5a 100644 --- a/pdf2swf/SWFOutputDev.cc +++ b/pdf2swf/SWFOutputDev.cc @@ -63,7 +63,7 @@ #include "SWFOutputDev.h" //swftools header files -#include "swfoutput.h" +#include "../lib/devices/swf.h" #include "../lib/log.h" #include "../lib/gfxdevice.h" #include "../lib/gfxtools.h" @@ -101,6 +101,8 @@ static int forceType0Fonts = 1; static void printInfoString(Dict *infoDict, char *key, char *fmt); static void printInfoDate(Dict *infoDict, char *key, char *fmt); +static char* lastfontdir = 0; + struct mapping { char*pdffont; char*filename; @@ -1922,7 +1924,7 @@ char* searchForSuitableFont(GfxFont*gfxFont) char* SWFOutputDev::substituteFont(GfxFont*gfxFont, char* oldname) { char*fontname = 0, *filename = 0; - msg(" subsituteFont(%s)", oldname); + msg(" substituteFont(%s)", oldname); if(!(fontname = searchForSuitableFont(gfxFont))) { fontname = "Times-Roman"; @@ -2099,7 +2101,12 @@ void SWFOutputDev::updateFont(GfxState *state) if(!fileName) { char * fontname = getFontName(gfxFont); msg(" Font %s %scould not be loaded.", fontname, embedded?"":"(not embedded) "); - msg(" Try putting a TTF version of that font (named \"%s.ttf\") into /swftools/fonts", fontname); + + if(lastfontdir) + msg(" Try putting a TTF version of that font (named \"%s.ttf\") into %s/swftools/fonts", fontname, lastfontdir); + else + msg(" Try specifying one or more font directories"); + fileName = substituteFont(gfxFont, fontid); if(fontid) { free(fontid);fontid = strdup(substitutetarget[substitutepos-1]); /*ugly hack*/}; msg(" Font is now %s (%s)", fontid, fileName); @@ -2612,6 +2619,7 @@ void pdfswf_addfontdir(char*dirname) { #ifdef HAVE_DIRENT_H msg(" Adding %s to font directories", dirname); + lastfontdir = strdup(dirname); DIR*dir = opendir(dirname); if(!dir) { msg(" Couldn't open directory %s\n", dirname);