From 85ffed7fccda75d8670bd3c0d546887f259d298a Mon Sep 17 00:00:00 2001 From: RadRussianRus Date: Fri, 24 Apr 2020 16:58:38 +0300 Subject: [PATCH] Get metrics from custom named Open Sans if available --- ui/style/style_core_font.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/ui/style/style_core_font.cpp b/ui/style/style_core_font.cpp index 42130f5..e563e74 100644 --- a/ui/style/style_core_font.cpp +++ b/ui/style/style_core_font.cpp @@ -159,6 +159,16 @@ QString MonospaceFont() { return family; } +QFontMetrics GetFontMetrics(int size) { +#ifdef DESKTOP_APP_USE_PACKAGED_FONTS + QFont originalFont("Open Sans"); +#else // !DESKTOP_APP_USE_PACKAGED_FONTS + QFont originalFont("DAOpenSansRegular"); +#endif // !DESKTOP_APP_USE_PACKAGED_FONTS + originalFont.setPixelSize(size); + return QFontMetrics(originalFont); +} + enum { FontTypeRegular = 0, FontTypeRegularItalic, @@ -385,10 +395,8 @@ FontData::FontData(int size, uint32 flags, int family, Font *other) m = QFontMetrics(f); - if (UseOriginalMetrics) { - QFont originalFont(fontFamilies[family]); - originalFont.setPixelSize(size); - auto mOrig = QFontMetrics(originalFont); + if (UseOriginalMetrics && !(_flags & FontMonospace)) { + const auto mOrig = GetFontMetrics(size); height = mOrig.height(); ascent = mOrig.ascent();