From cb6940bf42e39271afe0fb3c2bfdd9e28d12f504 Mon Sep 17 00:00:00 2001 From: Mike Klein Date: Thu, 9 Nov 2017 13:45:10 -0500 Subject: DM FontMgr updates - return nullptr for the various makeFromFoo() that we can't support, and tweak a few unit tests to bail out early when they do - create FontStyleSet and SkTypefaces once - abort early from FontHostStream if we can't openStream() - implement SkTestTypeface::onCreateFamilyNameIterator() with SkOTUtils::LocalizedStrings_SingleName() so FontNames passes - pin out-of-range glyph IDs to zero in SkTestTypeface Change-Id: Iac53265e331fc1c5c507513af3ab299063e6610a Reviewed-on: https://skia-review.googlesource.com/69501 Reviewed-by: Ben Wagner Commit-Queue: Mike Klein --- tests/TypefaceTest.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'tests/TypefaceTest.cpp') diff --git a/tests/TypefaceTest.cpp b/tests/TypefaceTest.cpp index 6175d36157..c8e96c5a7c 100644 --- a/tests/TypefaceTest.cpp +++ b/tests/TypefaceTest.cpp @@ -50,7 +50,10 @@ static void TypefaceStyle_test(skiatest::Reporter* reporter, os2Table->usWidthClass.value = static_cast(SkEndian_SwapBE16(width)); sk_sp newTypeface(SkTypeface::MakeFromStream(new SkMemoryStream(sk_ref_sp(data)))); - SkASSERT_RELEASE(newTypeface); + if (!newTypeface) { + // Not all SkFontMgr can MakeFromStream(). + return; + } SkFontStyle newStyle = newTypeface->fontStyle(); @@ -111,6 +114,11 @@ DEF_TEST(TypefaceAxes, reporter) { // TODO: if axes are set and the back-end doesn't support them, should we create the typeface? sk_sp typeface = fm->makeFromStream(std::move(distortable), params); + if (!typeface) { + // Not all SkFontMgr can makeFromStream(). + return; + } + int count = typeface->getVariationDesignPosition(nullptr, 0); if (count == -1) { return; -- cgit v1.2.3