From e85ff593ee873b600b5b3299a848ee38b218a38a Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Thu, 27 Sep 2012 17:17:08 +0800 Subject: [PATCH] always use default font files for base 14 fonts --- src/HTMLRenderer/install.cc | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/HTMLRenderer/install.cc b/src/HTMLRenderer/install.cc index 81de4bd..0555b7a 100644 --- a/src/HTMLRenderer/install.cc +++ b/src/HTMLRenderer/install.cc @@ -11,8 +11,9 @@ #include #include -#include "Param.h" +#include +#include "Param.h" #include "HTMLRenderer.h" #include "namespace.h" #include "util.h" @@ -109,15 +110,24 @@ void HTMLRenderer::install_base_font(GfxFont * font, GfxFontLoc * font_loc, Font string psname(font_loc->path->getCString()); string basename = psname.substr(0, psname.find('-')); - GfxFontLoc * localfontloc = font->locateFont(xref, gFalse); + GfxFontLoc * localfontloc = font->locateFont(xref, gTrue); if(param->embed_base_font) { if(localfontloc != nullptr) { - embed_font(string(localfontloc->path->getCString()), font, info); - export_remote_font(info, param->font_suffix, param->font_format, font); - delete localfontloc; - return; + GooString * path = globalParams->findBase14FontFile(localfontloc->path, font); + if(path) + { + embed_font(string(path->getCString()), font, info); + export_remote_font(info, param->font_suffix, param->font_format, font); + delete localfontloc; + delete path; + return; + } + else + { + cerr << "Cannot embed base font: f" << hex << info.id << dec << ' ' << psname << endl; + } } else {