Index: src/ports/SkFontHost_win.cpp |
diff --git a/src/ports/SkFontHost_win.cpp b/src/ports/SkFontHost_win.cpp |
index 9029c2b43dc198fe73b28fbb3a05130044e6b3d1..a78faac4d9cdbe71adb50db5b4d21e30fffbb579 100755 |
--- a/src/ports/SkFontHost_win.cpp |
+++ b/src/ports/SkFontHost_win.cpp |
@@ -1061,6 +1061,11 @@ void SkScalerContext_GDI::generateFontMetrics(SkPaint::FontMetrics* mx, SkPaint: |
mx->fDescent = SkIntToScalar(-otm.otmDescent); |
mx->fBottom = SkIntToScalar(otm.otmrcFontBox.right); |
mx->fLeading = SkIntToScalar(otm.otmLineGap); |
+ mx->fUnderlineThickness = SkIntToScalar(otm.otmsUnderscoreSize); |
+ mx->fUnderlinePosition = SkIntToScalar(otm.otmsUnderscorePosition); |
+ |
+ mx->setFontMetricsFlag(SkPaint::FontMetrics::kUnderlineThinknessIsValid_FontMetricFlag); |
+ mx->setFontMetricsFlag(SkPaint::FontMetrics::kUnderlinePositionIsValid_FontMetricsflag); |
} |
if (my) { |
@@ -1074,6 +1079,11 @@ void SkScalerContext_GDI::generateFontMetrics(SkPaint::FontMetrics* mx, SkPaint: |
my->fMaxCharWidth = SkIntToScalar(otm.otmTextMetrics.tmMaxCharWidth); |
my->fXMin = SkIntToScalar(otm.otmrcFontBox.left); |
my->fXMax = SkIntToScalar(otm.otmrcFontBox.right); |
+ my->fUnderlineThickness = SkIntToScalar(otm.otmsUnderscoreSize); |
+ my->fUnderlinePosition = SkIntToScalar(otm.otmsUnderscorePosition); |
+ |
+ my->setFontMetricsFlag(SkPaint::FontMetrics::kUnderlineThinknessIsValid_FontMetricFlag); |
+ my->setFontMetricsFlag(SkPaint::FontMetrics::kUnderlinePositionIsValid_FontMetricsflag); |
#endif |
my->fXHeight = SkIntToScalar(otm.otmsXHeight); |