| Index: src/ports/SkFontHost_FreeType.cpp
|
| diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
|
| index 745a58a9963d808c0f7d9aa3c6a82457c0bc11af..340f40a14445f276d4deee17514bf3e18769420e 100644
|
| --- a/src/ports/SkFontHost_FreeType.cpp
|
| +++ b/src/ports/SkFontHost_FreeType.cpp
|
| @@ -1171,6 +1171,7 @@ void SkScalerContext_FreeType::generateMetrics(SkGlyph* glyph) {
|
| glyph->zeroMetrics();
|
| return;
|
| }
|
| + emboldenIfNeeded(fFace, fFace->glyph);
|
|
|
| switch ( fFace->glyph->format ) {
|
| case FT_GLYPH_FORMAT_OUTLINE:
|
| @@ -1180,10 +1181,6 @@ void SkScalerContext_FreeType::generateMetrics(SkGlyph* glyph) {
|
| glyph->fTop = 0;
|
| glyph->fLeft = 0;
|
| } else {
|
| - if (fRec.fFlags & kEmbolden_Flag && !(fFace->style_flags & FT_STYLE_FLAG_BOLD)) {
|
| - emboldenOutline(fFace, &fFace->glyph->outline);
|
| - }
|
| -
|
| FT_BBox bbox;
|
| getBBoxForCurrentGlyph(glyph, &bbox, true);
|
|
|
| @@ -1197,11 +1194,6 @@ void SkScalerContext_FreeType::generateMetrics(SkGlyph* glyph) {
|
| break;
|
|
|
| case FT_GLYPH_FORMAT_BITMAP:
|
| - if (fRec.fFlags & kEmbolden_Flag) {
|
| - FT_GlyphSlot_Own_Bitmap(fFace->glyph);
|
| - FT_Bitmap_Embolden(gFTLibrary, &fFace->glyph->bitmap, kBitmapEmboldenStrength, 0);
|
| - }
|
| -
|
| if (fRec.fFlags & SkScalerContext::kVertical_Flag) {
|
| FT_Vector vector;
|
| vector.x = fFace->glyph->metrics.vertBearingX - fFace->glyph->metrics.horiBearingX;
|
| @@ -1280,6 +1272,7 @@ void SkScalerContext_FreeType::generateImage(const SkGlyph& glyph) {
|
| return;
|
| }
|
|
|
| + emboldenIfNeeded(fFace, fFace->glyph);
|
| generateGlyphImage(fFace, glyph);
|
| }
|
|
|
| @@ -1307,6 +1300,7 @@ void SkScalerContext_FreeType::generatePath(const SkGlyph& glyph,
|
| path->reset();
|
| return;
|
| }
|
| + emboldenIfNeeded(fFace, fFace->glyph);
|
|
|
| generateGlyphPath(fFace, path);
|
|
|
| @@ -1380,9 +1374,7 @@ void SkScalerContext_FreeType::generateFontMetrics(SkPaint::FontMetrics* mx,
|
| if (x_glyph) {
|
| FT_BBox bbox;
|
| FT_Load_Glyph(fFace, x_glyph, fLoadGlyphFlags);
|
| - if ((fRec.fFlags & kEmbolden_Flag) && !(fFace->style_flags & FT_STYLE_FLAG_BOLD)) {
|
| - emboldenOutline(fFace, &fFace->glyph->outline);
|
| - }
|
| + emboldenIfNeeded(fFace, fFace->glyph);
|
| FT_Outline_Get_CBox(&fFace->glyph->outline, &bbox);
|
| x_height = SkIntToScalar(bbox.yMax) / 64.0f;
|
| }
|
|
|