diff --git a/libqpdf/QPDF_Name.cc b/libqpdf/QPDF_Name.cc index 3241ec1c..2fa697cf 100644 --- a/libqpdf/QPDF_Name.cc +++ b/libqpdf/QPDF_Name.cc @@ -38,9 +38,9 @@ QPDF_Name::normalizeName(std::string const& name) // invalid #. result += "#"; } else if ( - ch < 33 || ch == '/' || ch == '(' || ch == ')' || ch == '{' || - ch == '}' || ch == '<' || ch == '>' || ch == '[' || ch == ']' || - ch == '%' || ch > 126) { + ch < 33 || ch == '#' || ch == '/' || ch == '(' || ch == ')' || + ch == '{' || ch == '}' || ch == '<' || ch == '>' || ch == '[' || + ch == ']' || ch == '%' || ch > 126) { result += QUtil::hex_encode_char(ch); } else { result += ch; diff --git a/qpdf/qtest/qpdf/pound-in-name.pdf b/qpdf/qtest/qpdf/pound-in-name.pdf index c19dfb24..dcaa4d44 100644 --- a/qpdf/qtest/qpdf/pound-in-name.pdf +++ b/qpdf/qtest/qpdf/pound-in-name.pdf @@ -81,6 +81,7 @@ trailer << /a#b [ 4 /##00## /Som#ething ] /Som#ething (else) >> + /#20#23#2f#28#29#7b#7d#3c#3e#5b#5d#25#21#7e#7f 42 >> startxref diff --git a/qpdf/qtest/qpdf/pound-in-name.qdf b/qpdf/qtest/qpdf/pound-in-name.qdf index e6ecf5ab..67f57382 100644 --- a/qpdf/qtest/qpdf/pound-in-name.qdf +++ b/qpdf/qtest/qpdf/pound-in-name.qdf @@ -92,6 +92,7 @@ xref 0000000629 00000 n 0000000774 00000 n trailer << + /#20#23#2f#28#29#7b#7d#3c#3e#5b#5d#25!~#7f 42 /Other#20Tests << /## 1 /#20# 2