Update Android's FontHost to return NULL if familyName does not match
R=scroggo@google.com, wangxianzhu@chromium.org Review URL: https://codereview.chromium.org/23601041 git-svn-id: http://skia.googlecode.com/svn/trunk@11377 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
b39b5b100a
commit
1f584ed3f4
@ -128,6 +128,7 @@
|
||||
'../tests/TLSTest.cpp',
|
||||
'../tests/TSetTest.cpp',
|
||||
'../tests/ToUnicode.cpp',
|
||||
'../tests/Typeface.cpp',
|
||||
'../tests/UnicodeTest.cpp',
|
||||
'../tests/UnitTestTest.cpp',
|
||||
'../tests/UtilsTest.cpp',
|
||||
|
@ -413,10 +413,11 @@ bool SkFontConfigInterfaceAndroid::matchFamilyName(const char familyName[],
|
||||
|
||||
}
|
||||
|
||||
// If no matching family name is found then return false. This allows clients
|
||||
// to be able to search for other fonts instead of forcing them to use the
|
||||
// default font.
|
||||
if (INVALID_FAMILY_REC_ID == familyRecID) {
|
||||
//TODO this ensures that we always return something
|
||||
familyRecID = fDefaultFamilyRecID;
|
||||
//return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
FontRecID fontRecID = find_best_style(fFontFamilies[familyRecID], style);
|
||||
|
30
tests/Typeface.cpp
Normal file
30
tests/Typeface.cpp
Normal file
@ -0,0 +1,30 @@
|
||||
|
||||
/*
|
||||
* Copyright 2013 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "Test.h"
|
||||
#include "SkTypeface.h"
|
||||
|
||||
static void TestDefaultTypeface(skiatest::Reporter* reporter) {
|
||||
|
||||
SkAutoTUnref<SkTypeface> t1(SkTypeface::CreateFromName(NULL, SkTypeface::kNormal));
|
||||
SkAutoTUnref<SkTypeface> t2(SkTypeface::RefDefault(SkTypeface::kNormal));
|
||||
|
||||
REPORTER_ASSERT(reporter, SkTypeface::Equal(t1.get(), t2.get()));
|
||||
REPORTER_ASSERT(reporter, SkTypeface::Equal(0, t1.get()));
|
||||
REPORTER_ASSERT(reporter, SkTypeface::Equal(0, t2.get()));
|
||||
REPORTER_ASSERT(reporter, SkTypeface::Equal(t1.get(), 0));
|
||||
REPORTER_ASSERT(reporter, SkTypeface::Equal(t2.get(), 0));
|
||||
|
||||
#ifdef SK_BUILD_FOR_ANDROID
|
||||
SkAutoTUnref<SkTypeface> t3(SkTypeface::CreateFromName("non-existent-font", SkTypeface::kNormal));
|
||||
REPORTER_ASSERT(reporter, NULL == t3.get());
|
||||
#endif
|
||||
}
|
||||
|
||||
#include "TestClassDef.h"
|
||||
DEFINE_TESTCLASS("Typeface", TypefaceTestClass, TestDefaultTypeface)
|
Loading…
Reference in New Issue
Block a user