X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=pdf2swf%2FSWFOutputDev.cc;h=1bcd2712c49bee6cd1a3d15f1c83b5e1948cf25f;hb=a1479904a4fa6a6b572e10e7d137249ad8938007;hp=6af41024cb1fae099ab5facb6ea714980e097fc5;hpb=d78d39d495201b40537d2c38d42ab34c60467865;p=swftools.git diff --git a/pdf2swf/SWFOutputDev.cc b/pdf2swf/SWFOutputDev.cc index 6af4102..1bcd271 100644 --- a/pdf2swf/SWFOutputDev.cc +++ b/pdf2swf/SWFOutputDev.cc @@ -343,11 +343,11 @@ void dumpFontInfo(char*loglevel, GfxFont*font) char*name; gstr = font->getName(); Ref r=font->getID(); - logf("%s=========== %s (ID:%d,%d) ==========\n", loglevel, gstr?gstr->getCString():"(unknown font)", r.num,r.gen); + logf("%s=========== %s (ID:%d,%d) ==========\n", loglevel, gstr?FIXNULL(gstr->getCString()):"(unknown font)", r.num,r.gen); gstr = font->getTag(); if(gstr) - logf("%sTag: %s\n", loglevel, gstr->getCString()); + logf("%sTag: %s\n", loglevel, FIXNULL(gstr->getCString())); if(font->is16Bit()) logf("%sis 16 bit\n", loglevel); GfxFontType type=font->getType(); @@ -376,11 +376,11 @@ void dumpFontInfo(char*loglevel, GfxFont*font) GBool embedded = font->getEmbeddedFontID(&embRef); name = font->getEmbeddedFontName(); if(embedded) - logf("%sEmbedded name: %s id: %d\n",loglevel, name, embRef.num); + logf("%sEmbedded name: %s id: %d\n",loglevel, FIXNULL(name), embRef.num); gstr = font->getExtFontFile(); if(gstr) - logf("%sExternal Font file: %s\n", loglevel, gstr->getCString()); + logf("%sExternal Font file: %s\n", loglevel, FIXNULL(gstr->getCString())); // Get font descriptor flags. if(font->isFixedWidth()) logf("%sis fixed width\n", loglevel); @@ -738,7 +738,7 @@ void SWFOutputDev::drawLink(Link *link, Catalog *catalog) { swfoutput_namedlink(&output, named, points); } - logf(" \"%s\" link to \"%s\" (%d)\n", type, s, page); + logf(" \"%s\" link to \"%s\" (%d)\n", type, FIXNULL(s), page); } } @@ -767,8 +767,6 @@ char type3Warning=0; int SWFOutputDev::searchT1Font(char*name) { int i; - - int id=-1; int mapid=-1; char*filename=0; for(i=0;i Loading extra font %s from %s\n", FIXNULL(fontname), + FIXNULL(T1_GetFontFileName(i))); + } + if(fontname && !strcmp(name, fontname)) { + logf(" Extra font %s is being used.\n", fontname); + return i; + } + fontname = T1_GetFontFileName(i); + if(strrchr(fontname,'/')) + fontname = strrchr(fontname,'/')+1; + + if(strstr(fontname, name)) { + logf(" Extra font %s is being used.\n", fontname); + return i; + } } } - return id; + return -1; } void SWFOutputDev::updateLineWidth(GfxState *state) @@ -983,7 +1005,7 @@ char* SWFOutputDev::substituteFont(GfxFont*gfxFont, char* oldname) if(oldname) { substitutesource[substitutepos] = oldname; substitutetarget[substitutepos] = fontname; - logf(" substituting %s -> %s", oldname, fontname); + logf(" substituting %s -> %s", FIXNULL(oldname), FIXNULL(fontname)); substitutepos ++; } return fontname; @@ -1100,7 +1122,7 @@ void SWFOutputDev::updateFont(GfxState *state) return; } - logf(" Creating new SWF font: t1id: %d, filename: %s name:%s", this->t1id, fileName, fontname); + logf(" Creating new SWF font: t1id: %d, filename: %s name:%s", this->t1id, FIXNULL(fileName), FIXNULL(fontname)); swfoutput_setfont(&output, fontname, this->t1id, fileName); if(fileName) unlinkfont(fileName);