From 2fcc7c77cab2279ceaa17132c5cb21c48a3a9e21 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Wed, 6 Jul 2022 11:43:49 +0200 Subject: [PATCH] Improve fonts Setting the proper weight makes the fonts pixel perfect now --- skins/material3/QskMaterial3Skin.cpp | 19 +++++++++++++------ skins/material3/QskMaterial3Skin.h | 3 ++- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/skins/material3/QskMaterial3Skin.cpp b/skins/material3/QskMaterial3Skin.cpp index c143624b..b1bdd573 100644 --- a/skins/material3/QskMaterial3Skin.cpp +++ b/skins/material3/QskMaterial3Skin.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -89,11 +90,16 @@ namespace const QskMaterial3Theme& m_pal; }; - QFont createFont( int pixelSize, QFont::Weight weight = QFont::Normal ) + QFont createFont( int pixelSize, qreal tracking, QFont::Weight weight ) { QFont font( "Roboto" ); font.setPixelSize( pixelSize ); - font.setLetterSpacing( QFont::AbsoluteSpacing, 0.1 ); + + if( !qskFuzzyCompare( tracking, 0.0 ) ) + { + font.setLetterSpacing( QFont::AbsoluteSpacing, tracking ); + } + font.setWeight( weight ); return font; @@ -228,7 +234,7 @@ void Editor::setupMenu() setStrutSize( Q::Graphic, { 46, -1 } ); setColor( Q::Text, m_pal.onSurface ); - setFontRole( Q::Text, QskMaterial3Skin::M3BodyLarge ); + setFontRole( Q::Text, QskMaterial3Skin::M3BodyMedium ); setPosition( Q::Panel, 0 ); setPosition( Q::Panel | QskPopup::Closed, 1 ); @@ -969,9 +975,10 @@ void QskMaterial3Skin::setupFonts() { Inherited::setupFonts( QStringLiteral( "Roboto" ) ); - setFont( M3BodyLarge, createFont( 16 ) ); - setFont( M3HeadlineSmall, createFont( 28 ) ); - setFont( M3LabelLarge, createFont( 14 ) ); + setFont( M3BodyMedium, createFont( 14, 0.25, QFont::Normal ) ); + setFont( M3BodyLarge, createFont( 16, 0.5, QFont::Normal ) ); + setFont( M3HeadlineSmall, createFont( 28, 0.0, QFont::Normal ) ); + setFont( M3LabelLarge, createFont( 14, 0.1, QFont::Medium ) ); } #include "moc_QskMaterial3Skin.cpp" diff --git a/skins/material3/QskMaterial3Skin.h b/skins/material3/QskMaterial3Skin.h index f30c5bf1..834d3535 100644 --- a/skins/material3/QskMaterial3Skin.h +++ b/skins/material3/QskMaterial3Skin.h @@ -98,7 +98,8 @@ class QSK_MATERIAL3_EXPORT QskMaterial3Skin : public QskSkin enum FontRole { - M3BodyLarge = QskSkin::HugeFont + 1, + M3BodyMedium = QskSkin::HugeFont + 1, + M3BodyLarge, M3HeadlineSmall, M3LabelLarge, };