summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/WebCore/platform/graphics/android/FontDataAndroid.cpp26
1 files changed, 12 insertions, 14 deletions
diff --git a/Source/WebCore/platform/graphics/android/FontDataAndroid.cpp b/Source/WebCore/platform/graphics/android/FontDataAndroid.cpp
index 545dcf7..1f19b6d 100644
--- a/Source/WebCore/platform/graphics/android/FontDataAndroid.cpp
+++ b/Source/WebCore/platform/graphics/android/FontDataAndroid.cpp
@@ -43,22 +43,20 @@ namespace WebCore {
void SimpleFontData::platformInit()
{
SkPaint paint;
- SkPaint::FontMetrics metrics;
+ SkPaint::FontMetrics skiaFontMetrics;
m_platformData.setupPaint(&paint);
- (void)paint.getFontMetrics(&metrics);
-
- // use ceil instead of round to favor descent, given a lot of accidental
- // clipping of descenders (e.g. 14pt 'g') in textedit fields
- int d = SkScalarCeil(metrics.fDescent);
- int s = SkScalarRound(metrics.fDescent - metrics.fAscent);
- int a = s - d;
-
- m_ascent = a;
- m_descent = d;
- m_xHeight = SkScalarToFloat(-metrics.fAscent) * 0.56f; // hack I stole from the window's port
- m_lineSpacing = a + d;
- m_lineGap = SkScalarRound(metrics.fLeading);
+ paint.getFontMetrics(&skiaFontMetrics);
+
+ float d = SkScalarToFloat(skiaFontMetrics.fDescent);
+ float s = SkScalarToFloat(skiaFontMetrics.fDescent - skiaFontMetrics.fAscent);
+ float a = s - d;
+
+ m_fontMetrics.setAscent(a);
+ m_fontMetrics.setDescent(d);
+ m_fontMetrics.setXHeight(SkScalarToFloat(-skiaFontMetrics.fAscent) * 0.56f); // hack I stole from the window's port
+ m_fontMetrics.setLineSpacing(a + d);
+ m_fontMetrics.setLineGap(SkScalarToFloat(skiaFontMetrics.fLeading));
}
void SimpleFontData::platformCharWidthInit()