aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2020-12-25 20:33:25 +0100
committerJay Berkenbilt <ejb@ql.org>2020-12-28 19:03:04 +0100
commit78c49824eb7ad969be59291d4d7e44314078e828 (patch)
treee917778cf340a3f0150fe11e7ae8667d4811626a /TODO
parentd4d7630cf544dc295202382026658b55bf49f76b (diff)
downloadqpdf-78c49824eb7ad969be59291d4d7e44314078e828.tar.zst
TODO updates
Diffstat (limited to 'TODO')
-rw-r--r--TODO45
1 files changed, 30 insertions, 15 deletions
diff --git a/TODO b/TODO
index 07b3451e..444535f3 100644
--- a/TODO
+++ b/TODO
@@ -1,11 +1,21 @@
Candidates for upcoming release
===============================
+* Enable discussions in github. See if any open issues should be there.
+
* Open "next" issues
* bugs
* #473: zsh completion with directories
+ * Investigate how serverless does completion
* Non-bugs
* #436: parsing of document with form xobject
+ * #488: allow specification of jpeg compression quality; may also
+ need an option to recompress jpeg
+
+* Json mode enhancements:
+ * Put something in the json that makes it easier to find the
+ definition of an object without breaking compatibility
+ * See if the objects part can be sorted by object number
* QPDFObjectHandle::pipeContentStreams calls finish() after each
stream. In some code paths, Pl_Concatenate is used, which suppresses
@@ -45,20 +55,6 @@ Candidates for upcoming release
images and page splitting as those operations become more
elaborate, particularly with handling of form XObjects.
-* Flattening of form XObjects seems like something that would be
- useful in the library. We are seeing more cases of completely valid
- PDF files with form XObjects that cause problems in other software.
- Flattening of form XObjects could be a useful way to work around
- those issues or to prepare files for additional processing, making
- it possible for users of the qpdf library to not be concerned about
- form XObjects. This could be done recursively; i.e., we could have a
- method to embed a form XObject into whatever contains it, whether
- that is a form XObject or a page. This would require more
- significant interpretation of the content stream. We would need a
- test file in which the placement of the form XObject has to be in
- the right place, e.g., the form XObject partially obscures earlier
- code and is partially obscured by later code.
-
* See if the tokenizer is a performance bottleneck and, if so,
optimize it. We might end up with a high-performance tokenizer that
has a different interface but still ultimately creates the same
@@ -301,7 +297,26 @@ General
NOTE: Some items in this list refer to files in my personal home
directory or that are otherwise not publicly accessible. This includes
things sent to me by email that are specifically not public. Even so,
-I find it useful to make reference to them in this list
+I find it useful to make reference to them in this list.
+
+ * If I do more with json, take a look at this C++ header-only JSON
+ library: https://github.com/nlohmann/json/releases
+
+ * Flattening of form XObjects seems like something that would be
+ useful in the library. We are seeing more cases of completely valid
+ PDF files with form XObjects that cause problems in other software.
+ Flattening of form XObjects could be a useful way to work around
+ those issues or to prepare files for additional processing, making
+ it possible for users of the qpdf library to not be concerned about
+ form XObjects. This could be done recursively; i.e., we could have a
+ method to embed a form XObject into whatever contains it, whether
+ that is a form XObject or a page. This would require more
+ significant interpretation of the content stream. We would need a
+ test file in which the placement of the form XObject has to be in
+ the right place, e.g., the form XObject partially obscures earlier
+ code and is partially obscured by later code. Keys in the resource
+ dictionary may need to be changed -- create test cases with lots of
+ duplicated/overlapping keys.
* Add support for writing name and number trees