TODO

Thu, 20 Mar 2003 15:26:16 +0000

author
eric
date
Thu, 20 Mar 2003 15:26:16 +0000
changeset 153
4a4a5b5fd6e5
parent 144
f2b7f70a965d
child 155
cbc23650d9ca
permissions
-rw-r--r--

*** empty log message ***

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