1tumble TODO list 2$Id: TODO,v 1.20 2003/03/25 01:36:56 eric Exp $ 3 4No particular order. 5 6----------------------------------------------------------------------------- 7 8tumble: 9 10* input handlers shouldn't use globals, use pointer to private structure 11 instead. 12 13* multiple "-b" options on command line 14 15* page labels on command line 16 17* pages containing multiple images 18 * spec language needs major changes 19 * split process_page into multiple parts: 20 * open page 21 * add image 22 * close page 23 24* overlay G4 images in different colors - use ImageMask and the fill color 25 26* crop 27 28* page sizes 29 * metric 30 * check page size, if off by too much, generate warning message and 31 use actual scan size 32 * multiple page sizes, pick the right one? 33 34* range checking 35 * rotation (0, 90, 180, or 270) 36 * page number style (D, r, R, a, A) 37 38* watermarking - in image? 39 40* flip, transpose 41 42* support color & grayscale TIFF images 43 * pass JPEG through unchanged, others must be encoded 44 45* support PNG, BMP, and other input file formats 46 47* generate text, line art - option to embed fonts 48 49* bilevel thresholding of color and grayscale input 50 51* automatic separation using timify code from Tim Shoppa? 52 53* automatic image detection using DCT or FFT 54 55* downsampling 56 57----------------------------------------------------------------------------- 58 59bitblt routines: 60 61* finish optimized bitblt code 62 63* optimize inner loops in flip_h and flip_v with Duff's Device 64 65* check for endian problems 66 * reading TIFF (don't define TIFF_REVERSE_BITS on some hosts) 67 * rle table 68 * g4_get_pixel() 69 * g4_find_pixel() 70 71* g4_find_pixel should use native instructions where available 72 * 386: BSF bit scan forward 73 * PowerPC: CLTLZ, CNTLZW count leasing zeros (CNTLZD 64-bit) 74 * MC68020: BFFFO bit field find first one 75 * Alpha 21264A: CTTZ count trailing zeros 76 77----------------------------------------------------------------------------- 78 79PDF routines: 80 81[Page numbers refer to _Portable Document Format Reference Manual_ by 82Adobe Systems Incorporated, Addison-Wesley, 1993.] 83 84* Flate compression - including predictors 85 86* ModDate and CreationDate keys in Info dict 87 88* ID key in trailer dict 89 90* proper output of real numbers - variable precision, no exponent 91 92* bookmarks (outline) should allow alternate destination specs, currently 93 only /Fit is supported 94 95* balance pages tree - currently a degenerate single-level tree, but the 96 PDF spec recommends max. of 6 children per parent 97 98* thumbnails 99 100* PDF Page rotate attribute (p. 53)? 101 102* memory management - need to reference count all structures and free 103 them as appropriate - not necessary for t2p program 104 105* when an object is written to the file, set a flag to indicate that 106 it is now immutable 107 108* name trees, number trees - when finalize is called, set immutable flag 109 and allow no further changes 110 111* buffered streams (vs. current callback mechanism for unbuffered streams) 112 113* add support for streams with multiple filters 114 115* linearize ("optimize") 116