diff options
Diffstat (limited to 'libqpdf/QPDF_String.cc')
-rw-r--r-- | libqpdf/QPDF_String.cc | 8 |
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 |