diff options
Diffstat (limited to 'Build/source/libs/xpdf/xpdf-src/splash/SplashFTFontEngine.cc')
-rw-r--r-- | Build/source/libs/xpdf/xpdf-src/splash/SplashFTFontEngine.cc | 53 |
1 files changed, 30 insertions, 23 deletions
diff --git a/Build/source/libs/xpdf/xpdf-src/splash/SplashFTFontEngine.cc b/Build/source/libs/xpdf/xpdf-src/splash/SplashFTFontEngine.cc index 3ba033c9db3..33939541051 100644 --- a/Build/source/libs/xpdf/xpdf-src/splash/SplashFTFontEngine.cc +++ b/Build/source/libs/xpdf/xpdf-src/splash/SplashFTFontEngine.cc @@ -8,7 +8,7 @@ #include <aconf.h> -#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H +#if HAVE_FREETYPE_H #ifdef USE_GCC_PRAGMAS #pragma implementation @@ -19,6 +19,7 @@ # include <unistd.h> #endif #include "gmem.h" +#include "gmempp.h" #include "GString.h" #include "gfile.h" #include "FoFiTrueType.h" @@ -87,13 +88,13 @@ SplashFontFile *SplashFTFontEngine::loadType1Font(SplashFontFileID *idA, GBool deleteFile, #endif const char **enc) { - return SplashFTFontFile::loadType1Font(this, idA, + return SplashFTFontFile::loadType1Font(this, idA, splashFontType1, #if LOAD_FONTS_FROM_MEM fontBuf, #else fileName, deleteFile, #endif - enc, gTrue); + enc); } SplashFontFile *SplashFTFontEngine::loadType1CFont(SplashFontFileID *idA, @@ -104,13 +105,13 @@ SplashFontFile *SplashFTFontEngine::loadType1CFont(SplashFontFileID *idA, GBool deleteFile, #endif const char **enc) { - return SplashFTFontFile::loadType1Font(this, idA, + return SplashFTFontFile::loadType1Font(this, idA, splashFontType1C, #if LOAD_FONTS_FROM_MEM fontBuf, #else fileName, deleteFile, #endif - enc, gFalse); + enc); } SplashFontFile *SplashFTFontEngine::loadOpenTypeT1CFont(SplashFontFileID *idA, @@ -143,8 +144,8 @@ SplashFontFile *SplashFTFontEngine::loadOpenTypeT1CFont(SplashFontFileID *idA, fontBuf2 = new GString(); ff->convertToType1(NULL, enc, gFalse, &gstringWrite, fontBuf2); delete ff; - ret = SplashFTFontFile::loadType1Font(this, idA, fontBuf2, enc, - gFalse); + ret = SplashFTFontFile::loadType1Font(this, idA, splashFontType1, + fontBuf2, enc); if (ret) { delete fontBuf; } else { @@ -159,8 +160,9 @@ SplashFontFile *SplashFTFontEngine::loadOpenTypeT1CFont(SplashFontFileID *idA, ff->convertToType1(NULL, enc, gFalse, &fileWrite, tmpFile); delete ff; fclose(tmpFile); - ret = SplashFTFontFile::loadType1Font(this, idA, tmpFileName->getCString(), - gTrue, enc, gFalse); + ret = SplashFTFontFile::loadType1Font(this, idA, splashFontType1, + tmpFileName->getCString(), + gTrue, enc); if (ret) { if (deleteFile) { unlink(fileName); @@ -172,32 +174,36 @@ SplashFontFile *SplashFTFontEngine::loadOpenTypeT1CFont(SplashFontFileID *idA, #endif } else { delete ff; - ret = SplashFTFontFile::loadType1Font(this, idA, + ret = SplashFTFontFile::loadType1Font(this, idA, splashFontOpenTypeT1C, #if LOAD_FONTS_FROM_MEM fontBuf, #else fileName, deleteFile, #endif - enc, gFalse); + enc); } return ret; } SplashFontFile *SplashFTFontEngine::loadCIDFont(SplashFontFileID *idA, #if LOAD_FONTS_FROM_MEM - GString *fontBuf + GString *fontBuf, #else char *fileName, - GBool deleteFile + GBool deleteFile, #endif - ) { + int *codeToGID, + int codeToGIDLen) { FoFiType1C *ff; int *cidToGIDMap; int nCIDs; SplashFontFile *ret; // check for a CFF font - if (useCIDs) { + if (codeToGID) { + cidToGIDMap = NULL; + nCIDs = 0; + } else if (useCIDs) { cidToGIDMap = NULL; nCIDs = 0; #if LOAD_FONTS_FROM_MEM @@ -212,13 +218,14 @@ SplashFontFile *SplashFTFontEngine::loadCIDFont(SplashFontFileID *idA, cidToGIDMap = NULL; nCIDs = 0; } - ret = SplashFTFontFile::loadCIDFont(this, idA, + ret = SplashFTFontFile::loadCIDFont(this, idA, splashFontCID, #if LOAD_FONTS_FROM_MEM fontBuf, #else fileName, deleteFile, #endif - cidToGIDMap, nCIDs); + codeToGID ? codeToGID : cidToGIDMap, + codeToGID ? codeToGIDLen : nCIDs); if (!ret) { gfree(cidToGIDMap); } @@ -266,8 +273,8 @@ SplashFontFile *SplashFTFontEngine::loadOpenTypeCFFFont(SplashFontFileID *idA, if (!useCIDs) { cidToGIDMap = ff->getCIDToGIDMap(&nCIDs); } - ret = SplashFTFontFile::loadCIDFont(this, idA, fontBuf2, - cidToGIDMap, nCIDs); + ret = SplashFTFontFile::loadCIDFont(this, idA, splashFontOpenTypeCFF, + fontBuf2, cidToGIDMap, nCIDs); if (ret) { delete fontBuf; } else { @@ -284,7 +291,7 @@ SplashFontFile *SplashFTFontEngine::loadOpenTypeCFFFont(SplashFontFileID *idA, if (!useCIDs) { cidToGIDMap = ff->getCIDToGIDMap(&nCIDs); } - ret = SplashFTFontFile::loadCIDFont(this, idA, + ret = SplashFTFontFile::loadCIDFont(this, idA, splashFontOpenTypeCFF, tmpFileName->getCString(), gTrue, cidToGIDMap, nCIDs); if (ret) { @@ -300,7 +307,7 @@ SplashFontFile *SplashFTFontEngine::loadOpenTypeCFFFont(SplashFontFileID *idA, if (!codeToGID && !useCIDs && ff->isOpenTypeCFF()) { cidToGIDMap = ff->getCIDToGIDMap(&nCIDs); } - ret = SplashFTFontFile::loadCIDFont(this, idA, + ret = SplashFTFontFile::loadCIDFont(this, idA, splashFontOpenTypeCFF, #if LOAD_FONTS_FROM_MEM fontBuf, #else @@ -356,7 +363,7 @@ SplashFontFile *SplashFTFontEngine::loadTrueTypeFont(SplashFontFileID *idA, fclose(tmpFile); #endif delete ff; - ret = SplashFTFontFile::loadTrueTypeFont(this, idA, + ret = SplashFTFontFile::loadTrueTypeFont(this, idA, splashFontTrueType, #if LOAD_FONTS_FROM_MEM fontBuf2, #else @@ -382,4 +389,4 @@ SplashFontFile *SplashFTFontEngine::loadTrueTypeFont(SplashFontFileID *idA, return ret; } -#endif // HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H +#endif // HAVE_FREETYPE_H |