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