diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkRemoteGlyphCache.cpp | 3 | ||||
-rw-r--r-- | src/core/SkScalerContext.cpp | 7 | ||||
-rw-r--r-- | src/core/SkScalerContext.h | 3 |
3 files changed, 9 insertions, 4 deletions
diff --git a/src/core/SkRemoteGlyphCache.cpp b/src/core/SkRemoteGlyphCache.cpp index 06db562a9f..439c06975d 100644 --- a/src/core/SkRemoteGlyphCache.cpp +++ b/src/core/SkRemoteGlyphCache.cpp @@ -354,9 +354,10 @@ void SkTextBlobCacheDiffCanvas::processGlyphRun( // TODO(crbug.com/831354): The typeface proxy on the client does not replicate the // filtering done by the typeface on the server. + const bool enableTypefaceFiltering = false; SkScalerContext::MakeRecAndEffects(runPaint, &fSurfaceProps, &runMatrix, SkScalerContextFlags::kFakeGammaAndBoostContrast, &rec, - &effects); + &effects, enableTypefaceFiltering); TRACE_EVENT1("skia", "RecForDesc", "rec", TRACE_STR_COPY(rec.dump().c_str())); auto desc = SkScalerContext::DescriptorGivenRecAndEffects(rec, effects); diff --git a/src/core/SkScalerContext.cpp b/src/core/SkScalerContext.cpp index 57d8bc1ddf..7ad3a030bb 100644 --- a/src/core/SkScalerContext.cpp +++ b/src/core/SkScalerContext.cpp @@ -817,7 +817,8 @@ void SkScalerContext::MakeRecAndEffects(const SkPaint& paint, const SkMatrix* deviceMatrix, SkScalerContextFlags scalerContextFlags, SkScalerContextRec* rec, - SkScalerContextEffects* effects) { + SkScalerContextEffects* effects, + bool enableTypefaceFiltering) { SkASSERT(deviceMatrix == nullptr || !deviceMatrix->hasPerspective()); SkTypeface* typeface = SkPaintPriv::GetTypefaceOrDefault(paint); @@ -963,7 +964,9 @@ void SkScalerContext::MakeRecAndEffects(const SkPaint& paint, // cache. This way if we're asking for something that they will ignore, // they can modify our rec up front, so we don't create duplicate cache // entries. - typeface->onFilterRec(rec); + if (enableTypefaceFiltering) { + typeface->onFilterRec(rec); + } if (!SkToBool(scalerContextFlags & SkScalerContextFlags::kFakeGamma)) { rec->ignoreGamma(); diff --git a/src/core/SkScalerContext.h b/src/core/SkScalerContext.h index 9995fd9292..556ec18c67 100644 --- a/src/core/SkScalerContext.h +++ b/src/core/SkScalerContext.h @@ -310,7 +310,8 @@ public: const SkMatrix* deviceMatrix, SkScalerContextFlags scalerContextFlags, SkScalerContextRec* rec, - SkScalerContextEffects* effects); + SkScalerContextEffects* effects, + bool enableTypefaceFiltering = true); static SkDescriptor* MakeDescriptorForPaths(SkFontID fontID, SkAutoDescriptor* ad); |