aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF_String.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libqpdf/QPDF_String.cc')
-rw-r--r--libqpdf/QPDF_String.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/libqpdf/QPDF_String.cc b/libqpdf/QPDF_String.cc
index 5558979c..8f10b977 100644
--- a/libqpdf/QPDF_String.cc
+++ b/libqpdf/QPDF_String.cc
@@ -31,7 +31,13 @@ QPDF_String::~QPDF_String()
QPDF_String*
QPDF_String::new_utf16(std::string const& utf8_val)
{
- return new QPDF_String(QUtil::utf8_to_utf16(utf8_val));
+ std::string result;
+ if (! (QUtil::utf8_to_ascii(utf8_val, result, '?') ||
+ QUtil::utf8_to_pdf_doc(utf8_val, result, '?')))
+ {
+ result = QUtil::utf8_to_utf16(utf8_val);
+ }
+ return new QPDF_String(result);
}
std::string