diff --git a/src/utils/kateconfig.h b/src/utils/kateconfig.h --- a/src/utils/kateconfig.h +++ b/src/utils/kateconfig.h @@ -791,6 +791,12 @@ */ void setSchemaInternal(const QString &schema); + /** + * Set the font but drop style name before that. + * Otherwise e.g. styles like bold/italic/... will not work + */ + void setFontWithDroppedStyleName(const QFont &font); + QString m_schema; QFont m_font; QFontMetricsF m_fontMetrics; diff --git a/src/utils/kateconfig.cpp b/src/utils/kateconfig.cpp --- a/src/utils/kateconfig.cpp +++ b/src/utils/kateconfig.cpp @@ -2494,11 +2494,7 @@ m_lineMarkerColor[i] = col; } - QFont f(QFontDatabase::systemFont(QFontDatabase::FixedFont)); - - m_font = config.readEntry("Font", f); - m_fontMetrics = QFontMetricsF(m_font); - m_fontSet = true; + setFontWithDroppedStyleName(config.readEntry("Font", QFontDatabase::systemFont(QFontDatabase::FixedFont))); m_templateBackgroundColor = config.readEntry(QStringLiteral("Color Template Background"), colors.color(Kate::TemplateBackground)); @@ -2539,12 +2535,19 @@ } configStart(); + setFontWithDroppedStyleName(font); + configEnd(); +} - m_fontSet = true; +void KateRendererConfig::setFontWithDroppedStyleName(const QFont &font) +{ + /** + * Drop styleName, otherwise stuff like bold/italic/... won't work as style! + */ m_font = font; + m_font.setStyleName(QString()); m_fontMetrics = QFontMetricsF(m_font); - - configEnd(); + m_fontSet = true; } bool KateRendererConfig::wordWrapMarker() const