commit 194b53ef9d2896664772a12c0038eedd717daec3
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Mon Sep 23 19:15:20 2024 +0200
QFontMetrics::xHeight() is not always the ascent of 'x'
Use the real ascent of glyph 'x' as LyX 2.3.x did.
It can make a difference at least on Windows with many fonts.
Fixes bug #13100.
---
src/frontends/qt/GuiFontMetrics.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/frontends/qt/GuiFontMetrics.cpp
b/src/frontends/qt/GuiFontMetrics.cpp
index f0300f16ea..5b9805a079 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -114,7 +114,7 @@ inline QChar const ucs4_to_qchar(char_type const ucs4)
GuiFontMetrics::GuiFontMetrics(QFont const & font)
- : font_(font), metrics_(font, 0), xheight_(metrics_.xHeight()),
+ : font_(font), metrics_(font, 0),
xheight_(-metrics_.boundingRect('x').top()),
strwidth_cache_(strwidth_cache_max_cost),
breakstr_cache_(breakstr_cache_max_cost),
qtextlayout_cache_(qtextlayout_cache_max_size)
@@ -163,7 +163,8 @@ int GuiFontMetrics::em() const
int GuiFontMetrics::xHeight() const
{
-// LATTEST(metrics_.xHeight() == ascent('x'));
+ // This is not alays true on Windows (see #13100).
+ // LATTEST(metrics_.xHeight() == ascent('x'));
return xheight_;
}
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs