From 8deae88f6abaf0dfb0716d376279a9d3cc8e0d72 Mon Sep 17 00:00:00 2001 From: "ftang%netscape.com" Date: Tue, 23 Jul 2002 20:35:31 +0000 Subject: [PATCH] fix bug 156943. add cjk lang group check for mUnderlineSize computation r=rbs sr=jst a=chofmann --- gfx/src/windows/nsFontMetricsWin.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gfx/src/windows/nsFontMetricsWin.cpp b/gfx/src/windows/nsFontMetricsWin.cpp index 20ad53579047..7e3ba93c81ba 100644 --- a/gfx/src/windows/nsFontMetricsWin.cpp +++ b/gfx/src/windows/nsFontMetricsWin.cpp @@ -3284,9 +3284,16 @@ nsFontMetricsWin::RealizeFont() mStrikeoutOffset = NSToCoordRound(oMetrics.otmsStrikeoutPosition * dev2app); mUnderlineSize = PR_MAX(onePixel, NSToCoordRound(oMetrics.otmsUnderscoreSize * dev2app)); if (gDoingLineheightFixup) { - mUnderlineOffset = NSToCoordRound(PR_MIN(oMetrics.otmsUnderscorePosition, oMetrics.otmDescent + oMetrics.otmsUnderscoreSize) * dev2app); - // keep descent position, use it for mUnderlineOffset if leading allows - descentPos = NSToCoordRound(oMetrics.otmDescent * dev2app); + if(IsCJKLangGroupAtom(mLangGroup.get())) { + mUnderlineOffset = NSToCoordRound(PR_MIN(oMetrics.otmsUnderscorePosition, + oMetrics.otmDescent + oMetrics.otmsUnderscoreSize) + * dev2app); + // keep descent position, use it for mUnderlineOffset if leading allows + descentPos = NSToCoordRound(oMetrics.otmDescent * dev2app); + } else { + mUnderlineOffset = NSToCoordRound(PR_MIN(oMetrics.otmsUnderscorePosition*dev2app, + oMetrics.otmDescent*dev2app + mUnderlineSize)); + } } else mUnderlineOffset = NSToCoordRound(oMetrics.otmsUnderscorePosition * dev2app);