]> mj.ucw.cz Git - paperjam.git/blobdiff - TODO
xform_page() is now a part of pdf.cc
[paperjam.git] / TODO
diff --git a/TODO b/TODO
index 5874a013f422ec9ffa8cf1b6f7e550268a394398..58b14266c1f22bb36a0d307f995cc098bf16fd52 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,69 +1,22 @@
 - Integrate pdf-tools.cc with the rest of the code
 - What if an input page specifies /Rotate?
-- Better error messages from instantiation
-- page->index: use or remove
-- rename page->bbox to page->image_box?
-
-# Position bbox on a new paper
-paper("a4")
-paper(w=210mm,h=297mm,pos=(t|b|c)(l|r|c))
-
-# Scale paper to a new size
-scaleto("a4")
-scaleto(w=210mm,h=297mm,pos=tl)
-
-# Fit image to a paper
-# If paper is given: scale image
-# If no paper is given: adjust paper to image + margins
-fit("a4")
-fit(w=, h=)
-margin= hmargin= vmargin=
-lmargin= rmargin= tmargin= bmargin=
-pos=
-
-# Adjust paper size
-expand(10mm)
-expand(h=10mm, v=20mm)
-expand(l=10mm, r=10mm, t=10mm, b=10mm)
-
-# Adjust image size (in terms of margins around)
-margins ... params like expand
-
-cropmarks
-       style=box       # Box around image
-       style=cross     # Crosses in the corners
-       style=halfcross # Half-crosses in the corners (default)
-       pen=1pt         # Line width
-       len=5mm         # Cross arm length
-       dist=5mm        # Distance from border
-
-book
-       signature=<n>
-
-# Crop to image box
-crop
-       bleed=5mm       # Allow bleeding over the image box
-
+- "-f" switch
+- What should do modulo(half) with an odd number of tuples? Improve, or at least document.
+- Modulo with last tuple incomplete: sometimes, not padding the last tuple can be useful
+  (e.g., "flip every other page")
+- Document use of negative numbers in ranges
+- Allow use of page labels to refer to pages
+- Better range syntax for "from N to end" or "the whole document"
+- nup: allow stacking ("1 3 5 7" "2 4 6 8")
+
+Ideas for further commands:
+
+# Can be written as: mix(cat) { modulo(2){1}, modulo(2){2} }
 duplex
        long-edge
 
-merge
-
-modulo
-       half
-
-# Add an empty page after the current one
-add-blank
-
-# Set either:
-#      - paper size + margins
-#      - scale + margins
-nup(hnum, vnum)
-       paper / w / h   # Specify paper size, default=copy from 1st image
-       + fit options (*margin, pos)
-       crop            # Crop to image
-       rotate=1        # Override rotation decision
-       scale=1         # Override scaling factor
-       tile            # Tile with copies of a single page
-       hspace / vspace / space # Distance between tiles
-       + cropmarks?
+# Send pages to multiple pipes and merge their results
+mix { ..., ..., ...}
+       cat             # Concatenate results (default is interleave)
+       cycle           # When one pipe ends earlier, cycle it from start
+       pad             # When one pipe ends earlier, add blank pages