TODO

Thu, 13 Mar 2003 07:59:10 +0000

author
eric
date
Thu, 13 Mar 2003 07:59:10 +0000
changeset 121
e50c7f76f2f6
parent 120
26cbb0d7782b
child 140
3fe049d83e22
permissions
-rw-r--r--

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")