Git commit d32f5c341c3d9ca70a84c7f30e54cdf05db87733 by Dominik Haumann. Committed on 03/07/2012 at 13:58. Pushed by dhaumann into branch 'master'. make font "Courier New" work FIXED-IN: 4.9 CCMAIL: ps_ml@gmx.de BUG: 302748 M +13 -1 part/render/katerenderer.cpp M +1 -0 part/render/katerenderer.h http://commits.kde.org/kate/d32f5c341c3d9ca70a84c7f30e54cdf05db87733 diff --git a/part/render/katerenderer.cpp b/part/render/katerenderer.cpp index 77b2b16..ad3c61d 100644 --- a/part/render/katerenderer.cpp +++ b/part/render/katerenderer.cpp @@ -59,6 +59,9 @@ KateRenderer::KateRenderer(KateDocument* doc, KateView *v= iew) , m_config(new KateRendererConfig(this)) { updateAttributes (); + + // initialize with a sane font height + m_fontHeight =3D m_config->fontMetrics().height(); } = KateRenderer::~KateRenderer() @@ -778,7 +781,7 @@ const QFontMetrics& KateRenderer::currentFontMetrics() = const = uint KateRenderer::fontHeight() const { - return config()->fontMetrics().height(); + return m_fontHeight; } = uint KateRenderer::documentHeight() const @@ -845,6 +848,15 @@ void KateRenderer::updateConfig () = if (m_view) m_view->updateRendererConfig(); + + // Sometimes the height of italic fonts is larger than for the non-italic + // font. Since all our lines are of same/fixed height, use the maximum of + // both heights (bug #302748) + QFont italicFont =3D config()->font(); + italicFont.setItalic(true); + const int italicFontHeight =3D QFontMetrics(italicFont).height(); + const int fontHeight =3D config()->fontMetrics().height(); + m_fontHeight =3D qMax(fontHeight, italicFontHeight); } = uint KateRenderer::spaceWidth() const diff --git a/part/render/katerenderer.h b/part/render/katerenderer.h index 6f36aae..b91a468 100644 --- a/part/render/katerenderer.h +++ b/part/render/katerenderer.h @@ -337,6 +337,7 @@ public: // cache of config values int m_tabWidth; int m_indentWidth; + int m_fontHeight; = // some internal flags KateRenderer::caretStyles m_caretStyle;