[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kate/KDE/4.9] part/render: make font "Courier New" work
From: Dominik Haumann <dhdev () gmx ! de>
Date: 2012-07-03 12:05:30
Message-ID: 20120703120530.BD8BAA60A6 () git ! kde ! org
[Download RAW message or body]
Git commit eea6116bc02c67d3604e6ca246689ebba82bed76 by Dominik Haumann.
Committed on 03/07/2012 at 13:58.
Pushed by dhaumann into branch 'KDE/4.9'.
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/eea6116bc02c67d3604e6ca246689ebba82bed76
diff --git a/part/render/katerenderer.cpp b/part/render/katerenderer.cpp
index 06582aa..606a07d 100644
--- a/part/render/katerenderer.cpp
+++ b/part/render/katerenderer.cpp
@@ -59,6 +59,9 @@ KateRenderer::KateRenderer(KateDocument* doc, KateView *view)
, m_config(new KateRendererConfig(this))
{
updateAttributes ();
+
+ // initialize with a sane font height
+ m_fontHeight = m_config->fontMetrics().height();
}
KateRenderer::~KateRenderer()
@@ -762,7 +765,7 @@ const QFontMetrics& KateRenderer::currentFontMetrics() const
uint KateRenderer::fontHeight()
{
- return config()->fontMetrics().height();
+ return m_fontHeight;
}
uint KateRenderer::documentHeight()
@@ -829,6 +832,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 = config()->font();
+ italicFont.setItalic(true);
+ const int italicFontHeight = QFontMetrics(italicFont).height();
+ const int fontHeight = config()->fontMetrics().height();
+ m_fontHeight = qMax(fontHeight, italicFontHeight);
}
uint KateRenderer::spaceWidth() const
diff --git a/part/render/katerenderer.h b/part/render/katerenderer.h
index 64a39f6..4a2af8a 100644
--- a/part/render/katerenderer.h
+++ b/part/render/katerenderer.h
@@ -322,6 +322,7 @@ public:
// cache of config values
int m_tabWidth;
int m_indentWidth;
+ int m_fontHeight;
// some internal flags
KateRenderer::caretStyles m_caretStyle;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic