Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: src/pdf/SkPDFTypes.cpp

Issue 1064013003: SkPDF: SkPDFString is no longer aware of wide strings. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 2015-04-07 (Tuesday) 10:52:40 EDT Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« src/pdf/SkPDFDevice.cpp ('K') | « src/pdf/SkPDFTypes.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/pdf/SkPDFTypes.cpp
diff --git a/src/pdf/SkPDFTypes.cpp b/src/pdf/SkPDFTypes.cpp
index e80d1186c38dc3e507604dd239e8570eec3653b0..e94a46cfc22cac4cc0f9cc48016b150a4c1073b6 100644
--- a/src/pdf/SkPDFTypes.cpp
+++ b/src/pdf/SkPDFTypes.cpp
@@ -133,10 +133,6 @@ SkPDFString::SkPDFString(const SkString& value)
: fValue(FormatString(value.c_str(), value.size())) {
}
-SkPDFString::SkPDFString(const uint16_t* value, size_t len, bool wideChars)
- : fValue(FormatString(value, len, wideChars)) {
-}
-
SkPDFString::~SkPDFString() {}
void SkPDFString::emitObject(SkWStream* stream,
@@ -146,67 +142,35 @@ void SkPDFString::emitObject(SkWStream* stream,
}
// static
-SkString SkPDFString::FormatString(const char* input, size_t len) {
- return DoFormatString(input, len, false, false);
-}
-
-SkString SkPDFString::FormatString(const uint16_t* input, size_t len,
- bool wideChars) {
- return DoFormatString(input, len, true, wideChars);
-}
-
-// static
-SkString SkPDFString::DoFormatString(const void* input, size_t len,
- bool wideInput, bool wideOutput) {
+SkString SkPDFString::FormatString(const char* cin, size_t len) {
SkASSERT(len <= kMaxLen);
- const uint16_t* win = (const uint16_t*) input;
- const char* cin = (const char*) input;
-
- if (wideOutput) {
- SkASSERT(wideInput);
- SkString result;
- result.append("<");
- for (size_t i = 0; i < len; i++) {
- result.appendHex(win[i], 4);
- }
- result.append(">");
- return result;
- }
// 7-bit clean is a heuristic to decide what string format to use;
// a 7-bit clean string should require little escaping.
bool sevenBitClean = true;
for (size_t i = 0; i < len; i++) {
- SkASSERT(!wideInput || !(win[i] & ~0xFF));
- char val = wideInput ? win[i] : cin[i];
- if (val > '~' || val < ' ') {
+ if (cin[i] > '~' || cin[i] < ' ') {
sevenBitClean = false;
break;
}
}
-
SkString result;
if (sevenBitClean) {
result.append("(");
for (size_t i = 0; i < len; i++) {
- SkASSERT(!wideInput || !(win[i] & ~0xFF));
- char val = wideInput ? win[i] : cin[i];
- if (val == '\\' || val == '(' || val == ')') {
+ if (cin[i] == '\\' || cin[i] == '(' || cin[i] == ')') {
result.append("\\");
}
- result.append(&val, 1);
+ result.append(&cin[i], 1);
}
result.append(")");
} else {
result.append("<");
for (size_t i = 0; i < len; i++) {
- SkASSERT(!wideInput || !(win[i] & ~0xFF));
- unsigned char val = wideInput ? win[i] : cin[i];
- result.appendHex(val, 2);
+ result.appendHex(static_cast<unsigned char>(cin[i]), 2);
}
result.append(">");
}
-
return result;
}
« src/pdf/SkPDFDevice.cpp ('K') | « src/pdf/SkPDFTypes.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698