pdfviewer: limit the characters we support in ToUnicode, to 0xffff
Review URL: https://codereview.chromium.org/20538002
git-svn-id: http://skia.googlecode.com/svn/trunk@10377 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/PdfViewer/SkPdfFont.cpp b/experimental/PdfViewer/SkPdfFont.cpp
index e5c880d..0a8420c 100644
--- a/experimental/PdfViewer/SkPdfFont.cpp
+++ b/experimental/PdfViewer/SkPdfFont.cpp
@@ -311,7 +311,8 @@
for (unsigned int i = 0 ; i < str->len(); i++) {
ret = (ret << 8) + ((unsigned char*)str->c_str())[i];
}
- return ret;
+ // TODO(edisonn): character larger than 0x0000ffff not supported right now.
+ return ret & 0x0000ffff;
}
#define tokenIsKeyword(token,keyword) (token.fType == kKeyword_TokenType && token.fKeywordLength==sizeof(keyword)-1 && strncmp(token.fKeyword, keyword, sizeof(keyword)-1) == 0)
diff --git a/experimental/PdfViewer/pdf_viewer_main.cpp b/experimental/PdfViewer/pdf_viewer_main.cpp
index d43086f..f3176b9 100644
--- a/experimental/PdfViewer/pdf_viewer_main.cpp
+++ b/experimental/PdfViewer/pdf_viewer_main.cpp
@@ -246,7 +246,6 @@
SkDebugf("ERROR: Empty PDF Document %s\n", inputPath.c_str());
return false;
} else {
- printf("renders = %i\n", FLAGS_benchRender);
for (int i = 0; i < FLAGS_benchRender + 1; i++) {
// TODO(edisonn) if (i == 1) start timer
if (strcmp(FLAGS_pages[0], "all") == 0) {
diff --git a/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp b/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp
index 7d8bcb6..bc3a3fa 100644
--- a/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp
+++ b/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp
@@ -385,6 +385,7 @@
if (*in == kClosedInequityBracket_PdfDelimiter) {
if (hasOut) { *out = code; }
out++;
+ in++;
break;
}