summaryrefslogtreecommitdiff
path: root/core/src/fxge/ge/fx_ge_linux.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-08-13 11:22:54 -0700
committerTom Sepez <tsepez@chromium.org>2015-08-13 11:22:54 -0700
commitd8b5e73d8609b74e6a995ee1768d20d47bd4b089 (patch)
tree12e6c733ed18c273a6f4442e8a711ee478646233 /core/src/fxge/ge/fx_ge_linux.cpp
parente42e23f34f0a685d6765ba547a26cc2e601efefd (diff)
downloadpdfium-d8b5e73d8609b74e6a995ee1768d20d47bd4b089.tar.xz
Allow external font-path configuration from pdfium_test.
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1268323004 .
Diffstat (limited to 'core/src/fxge/ge/fx_ge_linux.cpp')
-rw-r--r--core/src/fxge/ge/fx_ge_linux.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/core/src/fxge/ge/fx_ge_linux.cpp b/core/src/fxge/ge/fx_ge_linux.cpp
index 299806ca07..8ff0a4e5b1 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();
+ FX_BOOL ParseFontCfg(const char** pUserPaths);
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() {
+IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault(const char** pUserPaths) {
CFX_LinuxFontInfo* pInfo = new CFX_LinuxFontInfo;
- if (!pInfo->ParseFontCfg()) {
+ if (!pInfo->ParseFontCfg(pUserPaths)) {
pInfo->AddPath("/usr/share/fonts");
pInfo->AddPath("/usr/share/X11/fonts/Type1");
pInfo->AddPath("/usr/share/X11/fonts/TTF");
@@ -237,11 +237,18 @@ IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault() {
}
return pInfo;
}
-FX_BOOL CFX_LinuxFontInfo::ParseFontCfg() {
- return FALSE;
+FX_BOOL CFX_LinuxFontInfo::ParseFontCfg(const char** pUserPaths) {
+ if (!pUserPaths) {
+ return FALSE;
+ }
+ for (const char** pPath = pUserPaths; *pPath; ++pPath) {
+ AddPath(*pPath);
+ }
+ return TRUE;
}
void CFX_GEModule::InitPlatform() {
- m_pFontMgr->SetSystemFontInfo(IFX_SystemFontInfo::CreateDefault());
+ m_pFontMgr->SetSystemFontInfo(
+ IFX_SystemFontInfo::CreateDefault(m_pUserFontPaths));
}
void CFX_GEModule::DestroyPlatform() {}
#endif // _FXM_PLATFORM_ == _FXM_PLATFORM_LINUX_