mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-22 19:08: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
|
||||
====
|
||||
|
||||
@ -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
|
||||
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
|
||||
walking up and copying without overwrite. Above logic will also be
|
||||
sufficient to fix the limitation in
|
||||
|
Loading…
Reference in New Issue
Block a user