| Index: src/ports/SkFontHost_FreeType.cpp
|
| diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
|
| index fe32ebb42a7fe33c7e7758738cc40f26f7afaa8d..afb84693ba0b8b24057eef9f02adbdbfa2df4860 100644
|
| --- a/src/ports/SkFontHost_FreeType.cpp
|
| +++ b/src/ports/SkFontHost_FreeType.cpp
|
| @@ -1384,6 +1384,7 @@ void SkScalerContext_FreeType::generateFontMetrics(SkPaint::FontMetrics* mx,
|
|
|
| // pull from format-specific metrics as needed
|
| SkScalar ascent, descent, leading, xmin, xmax, ymin, ymax;
|
| + SkScalar underlineThickness;
|
| if (face->face_flags & FT_FACE_FLAG_SCALABLE) { // scalable outline font
|
| ascent = -SkIntToScalar(face->ascender) / upem;
|
| descent = -SkIntToScalar(face->descender) / upem;
|
| @@ -1392,6 +1393,7 @@ void SkScalerContext_FreeType::generateFontMetrics(SkPaint::FontMetrics* mx,
|
| xmax = SkIntToScalar(face->bbox.xMax) / upem;
|
| ymin = -SkIntToScalar(face->bbox.yMin) / upem;
|
| ymax = -SkIntToScalar(face->bbox.yMax) / upem;
|
| + underlineThickness = SkIntToScalar(face->underline_thickness) / upem;
|
| // we may be able to synthesize x_height and cap_height from outline
|
| if (!x_height) {
|
| FT_BBox bbox;
|
| @@ -1447,6 +1449,7 @@ void SkScalerContext_FreeType::generateFontMetrics(SkPaint::FontMetrics* mx,
|
| mx->fXMax = xmax;
|
| mx->fXHeight = x_height;
|
| mx->fCapHeight = cap_height;
|
| + mx->fUnderlineThickness = underlineThickness;
|
| }
|
| if (my) {
|
| my->fTop = ymax * myy;
|
| @@ -1459,6 +1462,7 @@ void SkScalerContext_FreeType::generateFontMetrics(SkPaint::FontMetrics* mx,
|
| my->fXMax = xmax;
|
| my->fXHeight = x_height;
|
| my->fCapHeight = cap_height;
|
| + my->fUnderlineThickness = underlineThickness;
|
| }
|
| }
|
|
|
|
|