mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-23 03:18:59 +00:00
TODO
This commit is contained in:
parent
c18ee440a3
commit
edc3b309bc
64
TODO
64
TODO
@ -1,3 +1,60 @@
|
|||||||
|
Pending Doc Updates
|
||||||
|
===================
|
||||||
|
|
||||||
|
Unicode Passwords
|
||||||
|
|
||||||
|
Release notes
|
||||||
|
|
||||||
|
* Windows now interprets CLI arguments as Unicode. Explain the
|
||||||
|
non-compatibility and how it is unavoidable.
|
||||||
|
* Refer to the manual for the rest
|
||||||
|
|
||||||
|
Regular manual
|
||||||
|
|
||||||
|
* Explain the password modes, how they work, and when you would need
|
||||||
|
to use other than auto (e.g. overriding automatic detection of
|
||||||
|
UTF-8, forcibly creating a file with incorrect encoding for tests,
|
||||||
|
etc.)
|
||||||
|
* Explain limitations around BiDi and normalize
|
||||||
|
* Explain that the features are CLI and that the library, for
|
||||||
|
compatibility, still expects bytes. Refer to the transcoding methods.
|
||||||
|
- Document that users should pass an appropriately encoded string:
|
||||||
|
PDF Doc for R3 and R4, and UTF-8 for R5 and R6, and that they can
|
||||||
|
use QUtil::utf8_to_pdf_doc to achieve this.
|
||||||
|
* Talk about automatic password recovery and what it does.
|
||||||
|
|
||||||
|
Possible text
|
||||||
|
|
||||||
|
- password modes:
|
||||||
|
- hex-bytes: hex-encoded bytes for password
|
||||||
|
- bytes: take the bytes as they are
|
||||||
|
- unicode: utf8-encoded, with notes about Windows doing this by default
|
||||||
|
- auto: determine automatically
|
||||||
|
- Note that --password-is-hex-key applies only to the main password
|
||||||
|
and is only related to reading. It bypasses the password checks
|
||||||
|
entirely and is not a password mode. The --password-mode option
|
||||||
|
tells qpdf how to interpret the password used in writing.
|
||||||
|
- Behavior of unicode: Fail if the password is not valid UTF-8.
|
||||||
|
For R <= 4 fail if the password cannot be transcoded to PDFDoc
|
||||||
|
without loss.
|
||||||
|
- Behavior of auto: For R >= 5 fail if the password is not valid
|
||||||
|
UTF-8 and tell the user about bytes. For R <= 4, if string is
|
||||||
|
valid UTF-8 and is able to be successfully transcoded to PDFDoc,
|
||||||
|
transcode it; otherwise fall back to bytes.
|
||||||
|
- For bytes and hexbytes, just treat the passwords as given,
|
||||||
|
documenting the change for Windows that incoming arguments are
|
||||||
|
UTF-8 starting in 8.4.
|
||||||
|
- Note that, for Windows, there is no guaranteed compatibility
|
||||||
|
because of the switch to wmain. For Non-Windows, "bytes" gives
|
||||||
|
backward compatibility, but "auto" will fix the bug of qpdf
|
||||||
|
generating invalid passwords when accented characters were used.
|
||||||
|
Take special note of @file password arguments, which are not
|
||||||
|
converted automatically to Unicode on Windows like CLI args are.
|
||||||
|
|
||||||
|
Don't bother with normalize and BiDi for Unicode as that requires
|
||||||
|
something like ICU. If we ever do that, we can add additional flags
|
||||||
|
and method calls.
|
||||||
|
|
||||||
Soon
|
Soon
|
||||||
====
|
====
|
||||||
|
|
||||||
@ -111,6 +168,13 @@ I find it useful to make reference to them in this list
|
|||||||
* Figure out how to render Gajić correctly in the PDF version of the
|
* Figure out how to render Gajić correctly in the PDF version of the
|
||||||
qpdf manual.
|
qpdf manual.
|
||||||
|
|
||||||
|
* Decide whether errors thrown by checkLinearization should be
|
||||||
|
converted to warnings. Take a pass through the linearization code
|
||||||
|
to see whether it's correct. Be able to view linearization data
|
||||||
|
even when there are errors. See linearization label in github.
|
||||||
|
|
||||||
|
* Consider creating a PPA for Ubuntu
|
||||||
|
|
||||||
* Add method to push inheritable resources to a single page by
|
* Add method to push inheritable resources to a single page by
|
||||||
walking up and copying without overwrite. Above logic will also be
|
walking up and copying without overwrite. Above logic will also be
|
||||||
sufficient to fix the limitation in
|
sufficient to fix the limitation in
|
||||||
|
Loading…
Reference in New Issue
Block a user