From c9aec8d3b6f38f4879821683d0ff7ad5a216529c Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Tue, 21 Aug 2012 07:29:40 +0200 Subject: [PATCH] working on cid trutype --- src/HTMLRenderer/install.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/HTMLRenderer/install.cc b/src/HTMLRenderer/install.cc index 618f854..c31cf36 100644 --- a/src/HTMLRenderer/install.cc +++ b/src/HTMLRenderer/install.cc @@ -127,6 +127,7 @@ void HTMLRenderer::install_embedded_font(GfxFont * font, const string & suffix, auto ctu = font->getToUnicode(); int * code2GID = nullptr; + int code2GID_len; if(ctu) { // TODO: ctu could be CID2Unicode for CID fonts @@ -153,9 +154,8 @@ void HTMLRenderer::install_embedded_font(GfxFont * font, const string & suffix, GfxCIDFont * _font = dynamic_cast(font); - int len; // code2GID has been stored for embedded CID fonts - code2GID = _font->getCodeToGIDMap(nullptr, &len); + code2GID = _font->getCodeToGIDMap(nullptr, &code2GID_len); } } @@ -173,7 +173,7 @@ void HTMLRenderer::install_embedded_font(GfxFont * font, const string & suffix, if(n > 0) { ++cnt; - map_fout << format("0x%|1$X|") % (((!font->hasToUnicodeCMap()) && code2GID) ? code2GID[i] : i); + map_fout << format("0x%|1$X|") % ((code2GID && (i < code2GID_len))? code2GID[i] : i); for(int j = 0; j < n; ++j) map_fout << format(" 0x%|1$X|") % u[j]; map_fout << format(" # 0x%|1$X|") % i << endl;