| Index: Source/platform/fonts/Font.cpp
|
| diff --git a/Source/platform/fonts/Font.cpp b/Source/platform/fonts/Font.cpp
|
| index 2bfc2c6419fa21095e7f4664748ad80efa54745c..d89a35061f66d29b51fc9639255d031bf9ea29ea 100644
|
| --- a/Source/platform/fonts/Font.cpp
|
| +++ b/Source/platform/fonts/Font.cpp
|
| @@ -263,7 +263,7 @@ namespace {
|
|
|
| template <bool hasOffsets>
|
| bool buildTextBlobInternal(const GlyphBuffer& glyphBuffer, SkScalar initialAdvance,
|
| - const SkRect* bounds, bool couldUseLCD, SkTextBlobBuilder& builder)
|
| + const SkRect* bounds, bool couldUseLCD, SkTextBlobBuilder& builder, const Font& font)
|
| {
|
| SkScalar x = initialAdvance;
|
| unsigned i = 0;
|
| @@ -278,7 +278,7 @@ bool buildTextBlobInternal(const GlyphBuffer& glyphBuffer, SkScalar initialAdvan
|
| // factor, which is found via the GraphicsContext. This should be fixed
|
| // to avoid correctness problems here.
|
| SkPaint paint;
|
| - fontData->platformData().setupPaint(&paint);
|
| + fontData->platformData().setupPaint(&paint, 0, &font);
|
| paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
|
|
|
| // FIXME: this should go away after the big LCD cleanup.
|
| @@ -324,8 +324,8 @@ PassTextBlobPtr Font::buildTextBlob(const GlyphBuffer& glyphBuffer, float initia
|
| SkRect skBounds = bounds;
|
|
|
| bool success = glyphBuffer.hasOffsets() ?
|
| - buildTextBlobInternal<true>(glyphBuffer, advance, &skBounds, couldUseLCD, builder) :
|
| - buildTextBlobInternal<false>(glyphBuffer, advance, &skBounds, couldUseLCD, builder);
|
| + buildTextBlobInternal<true>(glyphBuffer, advance, &skBounds, couldUseLCD, builder, *this) :
|
| + buildTextBlobInternal<false>(glyphBuffer, advance, &skBounds, couldUseLCD, builder, *this);
|
| return success ? adoptRef(builder.build()) : nullptr;
|
| }
|
|
|
|
|