From 98367f3ef7dc76c856db1c8a3721bef5f9b7adfc Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Thu, 13 Aug 2015 11:32:36 -0700 Subject: Revert "Allow external font-path configuration from pdfium_test." This reverts commit d8b5e73d8609b74e6a995ee1768d20d47bd4b089. Broke corpus tests TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1292153002 . --- core/include/fxge/fx_font.h | 2 +- core/include/fxge/fx_ge.h | 5 ++--- core/src/fxge/apple/fx_mac_imp.cpp | 4 ++-- core/src/fxge/ge/fx_ge.cpp | 7 +++---- core/src/fxge/ge/fx_ge_fontmap.cpp | 2 +- core/src/fxge/ge/fx_ge_linux.cpp | 19 ++++++------------- core/src/fxge/win32/fx_win32_device.cpp | 4 ++-- fpdfsdk/src/fpdf_sysfontinfo.cpp | 2 +- fpdfsdk/src/fpdfview.cpp | 7 +------ fpdfsdk/src/fpdfview_c_api_test.c | 1 - public/fpdfview.h | 26 +------------------------- samples/pdfium_test.cc | 26 +++----------------------- testing/tools/run_corpus_tests.py | 8 +++----- 13 files changed, 26 insertions(+), 87 deletions(-) diff --git a/core/include/fxge/fx_font.h b/core/include/fxge/fx_font.h index 5cd16207e6..aa9286ff3e 100644 --- a/core/include/fxge/fx_font.h +++ b/core/include/fxge/fx_font.h @@ -285,7 +285,7 @@ class CFX_FontMapper { }; class IFX_SystemFontInfo { public: - static IFX_SystemFontInfo* CreateDefault(const char** pUserPaths); + static IFX_SystemFontInfo* CreateDefault(); virtual void Release() = 0; virtual FX_BOOL EnumFontList(CFX_FontMapper* pMapper) = 0; diff --git a/core/include/fxge/fx_ge.h b/core/include/fxge/fx_ge.h index ef3c8f665e..0aa3f17d4d 100644 --- a/core/include/fxge/fx_ge.h +++ b/core/include/fxge/fx_ge.h @@ -24,7 +24,7 @@ class IFXG_PaintModuleMgr; class CFX_GEModule { public: - static void Create(const char** pUserFontPaths); + static void Create(); static void Use(CFX_GEModule* pMgr); @@ -46,7 +46,7 @@ class CFX_GEModule { void* GetPlatformData() { return m_pPlatformData; } protected: - explicit CFX_GEModule(const char** pUserFontPaths); + CFX_GEModule(); ~CFX_GEModule(); void InitPlatform(); @@ -58,7 +58,6 @@ class CFX_GEModule { CFX_FontMgr* m_pFontMgr; CCodec_ModuleMgr* m_pCodecModule; void* m_pPlatformData; - const char** m_pUserFontPaths; }; typedef struct { FX_FLOAT m_PointX; diff --git a/core/src/fxge/apple/fx_mac_imp.cpp b/core/src/fxge/apple/fx_mac_imp.cpp index 5a4e6603df..9918ba97e8 100644 --- a/core/src/fxge/apple/fx_mac_imp.cpp +++ b/core/src/fxge/apple/fx_mac_imp.cpp @@ -93,7 +93,7 @@ void* CFX_MacFontInfo::MapFont(int weight, } return NULL; } -IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault(const char** pUnused) { +IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault() { CFX_MacFontInfo* pInfo = new CFX_MacFontInfo; pInfo->AddPath("~/Library/Fonts"); pInfo->AddPath("/Library/Fonts"); @@ -102,7 +102,7 @@ IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault(const char** pUnused) { } void CFX_GEModule::InitPlatform() { m_pPlatformData = new CApplePlatform; - m_pFontMgr->SetSystemFontInfo(IFX_SystemFontInfo::CreateDefault(nullptr)); + m_pFontMgr->SetSystemFontInfo(IFX_SystemFontInfo::CreateDefault()); } void CFX_GEModule::DestroyPlatform() { delete (CApplePlatform*)m_pPlatformData; diff --git a/core/src/fxge/ge/fx_ge.cpp b/core/src/fxge/ge/fx_ge.cpp index 6dfed8837c..d37ed5c714 100644 --- a/core/src/fxge/ge/fx_ge.cpp +++ b/core/src/fxge/ge/fx_ge.cpp @@ -7,13 +7,12 @@ #include "../../../include/fxge/fx_ge.h" #include "text_int.h" static CFX_GEModule* g_pGEModule = NULL; -CFX_GEModule::CFX_GEModule(const char** pUserFontPaths) { +CFX_GEModule::CFX_GEModule() { m_pFontCache = NULL; m_pFontMgr = NULL; m_FTLibrary = NULL; m_pCodecModule = NULL; m_pPlatformData = NULL; - m_pUserFontPaths = pUserFontPaths; } CFX_GEModule::~CFX_GEModule() { delete m_pFontCache; @@ -25,8 +24,8 @@ CFX_GEModule::~CFX_GEModule() { CFX_GEModule* CFX_GEModule::Get() { return g_pGEModule; } -void CFX_GEModule::Create(const char** userFontPaths) { - g_pGEModule = new CFX_GEModule(userFontPaths); +void CFX_GEModule::Create() { + g_pGEModule = new CFX_GEModule; g_pGEModule->m_pFontMgr = new CFX_FontMgr; g_pGEModule->InitPlatform(); g_pGEModule->SetTextGamma(2.2f); diff --git a/core/src/fxge/ge/fx_ge_fontmap.cpp b/core/src/fxge/ge/fx_ge_fontmap.cpp index d4416d9487..02af775a31 100644 --- a/core/src/fxge/ge/fx_ge_fontmap.cpp +++ b/core/src/fxge/ge/fx_ge_fontmap.cpp @@ -1270,7 +1270,7 @@ extern FX_BOOL _LoadFile(FXFT_Library library, IFX_FileRead* pFile, FXFT_Stream* stream); #if _FX_OS_ == _FX_ANDROID_ -IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault(const char** pUnused) { +IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault() { return NULL; } #endif diff --git a/core/src/fxge/ge/fx_ge_linux.cpp b/core/src/fxge/ge/fx_ge_linux.cpp index 8ff0a4e5b1..299806ca07 100644 --- a/core/src/fxge/ge/fx_ge_linux.cpp +++ b/core/src/fxge/ge/fx_ge_linux.cpp @@ -34,7 +34,7 @@ class CFX_LinuxFontInfo : public CFX_FolderFontInfo { int pitch_family, const FX_CHAR* family, int& iExact) override; - FX_BOOL ParseFontCfg(const char** pUserPaths); + FX_BOOL ParseFontCfg(); void* FindFont(int weight, FX_BOOL bItalic, int charset, @@ -227,9 +227,9 @@ void* CFX_LinuxFontInfo::FindFont(int weight, } return pFind; } -IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault(const char** pUserPaths) { +IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault() { CFX_LinuxFontInfo* pInfo = new CFX_LinuxFontInfo; - if (!pInfo->ParseFontCfg(pUserPaths)) { + if (!pInfo->ParseFontCfg()) { pInfo->AddPath("/usr/share/fonts"); pInfo->AddPath("/usr/share/X11/fonts/Type1"); pInfo->AddPath("/usr/share/X11/fonts/TTF"); @@ -237,18 +237,11 @@ IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault(const char** pUserPaths) { } return pInfo; } -FX_BOOL CFX_LinuxFontInfo::ParseFontCfg(const char** pUserPaths) { - if (!pUserPaths) { - return FALSE; - } - for (const char** pPath = pUserPaths; *pPath; ++pPath) { - AddPath(*pPath); - } - return TRUE; +FX_BOOL CFX_LinuxFontInfo::ParseFontCfg() { + return FALSE; } void CFX_GEModule::InitPlatform() { - m_pFontMgr->SetSystemFontInfo( - IFX_SystemFontInfo::CreateDefault(m_pUserFontPaths)); + m_pFontMgr->SetSystemFontInfo(IFX_SystemFontInfo::CreateDefault()); } void CFX_GEModule::DestroyPlatform() {} #endif // _FXM_PLATFORM_ == _FXM_PLATFORM_LINUX_ diff --git a/core/src/fxge/win32/fx_win32_device.cpp b/core/src/fxge/win32/fx_win32_device.cpp index c3325ba738..4cfc6cbf82 100644 --- a/core/src/fxge/win32/fx_win32_device.cpp +++ b/core/src/fxge/win32/fx_win32_device.cpp @@ -401,7 +401,7 @@ FX_BOOL CFX_Win32FontInfo::GetFontCharset(void* hFont, int& charset) { charset = tm.tmCharSet; return TRUE; } -IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault(const char** pUnused) { +IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault() { return new CFX_Win32FontInfo; } void CFX_GEModule::InitPlatform() { @@ -412,7 +412,7 @@ void CFX_GEModule::InitPlatform() { pPlatformData->m_bHalfTone = ver.dwMajorVersion >= 5; pPlatformData->m_GdiplusExt.Load(); m_pPlatformData = pPlatformData; - m_pFontMgr->SetSystemFontInfo(IFX_SystemFontInfo::CreateDefault(nullptr)); + m_pFontMgr->SetSystemFontInfo(IFX_SystemFontInfo::CreateDefault()); } void CFX_GEModule::DestroyPlatform() { delete (CWin32Platform*)m_pPlatformData; diff --git a/fpdfsdk/src/fpdf_sysfontinfo.cpp b/fpdfsdk/src/fpdf_sysfontinfo.cpp index 804efe3020..a0fdb5083d 100644 --- a/fpdfsdk/src/fpdf_sysfontinfo.cpp +++ b/fpdfsdk/src/fpdf_sysfontinfo.cpp @@ -168,7 +168,7 @@ static void DefaultDeleteFont(struct _FPDF_SYSFONTINFO* pThis, void* hFont) { } DLLEXPORT FPDF_SYSFONTINFO* STDCALL FPDF_GetDefaultSystemFontInfo() { - IFX_SystemFontInfo* pFontInfo = IFX_SystemFontInfo::CreateDefault(nullptr); + IFX_SystemFontInfo* pFontInfo = IFX_SystemFontInfo::CreateDefault(); if (pFontInfo == NULL) return NULL; diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp index 2700aebddc..9ad3384803 100644 --- a/fpdfsdk/src/fpdfview.cpp +++ b/fpdfsdk/src/fpdfview.cpp @@ -91,14 +91,9 @@ CFontMapper* g_pFontMapper = NULL; #endif // #if _FX_OS_ == _FX_LINUX_EMBEDDED_ DLLEXPORT void STDCALL FPDF_InitLibrary() { - FPDF_InitLibraryWithConfig(nullptr); -} - -DLLEXPORT void STDCALL FPDF_InitLibraryWithConfig( - const FPDF_LIBRARY_CONFIG* cfg) { g_pCodecModule = new CCodec_ModuleMgr(); - CFX_GEModule::Create(cfg ? cfg->m_pUserFontPaths : nullptr); + CFX_GEModule::Create(); CFX_GEModule::Get()->SetCodecModule(g_pCodecModule); CPDF_ModuleMgr::Create(); diff --git a/fpdfsdk/src/fpdfview_c_api_test.c b/fpdfsdk/src/fpdfview_c_api_test.c index a17f7b6c1e..3fd682d394 100644 --- a/fpdfsdk/src/fpdfview_c_api_test.c +++ b/fpdfsdk/src/fpdfview_c_api_test.c @@ -172,7 +172,6 @@ int CheckPDFiumCApi() { // fpdfview.h CHK(FPDF_InitLibrary); - CHK(FPDF_InitLibraryWithConfig); CHK(FPDF_DestroyLibrary); CHK(FPDF_SetSandBoxPolicy); CHK(FPDF_LoadDocument); diff --git a/public/fpdfview.h b/public/fpdfview.h index 9d199a1d2e..8379226411 100644 --- a/public/fpdfview.h +++ b/public/fpdfview.h @@ -124,33 +124,9 @@ extern "C" { // Return value: // None. // Comments: -// Convenience function to call FPDF_InitLibraryWithConfig() for -// backwards comatibility purposes. -DLLEXPORT void STDCALL FPDF_InitLibrary(); - -// Process-wide options for initializing library. -typedef struct FPDF_LIBRARY_CONFIG_ { - // Version number of the interface. Currently must be 1. - int version; - - // Array of paths to scan in place of the defaults when using built-in - // FXGE font loading code. The array is terminated by a NULL pointer. - // The Array may be NULL itself to use the default paths. May be ignored - // entirely depending upon the platform. - const char** m_pUserFontPaths; -} FPDF_LIBRARY_CONFIG; - -// Function: FPDF_InitLibraryWithConfig -// Initialize the FPDFSDK library -// Parameters: -// cfg - configuration information as above. -// Return value: -// None. -// Comments: // You have to call this function before you can call any PDF // processing functions. -DLLEXPORT void STDCALL FPDF_InitLibraryWithConfig( - const FPDF_LIBRARY_CONFIG* config); +DLLEXPORT void STDCALL FPDF_InitLibrary(); // Function: FPDF_DestroyLibary // Release all resources allocated by the FPDFSDK library. diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc index 5a171c3933..0d76b63f26 100644 --- a/samples/pdfium_test.cc +++ b/samples/pdfium_test.cc @@ -46,7 +46,6 @@ struct Options { std::string scale_factor_as_string; std::string exe_path; std::string bin_directory; - std::string font_directory; }; // Reads the entire contents of a file into a newly malloc'd buffer. @@ -348,15 +347,7 @@ bool ParseCommandLine(const std::vector& args, return false; } options->output_format = OUTPUT_PNG; - } else if (cur_arg.size() > 11 && - cur_arg.compare(0, 11, "--font-dir=") == 0) { - if (!options->font_directory.empty()) { - fprintf(stderr, "Duplicate --font-dir argument\n"); - return false; - } - options->font_directory = cur_arg.substr(11); } - #ifdef _WIN32 else if (cur_arg == "--emf") { if (options->output_format != OUTPUT_NONE) { @@ -569,9 +560,8 @@ void RenderPdf(const std::string& name, const char* pBuf, size_t len, static const char usage_string[] = "Usage: pdfium_test [OPTION] [FILE]...\n" - " --bin-dir= - override path to v8 external data\n" - " --font-dir= - override path to external fonts\n" - " --scale= - scale output size by number (e.g. 0.5)\n" + " --bin-dir= - override path to v8 external data\n" + " --scale= - scale output size by number (e.g. 0.5)\n" #ifdef _WIN32 " --bmp - write page images ..bmp\n" " --emf - write page meta files ..emf\n" @@ -609,17 +599,7 @@ int main(int argc, const char* argv[]) { v8::V8::SetSnapshotDataBlob(&snapshot); #endif // V8_USE_EXTERNAL_STARTUP_DATA - if (!options.font_directory.empty()) { - const char* path_array[2]; - path_array[0] = options.font_directory.c_str(); - path_array[1] = nullptr; - FPDF_LIBRARY_CONFIG config; - config.version = 1; - config.m_pUserFontPaths = path_array; - FPDF_InitLibraryWithConfig(&config); - } else { - FPDF_InitLibrary(); - } + FPDF_InitLibrary(); UNSUPPORT_INFO unsuppored_info; memset(&unsuppored_info, '\0', sizeof(unsuppored_info)); diff --git a/testing/tools/run_corpus_tests.py b/testing/tools/run_corpus_tests.py index d33a14971c..28616fb531 100755 --- a/testing/tools/run_corpus_tests.py +++ b/testing/tools/run_corpus_tests.py @@ -21,14 +21,13 @@ import suppressor # c_dir - "path/to/a/b/c" def test_one_file(input_filename, source_dir, working_dir, - pdfium_test_path, font_dir, image_differ): + pdfium_test_path, image_differ): input_path = os.path.join(source_dir, input_filename) pdf_path = os.path.join(working_dir, input_filename) try: shutil.copyfile(input_path, pdf_path) sys.stdout.flush() - subprocess.check_call([pdfium_test_path, '--font-dir=' + font_dir, - '--png', pdf_path]) + subprocess.check_call([pdfium_test_path, '--png', pdf_path]) except subprocess.CalledProcessError as e: print "FAILURE: " + input_filename + "; " + str(e) return False @@ -58,7 +57,6 @@ def main(): failures = [] surprises = [] walk_from_dir = finder.TestingDir('corpus'); - font_dir = os.path.join(walk_from_dir, 'fonts'); input_file_re = re.compile('^[a-zA-Z0-9_.]+[.]pdf$') for source_dir, _, filename_list in os.walk(walk_from_dir): for input_filename in filename_list: @@ -66,7 +64,7 @@ def main(): input_path = os.path.join(source_dir, input_filename) if os.path.isfile(input_path): result = test_one_file(input_filename, source_dir, working_dir, - pdfium_test_path, font_dir, image_differ) + pdfium_test_path, image_differ) if test_suppressor.IsSuppressed(input_filename): if result: surprises.append(input_path) -- cgit v1.2.3