| Index: core/src/fxge/ge/fx_ge_linux.cpp
|
| diff --git a/core/src/fxge/ge/fx_ge_linux.cpp b/core/src/fxge/ge/fx_ge_linux.cpp
|
| index 299806ca07ed36cbdb888f3fceae0b3525618a76..8ff0a4e5b179834d9395092b578ddac72fa1b21a 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_
|
|
|