From 5716d89d52d430e2a97f0d3f876ba38d68a23941 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Mon, 30 Jun 2025 21:42:50 -0500 Subject: [PATCH] On macOS, set font pixel size instead of point size to prevent tiny display --- scwx-qt/source/scwx/qt/manager/font_manager.cpp | 6 ++++++ scwx-qt/source/scwx/qt/ui/settings_dialog.cpp | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/scwx-qt/source/scwx/qt/manager/font_manager.cpp b/scwx-qt/source/scwx/qt/manager/font_manager.cpp index d92d3bd7..c1553418 100644 --- a/scwx-qt/source/scwx/qt/manager/font_manager.cpp +++ b/scwx-qt/source/scwx/qt/manager/font_manager.cpp @@ -191,7 +191,13 @@ void FontManager::Impl::UpdateQFont(types::FontCategory fontCategory) QFont font = QFontDatabase::font(QString::fromStdString(family), QString::fromStdString(styles), static_cast(size.value())); + +#if !defined(__APPLE__) font.setPointSizeF(size.value()); +#else + const units::font_size::pixels pixelSize {size}; + font.setPixelSize(static_cast(pixelSize.value())); +#endif fontCategoryQFontMap_.insert_or_assign(fontCategory, font); } diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp index 4f63743f..81e3a96d 100644 --- a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp @@ -1496,6 +1496,12 @@ void SettingsDialogImpl::UpdateFontDisplayData() self_->ui->fontStyleLabel->setText(font.styleName()); self_->ui->fontSizeLabel->setText(QString::number(font.pointSizeF())); +#if defined(__APPLE__) + const units::font_size::points fontSize {font.pointSizeF()}; + const units::font_size::pixels fontPixels {fontSize}; + font.setPixelSize(static_cast(fontPixels.value())); +#endif + self_->ui->fontPreviewLabel->setFont(font); if (selectedFontCategory_ != types::FontCategory::Unknown)