From 07d048ef36935424c4415408127a210f43b89afa Mon Sep 17 00:00:00 2001 From: SoftFever Date: Mon, 10 Apr 2023 20:44:20 +0800 Subject: [PATCH] USE_PRIVATE_FONTS --- deps/wxWidgets/wxWidgets.cmake | 8 +++----- src/slic3r/GUI/Widgets/Label.cpp | 11 +++++++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/deps/wxWidgets/wxWidgets.cmake b/deps/wxWidgets/wxWidgets.cmake index 0f45886b3e..f7e639411f 100644 --- a/deps/wxWidgets/wxWidgets.cmake +++ b/deps/wxWidgets/wxWidgets.cmake @@ -1,15 +1,13 @@ set(_wx_git_tag v3.1.5) set(_wx_toolkit "") -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1") + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") set(_gtk_ver 2) if (DEP_WX_GTK3) set(_gtk_ver 3) endif () set(_wx_toolkit "-DwxBUILD_TOOLKIT=gtk${_gtk_ver}") - set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1") -else () - set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=0") endif() if (MSVC) @@ -19,7 +17,7 @@ else () endif () if (MSVC) - set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch) + # set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch) else () set(_patch_cmd test -f WXWIDGETS_PATCHED || ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch && touch WXWIDGETS_PATCHED) endif () diff --git a/src/slic3r/GUI/Widgets/Label.cpp b/src/slic3r/GUI/Widgets/Label.cpp index a0c3c77ea7..10b404f815 100644 --- a/src/slic3r/GUI/Widgets/Label.cpp +++ b/src/slic3r/GUI/Widgets/Label.cpp @@ -15,9 +15,12 @@ wxFont Label::sysFont(int size, bool bold) wxFont font{size, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, bold ? wxFONTWEIGHT_BOLD : wxFONTWEIGHT_NORMAL, false, face}; font.SetFaceName(face); if (!font.IsOk()) { - font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); - if (bold) font.MakeBold(); - font.SetPointSize(size); + BOOST_LOG_TRIVIAL(warning) << boost::format("Cann't find HarmonyOS Sans SC font"); + font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); + BOOST_LOG_TRIVIAL(warning) << boost::format("Use system font instead: %1%") % font.GetFaceName(); + if (bold) + font.MakeBold(); + font.SetPointSize(size); } return font; } @@ -44,7 +47,7 @@ wxFont Label::Body_9; void Label::initSysFont() { -#ifdef __linux__ +#if defined(__linux__) || defined(_WIN32) const std::string& resource_path = Slic3r::resources_dir(); wxString font_path = wxString::FromUTF8(resource_path+"/fonts/HarmonyOS_Sans_SC_Bold.ttf"); bool result = wxFont::AddPrivateFont(font_path);