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