| 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;
|
| }
|
|
|
|
|