mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 03:50:05 +00:00 
			
		
		
		
	Set fontconfig environment in Linux
This commit is contained in:
		
							parent
							
								
									4916dfe85a
								
							
						
					
					
						commit
						3a754c01c5
					
				
					 1 changed files with 18 additions and 0 deletions
				
			
		|  | @ -1,6 +1,7 @@ | ||||||
| #include <scwx/qt/manager/font_manager.hpp> | #include <scwx/qt/manager/font_manager.hpp> | ||||||
| #include <scwx/qt/manager/settings_manager.hpp> | #include <scwx/qt/manager/settings_manager.hpp> | ||||||
| #include <scwx/qt/settings/text_settings.hpp> | #include <scwx/qt/settings/text_settings.hpp> | ||||||
|  | #include <scwx/util/environment.hpp> | ||||||
| #include <scwx/util/logger.hpp> | #include <scwx/util/logger.hpp> | ||||||
| 
 | 
 | ||||||
| #include <filesystem> | #include <filesystem> | ||||||
|  | @ -50,6 +51,7 @@ class FontManager::Impl | ||||||
| public: | public: | ||||||
|    explicit Impl(FontManager* self) : self_ {self} |    explicit Impl(FontManager* self) : self_ {self} | ||||||
|    { |    { | ||||||
|  |       InitializeEnvironment(); | ||||||
|       InitializeFontCache(); |       InitializeFontCache(); | ||||||
|       InitializeFontconfig(); |       InitializeFontconfig(); | ||||||
|       ConnectSignals(); |       ConnectSignals(); | ||||||
|  | @ -58,6 +60,7 @@ public: | ||||||
| 
 | 
 | ||||||
|    void ConnectSignals(); |    void ConnectSignals(); | ||||||
|    void FinalizeFontconfig(); |    void FinalizeFontconfig(); | ||||||
|  |    void InitializeEnvironment(); | ||||||
|    void InitializeFontCache(); |    void InitializeFontCache(); | ||||||
|    void InitializeFontconfig(); |    void InitializeFontconfig(); | ||||||
|    void UpdateImGuiFont(types::FontCategory fontCategory); |    void UpdateImGuiFont(types::FontCategory fontCategory); | ||||||
|  | @ -385,6 +388,21 @@ void FontManager::LoadApplicationFont(types::Font        font, | ||||||
|    } |    } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void FontManager::Impl::InitializeEnvironment() | ||||||
|  | { | ||||||
|  | #if defined(__linux__) | ||||||
|  |    // Because of the way Fontconfig is built with Conan, FONTCONFIG_PATH must be
 | ||||||
|  |    // defined on Linux to ensure fonts can be found
 | ||||||
|  |    static const std::string kFontconfigPathKey {"FONTCONFIG_PATH"}; | ||||||
|  | 
 | ||||||
|  |    std::string fontconfigPath = scwx::util::GetEnvironment(kFontconfigPathKey); | ||||||
|  |    if (fontconfigPath.empty()) | ||||||
|  |    { | ||||||
|  |       scwx::util::SetEnvironment(kFontconfigPathKey, "/etc/fonts"); | ||||||
|  |    } | ||||||
|  | #endif | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void FontManager::Impl::InitializeFontCache() | void FontManager::Impl::InitializeFontCache() | ||||||
| { | { | ||||||
|    std::string cachePath { |    std::string cachePath { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat