Skip to content

Commit

Permalink
Remove special case for 0xad for 10.6.2.
Browse files Browse the repository at this point in the history
  • Loading branch information
jberkenbilt committed Feb 16, 2022
1 parent 38d8362 commit 3e2109a
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 9 deletions.
7 changes: 3 additions & 4 deletions libqpdf/QUtil.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2293,10 +2293,9 @@ transcode_utf8(std::string const& utf8_val, std::string& result,
}
else if ((codepoint == 0xad) && (encoding == e_pdfdoc))
{
// PDFDocEncoding omits 0x00ad (soft hyphen), but rather
// than treating it as undefined, map it to a regular
// hyphen.
result.append(1, '-');
// PDFDocEncoding omits 0x00ad (soft hyphen).
okay = false;
result.append(1, unknown);
}
else if ((codepoint > 160) && (codepoint < 256) &&
((encoding == e_winansi) || (encoding == e_pdfdoc)))
Expand Down
2 changes: 1 addition & 1 deletion libtests/qtest/qutil/qutil.out
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ alternatives
0: 717561636b
done alternatives
w˘wˇwˆw˙w˝w˛w˚w˜w�w�w�w
w?w?w?w?w?w?w?w?w?w?w-w
w?w?w?w?w?w?w?w?w?w?w?w
done other characters
---- whoami
quack1
Expand Down
8 changes: 4 additions & 4 deletions qpdf/test_driver.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3335,14 +3335,14 @@ static void test_86(QPDF& pdf, char const* arg2)
std::string utf16_val("\xfe\xff\x00\x1f", 4);
std::string result;
assert(QUtil::utf8_to_ascii(utf8_val, result, '?'));
assert(result == "\x1f");
assert(result == utf8_val);
assert(! QUtil::utf8_to_pdf_doc(utf8_val, result, '?'));
assert(result == "?");
assert(QUtil::utf8_to_utf16(utf8_val) == utf16_val);
assert(QUtil::utf16_to_utf8(utf16_val) == utf8_val);
auto h = QPDFObjectHandle::newUnicodeString("\x1f");
assert(h.getStringValue() == std::string("\xfe\xff\x00\x1f", 4));
assert(h.getUTF8Value() == "\x1f");
auto h = QPDFObjectHandle::newUnicodeString(utf8_val);
assert(h.getStringValue() == utf16_val);
assert(h.getUTF8Value() == utf8_val);
}

void runtest(int n, char const* filename1, char const* arg2)
Expand Down

0 comments on commit 3e2109a

Please sign in to comment.