From aab625bdb9aa8a56e4b4d0094c5dd478fdf2317f Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Fri, 7 Jan 2005 15:29:45 +0000 Subject: [PATCH] fix font metrics with Qt/Win 3.2.1nc git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9455 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt2/ChangeLog | 5 +++++ src/frontends/qt2/qfont_metrics.C | 16 +++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/frontends/qt2/ChangeLog b/src/frontends/qt2/ChangeLog index 0176107e67..d2f5825366 100644 --- a/src/frontends/qt2/ChangeLog +++ b/src/frontends/qt2/ChangeLog @@ -1,3 +1,8 @@ +2005-01-07 Ruurd Reitsma + + * qfont_metrics.C (ascent, descent): correct the metrics returned + by Qt/Win 3.2.1 non-commercial edition. + 2005-01-06 Lars Gullik Bjonnes * QDocument.C: diff --git a/src/frontends/qt2/qfont_metrics.C b/src/frontends/qt2/qfont_metrics.C index 6c5a7e9969..95bf579857 100644 --- a/src/frontends/qt2/qfont_metrics.C +++ b/src/frontends/qt2/qfont_metrics.C @@ -65,7 +65,14 @@ int ascent(char c, LyXFont const & f) if (!lyx_gui::use_gui) return 1; QRect const & r = metrics(f).boundingRect(c); + // Qt/Win 3.2.1nc (at least) corrects the GetGlyphOutlineA|W y + // value by the height: (x, -y-height, width, height). + // Other versions return: (x, -y, width, height) +#if defined(Q_WS_WIN) && (QT_VERSION == 0x030201) + return -(r.top() + r.height()); +#else return -r.top(); +#endif } @@ -74,7 +81,14 @@ int descent(char c, LyXFont const & f) if (!lyx_gui::use_gui) return 1; QRect const & r = metrics(f).boundingRect(c); - return r.bottom()+1; + // Qt/Win 3.2.1nc (at least) corrects the GetGlyphOutlineA|W y + // value by the height: (x, -y-height, width, height). + // Other versions return: (x, -y, width, height) +#if defined(Q_WS_WIN) && (QT_VERSION == 0x030201) + return r.bottom() + r.height() + 1; +#else + return r.bottom() + 1; +#endif } -- 2.39.2