TODO

Mon, 18 Aug 2003 09:59:41 +0000

author
eric
date
Mon, 18 Aug 2003 09:59:41 +0000
changeset 159
2af017feadca
parent 155
cbc23650d9ca
permissions
-rw-r--r--

added big-endian support

     1 tumble TODO list
     2 $Id: TODO,v 1.20 2003/03/25 01:36:56 eric Exp $
     4 No particular order.
     6 -----------------------------------------------------------------------------
     8 tumble:
    10 * input handlers shouldn't use globals, use pointer to private structure
    11   instead.
    13 * multiple "-b" options on command line
    15 * page labels on command line
    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
    24 * overlay G4 images in different colors - use ImageMask and the fill color
    26 * crop
    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?
    34 * range checking
    35     * rotation (0, 90, 180, or 270)
    36     * page number style (D, r, R, a, A)
    38 * watermarking - in image?
    40 * flip, transpose
    42 * support color & grayscale TIFF images
    43     * pass JPEG through unchanged, others must be encoded
    45 * support PNG, BMP, and other input file formats
    47 * generate text, line art - option to embed fonts
    49 * bilevel thresholding of color and grayscale input
    51 * automatic separation using timify code from Tim Shoppa?
    53 * automatic image detection using DCT or FFT
    55 * downsampling
    57 -----------------------------------------------------------------------------
    59 bitblt routines:
    61 * finish optimized bitblt code
    63 * optimize inner loops in flip_h and flip_v with Duff's Device
    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()
    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
    77 -----------------------------------------------------------------------------
    79 PDF routines:
    81 [Page numbers refer to _Portable Document Format Reference Manual_ by
    82 Adobe Systems Incorporated, Addison-Wesley, 1993.]
    84 * Flate compression - including predictors
    86 * ModDate and CreationDate keys in Info dict
    88 * ID key in trailer dict
    90 * proper output of real numbers - variable precision, no exponent
    92 * bookmarks (outline) should allow alternate destination specs, currently
    93   only /Fit is supported
    95 * balance pages tree - currently a degenerate single-level tree, but the
    96   PDF spec recommends max. of 6 children per parent
    98 * thumbnails
   100 * PDF Page rotate attribute (p. 53)?
   102 * memory management - need to reference count all structures and free
   103   them as appropriate - not necessary for t2p program
   105 * when an object is written to the file, set a flag to indicate that
   106   it is now immutable
   108 * name trees, number trees - when finalize is called, set immutable flag
   109   and allow no further changes
   111 * buffered streams (vs. current callback mechanism for unbuffered streams)
   113 * add support for streams with multiple filters
   115 * linearize ("optimize")