summaryrefslogtreecommitdiffstats
path: root/libs/minikin/CmapCoverage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/minikin/CmapCoverage.cpp')
-rw-r--r--libs/minikin/CmapCoverage.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/libs/minikin/CmapCoverage.cpp b/libs/minikin/CmapCoverage.cpp
index 4156d69..7503372 100644
--- a/libs/minikin/CmapCoverage.cpp
+++ b/libs/minikin/CmapCoverage.cpp
@@ -16,9 +16,8 @@
// Determine coverage of font given its raw "cmap" OpenType table
-#ifdef PRINTF_DEBUG
-#include <stdio.h>
-#endif
+#define LOG_TAG "Minikin"
+#include <cutils/log.h>
#include <vector>
using std::vector;
@@ -38,8 +37,8 @@ static uint32_t readU32(const uint8_t* data, size_t offset) {
}
static void addRange(vector<uint32_t> &coverage, uint32_t start, uint32_t end) {
-#ifdef PRINTF_DEBUG
- printf("adding range %d-%d\n", start, end);
+#ifdef VERBOSE_DEBUG
+ ALOGD("adding range %d-%d\n", start, end);
#endif
if (coverage.empty() || coverage.back() < start) {
coverage.push_back(start);
@@ -82,7 +81,8 @@ static bool getCoverageFormat4(vector<uint32_t>& coverage, const uint8_t* data,
uint32_t actualRangeOffset = kHeaderSize + 6 * segCount + rangeOffset +
(i + j - start) * 2;
if (actualRangeOffset + 2 > size) {
- return false;
+ // invalid rangeOffset is considered a "warning" by OpenType Sanitizer
+ continue;
}
int glyphId = readU16(data, actualRangeOffset);
if (glyphId != 0) {
@@ -146,8 +146,8 @@ bool CmapCoverage::getCoverage(SparseBitSet& coverage, const uint8_t* cmap_data,
bestTable = i;
}
}
-#ifdef PRINTF_DEBUG
- printf("best table = %d\n", bestTable);
+#ifdef VERBOSE_DEBUG
+ ALOGD("best table = %d\n", bestTable);
#endif
if (bestTable < 0) {
return false;
@@ -168,10 +168,11 @@ bool CmapCoverage::getCoverage(SparseBitSet& coverage, const uint8_t* cmap_data,
if (success) {
coverage.initFromRanges(&coverageVec.front(), coverageVec.size() >> 1);
}
-#ifdef PRINTF_DEBUG
- for (int i = 0; i < coverageVec.size(); i += 2) {
- printf("%x:%x\n", coverageVec[i], coverageVec[i + 1]);
+#ifdef VERBOSE_DEBUG
+ for (size_t i = 0; i < coverageVec.size(); i += 2) {
+ ALOGD("%x:%x\n", coverageVec[i], coverageVec[i + 1]);
}
+ ALOGD("success = %d", success);
#endif
return success;
}