Commit 235c89e037d6d9925cf201cadfa9e0df1771212c
1 parent
15248592
Fix one more PDF doc encoding error for 10.6 release (fixes #637)
Showing
5 changed files
with
17 additions
and
8 deletions
ChangeLog
| 1 | -2022-02-08 Jay Berkenbilt <ejb@ql.org> | 1 | +2022-02-09 Jay Berkenbilt <ejb@ql.org> |
| 2 | 2 | ||
| 3 | * 10.6.0: release | 3 | * 10.6.0: release |
| 4 | 4 | ||
| 5 | + * Fix one more PDF doc encoding omission: 0xAD is also undefined. | ||
| 6 | + Fixes #637. | ||
| 7 | + | ||
| 8 | +2022-02-08 Jay Berkenbilt <ejb@ql.org> | ||
| 9 | + | ||
| 5 | * Bug fix: when splitting pages with --split-pages or selecting | 10 | * Bug fix: when splitting pages with --split-pages or selecting |
| 6 | pages with --pages, set the output PDF version to the maximum of | 11 | pages with --pages, set the output PDF version to the maximum of |
| 7 | all the input PDF versions. This is a fix to QPDFJob. If you are | 12 | all the input PDF versions. This is a fix to QPDFJob. If you are |
libqpdf/QUtil.cc
| @@ -2492,6 +2492,10 @@ QUtil::pdf_doc_to_utf8(std::string const& val) | @@ -2492,6 +2492,10 @@ QUtil::pdf_doc_to_utf8(std::string const& val) | ||
| 2492 | { | 2492 | { |
| 2493 | ch_short = pdf_doc_low_to_unicode[ch - 24]; | 2493 | ch_short = pdf_doc_low_to_unicode[ch - 24]; |
| 2494 | } | 2494 | } |
| 2495 | + else if (ch == 173) | ||
| 2496 | + { | ||
| 2497 | + ch_short = 0xfffd; | ||
| 2498 | + } | ||
| 2495 | result += QUtil::toUTF8(ch_short); | 2499 | result += QUtil::toUTF8(ch_short); |
| 2496 | } | 2500 | } |
| 2497 | return result; | 2501 | return result; |
libtests/qtest/qutil/qutil.out
| @@ -88,8 +88,8 @@ alternatives | @@ -88,8 +88,8 @@ alternatives | ||
| 88 | 2: 83a9e99e | 88 | 2: 83a9e99e |
| 89 | 0: 717561636b | 89 | 0: 717561636b |
| 90 | done alternatives | 90 | done alternatives |
| 91 | -w˘wˇwˆw˙w˝w˛w˚w˜w�w | ||
| 92 | -done low characters | 91 | +w˘wˇwˆw˙w˝w˛w˚w˜w�w�w |
| 92 | +done other characters | ||
| 93 | ---- whoami | 93 | ---- whoami |
| 94 | quack1 | 94 | quack1 |
| 95 | quack2 | 95 | quack2 |
libtests/qutil.cc
| @@ -418,10 +418,10 @@ void transcoding_test() | @@ -418,10 +418,10 @@ void transcoding_test() | ||
| 418 | print_alternatives(utf8); | 418 | print_alternatives(utf8); |
| 419 | print_alternatives("quack"); | 419 | print_alternatives("quack"); |
| 420 | std::cout << "done alternatives" << std::endl; | 420 | std::cout << "done alternatives" << std::endl; |
| 421 | - std::string low = QUtil::pdf_doc_to_utf8( | ||
| 422 | - "w\030w\031w\032w\033w\034w\035w\036w\037w\177w"); | ||
| 423 | - std::cout << low << std::endl; | ||
| 424 | - std::cout << "done low characters" << std::endl; | 421 | + std::string other = QUtil::pdf_doc_to_utf8( |
| 422 | + "w\030w\031w\032w\033w\034w\035w\036w\037w\177w\255w"); | ||
| 423 | + std::cout << other << std::endl; | ||
| 424 | + std::cout << "done other characters" << std::endl; | ||
| 425 | } | 425 | } |
| 426 | 426 | ||
| 427 | void print_whoami(char const* str) | 427 | void print_whoami(char const* str) |
manual/release-notes.rst
| @@ -6,7 +6,7 @@ Release Notes | @@ -6,7 +6,7 @@ Release Notes | ||
| 6 | For a detailed list of changes, please see the file | 6 | For a detailed list of changes, please see the file |
| 7 | :file:`ChangeLog` in the source distribution. | 7 | :file:`ChangeLog` in the source distribution. |
| 8 | 8 | ||
| 9 | -10.6.0: February 8, 2022 | 9 | +10.6.0: February 9, 2022 |
| 10 | - Preparation for replacement of ``PointerHolder`` | 10 | - Preparation for replacement of ``PointerHolder`` |
| 11 | 11 | ||
| 12 | The next major release of qpdf will replace ``PointerHolder`` with | 12 | The next major release of qpdf will replace ``PointerHolder`` with |