summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaph Levien <raph@google.com>2014-06-12 16:45:56 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-06-11 21:23:31 +0000
commit92207c3e831ce4214f60137da9430a1ce65351c0 (patch)
treef1c2f26efc17e634f245d518b7675ba9731c9eef
parent9f9f3b1ef40f7358dca6acd9dfef686cedefb6aa (diff)
parentbd36ec766a451c62ffdd407d5ce1a355e8f7dfd8 (diff)
downloadandroid_frameworks_minikin-92207c3e831ce4214f60137da9430a1ce65351c0.tar.gz
android_frameworks_minikin-92207c3e831ce4214f60137da9430a1ce65351c0.tar.bz2
android_frameworks_minikin-92207c3e831ce4214f60137da9430a1ce65351c0.zip
Merge "Fix missing text on nonexistent font file"
-rw-r--r--libs/minikin/FontCollection.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/libs/minikin/FontCollection.cpp b/libs/minikin/FontCollection.cpp
index 6115ecc..45e5d06 100644
--- a/libs/minikin/FontCollection.cpp
+++ b/libs/minikin/FontCollection.cpp
@@ -46,12 +46,6 @@ FontCollection::FontCollection(const vector<FontFamily*>& typefaces) :
const FontStyle defaultStyle;
for (size_t i = 0; i < nTypefaces; i++) {
FontFamily* family = typefaces[i];
- family->RefLocked();
- FontInstance dummy;
- mInstances.push_back(dummy); // emplace_back would be better
- FontInstance* instance = &mInstances.back();
- instance->mFamily = family;
- instance->mCoverage = new SparseBitSet;
MinikinFont* typeface = family->getClosestMatch(defaultStyle).font;
if (typeface == NULL) {
ALOGE("FontCollection: closest match was null");
@@ -59,6 +53,12 @@ FontCollection::FontCollection(const vector<FontFamily*>& typefaces) :
// checks upstream to prevent empty/invalid FontFamily objects
continue;
}
+ family->RefLocked();
+ FontInstance dummy;
+ mInstances.push_back(dummy); // emplace_back would be better
+ FontInstance* instance = &mInstances.back();
+ instance->mFamily = family;
+ instance->mCoverage = new SparseBitSet;
#ifdef VERBOSE_DEBUG
ALOGD("closest match = %p, family size = %d\n", typeface, family->getNumFonts());
#endif
@@ -75,6 +75,7 @@ FontCollection::FontCollection(const vector<FontFamily*>& typefaces) :
mMaxChar = max(mMaxChar, instance->mCoverage->length());
lastChar.push_back(instance->mCoverage->nextSetBit(0));
}
+ nTypefaces = mInstances.size();
size_t nPages = (mMaxChar + kPageMask) >> kLogCharsPerPage;
size_t offset = 0;
for (size_t i = 0; i < nPages; i++) {