Chromium Code Reviews| Index: src/ports/SkFontHost_win.cpp |
| diff --git a/src/ports/SkFontHost_win.cpp b/src/ports/SkFontHost_win.cpp |
| index 4ca0fb9181404e36c42318e095a8c8fdb081b4b1..6f329bd975649cc7f7fb85b05d58cbcb976e1372 100755 |
| --- a/src/ports/SkFontHost_win.cpp |
| +++ b/src/ports/SkFontHost_win.cpp |
| @@ -1061,6 +1061,18 @@ 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); |
| + |
| + if(!mx->fUnderlineThickness) |
|
bungeman-skia
2014/02/19 15:39:17
If we get here, we're only dealing with fonts whic
h.joshi
2014/02/19 17:12:03
Okey, Added these checks below as "face->underline
|
| + mx->unsetFontMetricsFlag(SkPaint::FontMetrics::kUnderlineThinknessIsValid_FontMetricFlag); |
| + else |
| + mx->setFontMetricsFlag(SkPaint::FontMetrics::kUnderlineThinknessIsValid_FontMetricFlag); |
| + |
| + if(!mx->fUnderlinePosition) |
| + mx->unsetFontMetricsFlag(SkPaint::FontMetrics::kUnderlinePositionIsValid_FontMetricsflag); |
| + else |
| + mx->setFontMetricsFlag(SkPaint::FontMetrics::kUnderlinePositionIsValid_FontMetricsflag); |
| } |
| if (my) { |
| @@ -1074,6 +1086,18 @@ 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); |
| + |
| + if(!my->fUnderlineThickness) |
| + my->unsetFontMetricsFlag(SkPaint::FontMetrics::kUnderlineThinknessIsValid_FontMetricFlag); |
| + else |
| + my->setFontMetricsFlag(SkPaint::FontMetrics::kUnderlineThinknessIsValid_FontMetricFlag); |
| + |
| + if(!my->fUnderlinePosition) |
| + my->unsetFontMetricsFlag(SkPaint::FontMetrics::kUnderlinePositionIsValid_FontMetricsflag); |
| + else |
| + my->setFontMetricsFlag(SkPaint::FontMetrics::kUnderlinePositionIsValid_FontMetricsflag); |
| #endif |
| my->fXHeight = SkIntToScalar(otm.otmsXHeight); |