xref: /libtiff-4.0.7/html/support.html (revision 0ef31e1f)
1*0ef31e1fSMike Welles<HTML>
2*0ef31e1fSMike Welles<HEAD>
3*0ef31e1fSMike Welles<TITLE>
4*0ef31e1fSMike WellesTIFF 6.0 Specification Coverage
5*0ef31e1fSMike Welles</TITLE>
6*0ef31e1fSMike Welles</HEAD>
7*0ef31e1fSMike Welles
8*0ef31e1fSMike Welles<H1>
9*0ef31e1fSMike Welles<IMG SRC=images/strike.gif WIDTH=128 HEIGHT=100 ALIGN=left HSPACE=6>
10*0ef31e1fSMike WellesTIFF 6.0 Specification Coverage
11*0ef31e1fSMike Welles</H1>
12*0ef31e1fSMike Welles
13*0ef31e1fSMike Welles
14*0ef31e1fSMike Welles<P>
15*0ef31e1fSMike WellesThe library is capable of dealing with images that are written to
16*0ef31e1fSMike Wellesfollow the 5.0 or 6.0 TIFF spec.  There is also considerable support
17*0ef31e1fSMike Wellesfor some of the more esoteric portions of the 6.0 TIFF spec.
18*0ef31e1fSMike Welles
19*0ef31e1fSMike Welles<P>
20*0ef31e1fSMike Welles<TABLE BORDER CELLPADDING=3>
21*0ef31e1fSMike Welles
22*0ef31e1fSMike Welles<TR>
23*0ef31e1fSMike Welles<TD VALIGN=top>
24*0ef31e1fSMike Welles<I>Core requirements</I>
25*0ef31e1fSMike Welles</TD>
26*0ef31e1fSMike Welles<TD>
27*0ef31e1fSMike WellesBoth <TT>"MM"</TT> and <TT>"II"</TT> byte orders are handled.
28*0ef31e1fSMike WellesBoth packed and separated planar configuration of samples.
29*0ef31e1fSMike WellesAny number of samples per pixel (memory permitting).
30*0ef31e1fSMike WellesAny image width and height (memory permitting).
31*0ef31e1fSMike WellesMultiple subfiles can be read and written.
32*0ef31e1fSMike WellesEditing is <B>not</B> supported in that related subfiles (e.g.
33*0ef31e1fSMike Wellesa reduced resolution version of an image) are not automatically
34*0ef31e1fSMike Wellesupdated.
35*0ef31e1fSMike Welles<P>
36*0ef31e1fSMike WellesTags handled:
37*0ef31e1fSMike Welles<TT>ExtraSamples</TT>,
38*0ef31e1fSMike Welles<TT>ImageWidth</TT>,
39*0ef31e1fSMike Welles<TT>ImageLength</TT>,
40*0ef31e1fSMike Welles<TT>NewSubfileType</TT>,
41*0ef31e1fSMike Welles<TT>ResolutionUnit</TT>.
42*0ef31e1fSMike Welles<TT>Rowsperstrip</TT>,
43*0ef31e1fSMike Welles<TT>StripOffsets</TT>,
44*0ef31e1fSMike Welles<TT>StripByteCounts</TT>,
45*0ef31e1fSMike Welles<TT>XResolution</TT>,
46*0ef31e1fSMike Welles<TT>YResolution</TT>,
47*0ef31e1fSMike Welles</TD>
48*0ef31e1fSMike Welles</TR>
49*0ef31e1fSMike Welles
50*0ef31e1fSMike Welles<TR>
51*0ef31e1fSMike Welles<TD VALIGN=top><I>Tiled Images</I></TD>
52*0ef31e1fSMike Welles<TD><TT>TileWidth</TT>,
53*0ef31e1fSMike Welles    <TT>TileLength</TT>,
54*0ef31e1fSMike Welles    <TT>TileOffsets</TT>,
55*0ef31e1fSMike Welles    <TT>TileByteCounts</TT>
56*0ef31e1fSMike Welles</TD>
57*0ef31e1fSMike Welles</TR>
58*0ef31e1fSMike Welles
59*0ef31e1fSMike Welles<TD VALIGN=top><I>Image Colorimetry Information</I></TD>
60*0ef31e1fSMike Welles<TD><TT>WhitePoint</TT>,
61*0ef31e1fSMike Welles    <TT>PrimaryChromaticities</TT>,
62*0ef31e1fSMike Welles    <TT>TransferFunction</TT>,
63*0ef31e1fSMike Welles    <TT>ReferenceBlackWhite</TT>
64*0ef31e1fSMike Welles</TD>
65*0ef31e1fSMike Welles</TR>
66*0ef31e1fSMike Welles
67*0ef31e1fSMike Welles<TR>
68*0ef31e1fSMike Welles<TD VALIGN=top><I>Class B for bilevel images</I></TD>
69*0ef31e1fSMike Welles<TD><TT>SamplesPerPixel</TT> = 1<BR>
70*0ef31e1fSMike Welles    <TT>BitsPerSample</TT> = 1<BR>
71*0ef31e1fSMike Welles    <TT>Compression</TT> = 1 (none), 2 (CCITT 1D), or 32773 (PackBits)<BR>
72*0ef31e1fSMike Welles    <TT>PhotometricInterpretation</TT> = 0 (Min-is-White), 1 (Min-is-Black)<BR>
73*0ef31e1fSMike Welles</TD>
74*0ef31e1fSMike Welles</TR>
75*0ef31e1fSMike Welles
76*0ef31e1fSMike Welles<TR>
77*0ef31e1fSMike Welles<TD VALIGN=top><I>Class G for grayscale images</I></TD>
78*0ef31e1fSMike Welles<TD><TT>SamplesPerPixel</TT> = 1<BR>
79*0ef31e1fSMike Welles    <TT>BitsPerSample</TT> = 4, 8<BR>
80*0ef31e1fSMike Welles    <TT>Compression</TT> = 1 (none) 5 (LZW)<BR>
81*0ef31e1fSMike Welles    <TT>PhotometricInterpretation</TT> = 0 (Min-is-White), 1 (Min-is-Black)<BR>
82*0ef31e1fSMike Welles</TD>
83*0ef31e1fSMike Welles
84*0ef31e1fSMike Welles</TR>
85*0ef31e1fSMike Welles<TR>
86*0ef31e1fSMike Welles<TD VALIGN=top><I>Class P for palette color images</I></TD>
87*0ef31e1fSMike Welles<TD><TT>SamplesPerPixel</TT> = 1<BR>
88*0ef31e1fSMike Welles    <TT>BitsPerSample</TT> = 1-8<BR>
89*0ef31e1fSMike Welles    <TT>Compression</TT> = 1 (none) 5 (LZW)<BR>
90*0ef31e1fSMike Welles    <TT>PhotometricInterpretation</TT> = 3 (Palette RGB)<BR>
91*0ef31e1fSMike Welles    <TT>ColorMap</TT>
92*0ef31e1fSMike Welles</TD>
93*0ef31e1fSMike Welles</TR>
94*0ef31e1fSMike Welles
95*0ef31e1fSMike Welles<TR>
96*0ef31e1fSMike Welles<TD VALIGN=top><I>Class R for RGB full color images</I></TD>
97*0ef31e1fSMike Welles<TD><TT>SamplesPerPixel</TT> = 3<BR>
98*0ef31e1fSMike Welles    <TT>BitsPerSample</TT> = <8,8,8><BR>
99*0ef31e1fSMike Welles    <TT>PlanarConfiguration</TT> = 1, 2<BR>
100*0ef31e1fSMike Welles    <TT>Compression</TT> = 1 (none) 5 (LZW)<BR>
101*0ef31e1fSMike Welles    <TT>PhotometricInterpretation</TT> = 2 (RGB)<BR>
102*0ef31e1fSMike Welles</TD>
103*0ef31e1fSMike Welles</TR>
104*0ef31e1fSMike Welles
105*0ef31e1fSMike Welles<TR>
106*0ef31e1fSMike Welles<TD VALIGN=top><I>Class F for facsimile</I></TD>
107*0ef31e1fSMike Welles<TD>(<I>Class B tags plus...</I>)<BR>
108*0ef31e1fSMike Welles    <TT>Compression</TT> = 3 (CCITT Group 3), 4 (CCITT Group 4)<BR>
109*0ef31e1fSMike Welles    <TT>FillOrder</TT> = 1 (MSB), 2 (LSB)<BR>
110*0ef31e1fSMike Welles    <TT>Group3Options</TT> = 1 (2d encoding), 4 (zero fill), 5 (2d+fill)<BR>
111*0ef31e1fSMike Welles    <TT>ImageWidth</TT> = 1728, 2048, 2482<BR>
112*0ef31e1fSMike Welles    <TT>NewSubFileType</TT> = 2<BR>
113*0ef31e1fSMike Welles    <TT>ResolutionUnit</TT> = 2 (Inch), 3 (Centimeter)<BR>
114*0ef31e1fSMike Welles    <TT>PageNumber</TT>,
115*0ef31e1fSMike Welles    <TT>XResolution</TT>,
116*0ef31e1fSMike Welles    <TT>YResolution</TT>,
117*0ef31e1fSMike Welles    <TT>Software</TT>,
118*0ef31e1fSMike Welles    <TT>BadFaxLines</TT>,
119*0ef31e1fSMike Welles    <TT>CleanFaxData</TT>,
120*0ef31e1fSMike Welles    <TT>ConsecutiveBadFaxLines</TT>,
121*0ef31e1fSMike Welles    <TT>DateTime</TT>,
122*0ef31e1fSMike Welles    <TT>DocumentName</TT>,
123*0ef31e1fSMike Welles    <TT>ImageDescription</TT>,
124*0ef31e1fSMike Welles    <TT>Orientation</TT>
125*0ef31e1fSMike Welles</TD>
126*0ef31e1fSMike Welles</TR>
127*0ef31e1fSMike Welles
128*0ef31e1fSMike Welles<TD VALIGN=top><I>Class S for separated images</I></TD>
129*0ef31e1fSMike Welles<TD><TT>SamplesPerPixel</TT> = 4<BR>
130*0ef31e1fSMike Welles    <TT>PlanarConfiguration</TT> = 1, 2<BR>
131*0ef31e1fSMike Welles    <TT>Compression</TT> = 1 (none), 5 (LZW)<BR>
132*0ef31e1fSMike Welles    <TT>PhotometricInterpretation</TT> = 5 (Separated)<BR>
133*0ef31e1fSMike Welles    <TT>InkSet</TT> = 1 (CMYK)<BR>
134*0ef31e1fSMike Welles    <TT>DotRange</TT>,
135*0ef31e1fSMike Welles    <TT>InkNames</TT>,
136*0ef31e1fSMike Welles    <TT>DotRange</TT>,
137*0ef31e1fSMike Welles    <TT>TargetPrinter</TT>
138*0ef31e1fSMike Welles</TD>
139*0ef31e1fSMike Welles</TR>
140*0ef31e1fSMike Welles
141*0ef31e1fSMike Welles<TD VALIGN=top><I>Class Y for YCbCr images</I></TD>
142*0ef31e1fSMike Welles<TD><TT>SamplesPerPixel</TT> = 3<BR>
143*0ef31e1fSMike Welles    <TT>BitsPerSample</TT> = <8,8,8><BR>
144*0ef31e1fSMike Welles    <TT>PlanarConfiguration</TT> = 1, 2<BR>
145*0ef31e1fSMike Welles    <TT>Compression</TT> = 1 (none),  5 (LZW), 7 (JPEG)<BR>
146*0ef31e1fSMike Welles    <TT>PhotometricInterpretation</TT> = 6 (YCbCr)<BR>
147*0ef31e1fSMike Welles    <TT>YCbCrCoefficients</TT>,
148*0ef31e1fSMike Welles    <TT>YCbCrSubsampling</TT>,
149*0ef31e1fSMike Welles    <TT>YCbCrPositioning</TT><BR>
150*0ef31e1fSMike Welles    (<I>colorimetry info from Appendix H; see above</I>)
151*0ef31e1fSMike Welles</TD>
152*0ef31e1fSMike Welles</TR>
153*0ef31e1fSMike Welles
154*0ef31e1fSMike Welles<TR>
155*0ef31e1fSMike Welles<TD VALIGN=top><I>Class "JPEG" for JPEG images (per TTN2)</I></TD>
156*0ef31e1fSMike Welles<TD><TT>PhotometricInterpretation</TT> = 1 (grayscale), 2 (RGB), 5 (CMYK), 6 (YCbCr)<BR>
157*0ef31e1fSMike Welles    (<I>Class Y tags if YCbCr</I>)<BR>
158*0ef31e1fSMike Welles    (<I>Class S tags if CMYK</I>)<BR>
159*0ef31e1fSMike Welles    <TT>Compression</TT> = 7 (JPEG)<BR>
160*0ef31e1fSMike Welles</TD>
161*0ef31e1fSMike Welles</TR>
162*0ef31e1fSMike Welles</TABLE>
163*0ef31e1fSMike Welles
164*0ef31e1fSMike Welles<P>
165*0ef31e1fSMike WellesIn addition, the library supports some optional compression algorithms
166*0ef31e1fSMike Wellesthat are, in some cases, of dubious value.
167*0ef31e1fSMike Welles
168*0ef31e1fSMike Welles<PRE>
169*0ef31e1fSMike Welles    Compression = 32766	NeXT 2-bit encoding
170*0ef31e1fSMike Welles    Compression = 32809	ThunderScan 4-bit encoding
171*0ef31e1fSMike Welles    Compression = 32909	Pixar companded 11-bit ZIP encoding
172*0ef31e1fSMike Welles    Compression = 32946	PKZIP-style Deflate encoding (experimental)
173*0ef31e1fSMike Welles    Compression = 34676	SGI 32-bit Log Luminance encoding (experimental)
174*0ef31e1fSMike Welles    Compression = 34677	SGI 24-bit Log Luminance encoding (experimental)
175*0ef31e1fSMike Welles</PRE>
176*0ef31e1fSMike Welles
177*0ef31e1fSMike WellesNote that there is no support for the JPEG-related tags defined
178*0ef31e1fSMike Wellesin the 6.0 specification; the JPEG support is based on the post-6.0
179*0ef31e1fSMike Wellesproposal given in TIFF Technical Note #2.
180*0ef31e1fSMike Welles
181*0ef31e1fSMike Welles<P>
182*0ef31e1fSMike Welles<TABLE>
183*0ef31e1fSMike Welles<TR>
184*0ef31e1fSMike Welles<TD VALIGN=top><IMG SRC="images/info.gif"></TD>
185*0ef31e1fSMike Welles<TD>
186*0ef31e1fSMike Welles<EM>
187*0ef31e1fSMike WellesFor more information on the experimental Log Luminance encoding
188*0ef31e1fSMike Wellesconsult the materials available at
189*0ef31e1fSMike Welles<A HREF=http://www.sgi.com/Technology/pixformat>http://www.sgi.com/Technology/pixformat</A>.
190*0ef31e1fSMike Welles</EM>
191*0ef31e1fSMike Welles</TD>
192*0ef31e1fSMike Welles</TR>
193*0ef31e1fSMike Welles</TABLE>
194*0ef31e1fSMike Welles
195*0ef31e1fSMike Welles<P>
196*0ef31e1fSMike WellesThe following table shows the tags that are recognized
197*0ef31e1fSMike Wellesand how they are used by the library.  If no use is indicated,
198*0ef31e1fSMike Wellesthen the library
199*0ef31e1fSMike Wellesreads and writes the tag, but does not use it internally.
200*0ef31e1fSMike Welles
201*0ef31e1fSMike Welles<P>
202*0ef31e1fSMike Welles<TABLE BORDER WIDTH=100% CELLPADDING=2>
203*0ef31e1fSMike Welles<TR>
204*0ef31e1fSMike Welles<TH ALIGN=left>Tag Name</TH> <TH>Value</TH> <TH ALIGN=center>R/W</TH> <TH ALIGN=left>Library's Use (Comments)</TH>
205*0ef31e1fSMike Welles</TR>
206*0ef31e1fSMike Welles<TR>
207*0ef31e1fSMike Welles<TD><TT>NewSubFileType</TT></TD>
208*0ef31e1fSMike Welles<TD ALIGN=center>254</TD>
209*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
210*0ef31e1fSMike Welles<TD>none (called <TT>SubFileType</TT> in &lt;tiff.h&gt;)</TD>
211*0ef31e1fSMike Welles</TR>
212*0ef31e1fSMike Welles<TR>
213*0ef31e1fSMike Welles<TD><TT>SubFileType</TT></TD>
214*0ef31e1fSMike Welles<TD ALIGN=center>255</TD>
215*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
216*0ef31e1fSMike Welles<TD>none (called <TT>OSubFileType</TT> in &lt;tiff.h&gt;)</TD>
217*0ef31e1fSMike Welles</TR>
218*0ef31e1fSMike Welles<TR>
219*0ef31e1fSMike Welles<TD><TT>ImageWidth</TT></TD>
220*0ef31e1fSMike Welles<TD ALIGN=center>256</TD>
221*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
222*0ef31e1fSMike Welles<TD>lots</TD>
223*0ef31e1fSMike Welles</TR>
224*0ef31e1fSMike Welles<TR>
225*0ef31e1fSMike Welles<TD><TT>ImageLength</TT></TD>
226*0ef31e1fSMike Welles<TD ALIGN=center>257</TD>
227*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
228*0ef31e1fSMike Welles<TD>lots</TD>
229*0ef31e1fSMike Welles</TR>
230*0ef31e1fSMike Welles<TR>
231*0ef31e1fSMike Welles<TD><TT>BitsPerSample</TT></TD>
232*0ef31e1fSMike Welles<TD ALIGN=center>258</TD>
233*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
234*0ef31e1fSMike Welles<TD>lots</TD>
235*0ef31e1fSMike Welles</TR>
236*0ef31e1fSMike Welles<TR>
237*0ef31e1fSMike Welles<TD><TT>Compression</TT></TD>
238*0ef31e1fSMike Welles<TD ALIGN=center>259</TD>
239*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
240*0ef31e1fSMike Welles<TD>to select appropriate codec</TD>
241*0ef31e1fSMike Welles</TR>
242*0ef31e1fSMike Welles<TR>
243*0ef31e1fSMike Welles<TD><TT>PhotometricInterpretation</TT></TD>
244*0ef31e1fSMike Welles<TD ALIGN=center>262</TD>
245*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
246*0ef31e1fSMike Welles<TD>lots</TD>
247*0ef31e1fSMike Welles</TR>
248*0ef31e1fSMike Welles<TR>
249*0ef31e1fSMike Welles<TD><TT>Thresholding</TT></TD>
250*0ef31e1fSMike Welles<TD ALIGN=center>263</TD>
251*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
252*0ef31e1fSMike Welles<TD>&nbsp;</TD>
253*0ef31e1fSMike Welles</TR>
254*0ef31e1fSMike Welles<TR>
255*0ef31e1fSMike Welles<TD><TT>CellWidth</TT></TD>
256*0ef31e1fSMike Welles<TD ALIGN=center>264</TD>
257*0ef31e1fSMike Welles<TD>&nbsp;</TD>
258*0ef31e1fSMike Welles<TD>parsed but ignored</TD>
259*0ef31e1fSMike Welles</TR>
260*0ef31e1fSMike Welles<TR>
261*0ef31e1fSMike Welles<TD><TT>CellLength</TT></TD>
262*0ef31e1fSMike Welles<TD ALIGN=center>265</TD>
263*0ef31e1fSMike Welles<TD>&nbsp;</TD>
264*0ef31e1fSMike Welles<TD>parsed but ignored</TD>
265*0ef31e1fSMike Welles</TR>
266*0ef31e1fSMike Welles<TR>
267*0ef31e1fSMike Welles<TD><TT>FillOrder</TT></TD>
268*0ef31e1fSMike Welles<TD ALIGN=center>266</TD>
269*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
270*0ef31e1fSMike Welles<TD>control bit order</TD>
271*0ef31e1fSMike Welles</TR>
272*0ef31e1fSMike Welles<TR>
273*0ef31e1fSMike Welles<TD><TT>DocumentName</TT></TD>
274*0ef31e1fSMike Welles<TD ALIGN=center>269</TD>
275*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
276*0ef31e1fSMike Welles<TD>&nbsp;</TD>
277*0ef31e1fSMike Welles</TR>
278*0ef31e1fSMike Welles<TR>
279*0ef31e1fSMike Welles<TD><TT>ImageDescription</TT></TD>
280*0ef31e1fSMike Welles<TD ALIGN=center>270</TD>
281*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
282*0ef31e1fSMike Welles<TD>&nbsp;</TD>
283*0ef31e1fSMike Welles</TR>
284*0ef31e1fSMike Welles<TR>
285*0ef31e1fSMike Welles<TD><TT>Make</TT></TD>
286*0ef31e1fSMike Welles<TD ALIGN=center>271</TD>
287*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
288*0ef31e1fSMike Welles<TD>&nbsp;</TD>
289*0ef31e1fSMike Welles</TR>
290*0ef31e1fSMike Welles<TR>
291*0ef31e1fSMike Welles<TD><TT>Model</TT></TD>
292*0ef31e1fSMike Welles<TD ALIGN=center>272</TD>
293*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
294*0ef31e1fSMike Welles<TD>&nbsp;</TD>
295*0ef31e1fSMike Welles</TR>
296*0ef31e1fSMike Welles<TR>
297*0ef31e1fSMike Welles<TD><TT>StripOffsets</TT></TD>
298*0ef31e1fSMike Welles<TD ALIGN=center>273</TD>
299*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
300*0ef31e1fSMike Welles<TD>data i/o</TD>
301*0ef31e1fSMike Welles</TR>
302*0ef31e1fSMike Welles<TR>
303*0ef31e1fSMike Welles<TD><TT>Orientation</TT></TD>
304*0ef31e1fSMike Welles<TD ALIGN=center>274</TD>
305*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
306*0ef31e1fSMike Welles<TD>&nbsp;</TD>
307*0ef31e1fSMike Welles</TR>
308*0ef31e1fSMike Welles<TR>
309*0ef31e1fSMike Welles<TD><TT>SamplesPerPixel</TT></TD>
310*0ef31e1fSMike Welles<TD ALIGN=center>277</TD>
311*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
312*0ef31e1fSMike Welles<TD>lots</TD>
313*0ef31e1fSMike Welles</TR>
314*0ef31e1fSMike Welles<TR>
315*0ef31e1fSMike Welles<TD><TT>RowsPerStrip</TT></TD>
316*0ef31e1fSMike Welles<TD ALIGN=center>278</TD>
317*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
318*0ef31e1fSMike Welles<TD>data i/o</TD>
319*0ef31e1fSMike Welles</TR>
320*0ef31e1fSMike Welles<TR>
321*0ef31e1fSMike Welles<TD><TT>StripByteCounts</TT></TD>
322*0ef31e1fSMike Welles<TD ALIGN=center>279</TD>
323*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
324*0ef31e1fSMike Welles<TD>data i/o</TD>
325*0ef31e1fSMike Welles</TR>
326*0ef31e1fSMike Welles<TR>
327*0ef31e1fSMike Welles<TD><TT>MinSampleValue</TT></TD>
328*0ef31e1fSMike Welles<TD ALIGN=center>280</TD>
329*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
330*0ef31e1fSMike Welles<TD>&nbsp;</TD>
331*0ef31e1fSMike Welles</TR>
332*0ef31e1fSMike Welles<TR>
333*0ef31e1fSMike Welles<TD><TT>MaxSampleValue</TT></TD>
334*0ef31e1fSMike Welles<TD ALIGN=center>281</TD>
335*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
336*0ef31e1fSMike Welles<TD>&nbsp;</TD>
337*0ef31e1fSMike Welles</TR>
338*0ef31e1fSMike Welles<TR>
339*0ef31e1fSMike Welles<TD><TT>XResolution</TT></TD>
340*0ef31e1fSMike Welles<TD ALIGN=center>282</TD>
341*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
342*0ef31e1fSMike Welles<TD>&nbsp;</TD>
343*0ef31e1fSMike Welles</TR>
344*0ef31e1fSMike Welles<TR>
345*0ef31e1fSMike Welles<TD><TT>YResolution</TT></TD>
346*0ef31e1fSMike Welles<TD ALIGN=center>283</TD>
347*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
348*0ef31e1fSMike Welles<TD>used by Group 3 2d encoder</TD>
349*0ef31e1fSMike Welles</TR>
350*0ef31e1fSMike Welles<TR>
351*0ef31e1fSMike Welles<TD><TT>PlanarConfiguration</TT></TD>
352*0ef31e1fSMike Welles<TD ALIGN=center>284</TD>
353*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
354*0ef31e1fSMike Welles<TD>data i/o</TD>
355*0ef31e1fSMike Welles</TR>
356*0ef31e1fSMike Welles<TR>
357*0ef31e1fSMike Welles<TD><TT>PageName</TT></TD>
358*0ef31e1fSMike Welles<TD ALIGN=center>285</TD>
359*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
360*0ef31e1fSMike Welles<TD>&nbsp;</TD>
361*0ef31e1fSMike Welles</TR>
362*0ef31e1fSMike Welles<TR>
363*0ef31e1fSMike Welles<TD><TT>XPosition</TT></TD>
364*0ef31e1fSMike Welles<TD ALIGN=center>286</TD>
365*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
366*0ef31e1fSMike Welles<TD>&nbsp;</TD>
367*0ef31e1fSMike Welles</TR>
368*0ef31e1fSMike Welles<TR>
369*0ef31e1fSMike Welles<TD><TT>YPosition</TT></TD>
370*0ef31e1fSMike Welles<TD ALIGN=center>286</TD>
371*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
372*0ef31e1fSMike Welles<TD>&nbsp;</TD>
373*0ef31e1fSMike Welles</TR>
374*0ef31e1fSMike Welles<TR>
375*0ef31e1fSMike Welles<TD><TT>FreeOffsets</TT></TD>
376*0ef31e1fSMike Welles<TD ALIGN=center>288</TD>
377*0ef31e1fSMike Welles<TD>&nbsp;</TD>
378*0ef31e1fSMike Welles<TD>parsed but ignored</TD>
379*0ef31e1fSMike Welles</TR>
380*0ef31e1fSMike Welles<TR>
381*0ef31e1fSMike Welles<TD><TT>FreeByteCounts</TT></TD>
382*0ef31e1fSMike Welles<TD ALIGN=center>289</TD>
383*0ef31e1fSMike Welles<TD>&nbsp;</TD>
384*0ef31e1fSMike Welles<TD>parsed but ignored</TD>
385*0ef31e1fSMike Welles</TR>
386*0ef31e1fSMike Welles<TR>
387*0ef31e1fSMike Welles<TD><TT>GrayResponseUnit</TT></TD>
388*0ef31e1fSMike Welles<TD ALIGN=center>290</TD>
389*0ef31e1fSMike Welles<TD>&nbsp;</TD>
390*0ef31e1fSMike Welles<TD>parsed but ignored</TD>
391*0ef31e1fSMike Welles</TR>
392*0ef31e1fSMike Welles<TR>
393*0ef31e1fSMike Welles<TD><TT>GrayResponseCurve</TT></TD>
394*0ef31e1fSMike Welles<TD ALIGN=center>291</TD>
395*0ef31e1fSMike Welles<TD>&nbsp;</TD>
396*0ef31e1fSMike Welles<TD>parsed but ignored</TD>
397*0ef31e1fSMike Welles</TR>
398*0ef31e1fSMike Welles<TR>
399*0ef31e1fSMike Welles<TD><TT>Group3Options</TT></TD>
400*0ef31e1fSMike Welles<TD ALIGN=center>292</TD>
401*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
402*0ef31e1fSMike Welles<TD>used by Group 3 codec</TD>
403*0ef31e1fSMike Welles</TR>
404*0ef31e1fSMike Welles<TR>
405*0ef31e1fSMike Welles<TD><TT>Group4Options</TT></TD>
406*0ef31e1fSMike Welles<TD ALIGN=center>293</TD>
407*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
408*0ef31e1fSMike Welles<TD>&nbsp;</TD>
409*0ef31e1fSMike Welles</TR>
410*0ef31e1fSMike Welles<TR>
411*0ef31e1fSMike Welles<TD><TT>ResolutionUnit</TT></TD>
412*0ef31e1fSMike Welles<TD ALIGN=center>296</TD>
413*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
414*0ef31e1fSMike Welles<TD>used by Group 3 2d encoder</TD>
415*0ef31e1fSMike Welles</TR>
416*0ef31e1fSMike Welles<TR>
417*0ef31e1fSMike Welles<TD><TT>PageNumber</TT></TD>
418*0ef31e1fSMike Welles<TD ALIGN=center>297</TD>
419*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
420*0ef31e1fSMike Welles<TD>&nbsp;</TD>
421*0ef31e1fSMike Welles</TR>
422*0ef31e1fSMike Welles<TR>
423*0ef31e1fSMike Welles<TD><TT>ColorResponseUnit</TT></TD>
424*0ef31e1fSMike Welles<TD ALIGN=center>300</TD>
425*0ef31e1fSMike Welles<TD>&nbsp;</TD>
426*0ef31e1fSMike Welles<TD>parsed but ignored</TD>
427*0ef31e1fSMike Welles</TR>
428*0ef31e1fSMike Welles<TR>
429*0ef31e1fSMike Welles<TD><TT>TransferFunction</TT></TD>
430*0ef31e1fSMike Welles<TD ALIGN=center>301</TD>
431*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
432*0ef31e1fSMike Welles<TD>&nbsp;</TD>
433*0ef31e1fSMike Welles</TR>
434*0ef31e1fSMike Welles<TR>
435*0ef31e1fSMike Welles<TD><TT>Software</TT></TD>
436*0ef31e1fSMike Welles<TD ALIGN=center>305</TD>
437*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
438*0ef31e1fSMike Welles<TD>&nbsp;</TD>
439*0ef31e1fSMike Welles</TR>
440*0ef31e1fSMike Welles<TR>
441*0ef31e1fSMike Welles<TD><TT>DateTime</TT></TD>
442*0ef31e1fSMike Welles<TD ALIGN=center>306</TD>
443*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
444*0ef31e1fSMike Welles<TD>&nbsp;</TD>
445*0ef31e1fSMike Welles</TR>
446*0ef31e1fSMike Welles<TR>
447*0ef31e1fSMike Welles<TD><TT>Artist</TT></TD>
448*0ef31e1fSMike Welles<TD ALIGN=center>315</TD>
449*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
450*0ef31e1fSMike Welles<TD>&nbsp;</TD>
451*0ef31e1fSMike Welles</TR>
452*0ef31e1fSMike Welles<TR>
453*0ef31e1fSMike Welles<TD><TT>HostComputer</TT></TD>
454*0ef31e1fSMike Welles<TD ALIGN=center>316</TD>
455*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
456*0ef31e1fSMike Welles<TD>&nbsp;</TD>
457*0ef31e1fSMike Welles</TR>
458*0ef31e1fSMike Welles<TR>
459*0ef31e1fSMike Welles<TD><TT>Predictor</TT></TD>
460*0ef31e1fSMike Welles<TD ALIGN=center>317</TD>
461*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
462*0ef31e1fSMike Welles<TD>used by LZW codec</TD>
463*0ef31e1fSMike Welles</TR>
464*0ef31e1fSMike Welles<TR>
465*0ef31e1fSMike Welles<TD><TT>WhitePoint</TT></TD>
466*0ef31e1fSMike Welles<TD ALIGN=center>318</TD>
467*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
468*0ef31e1fSMike Welles<TD>&nbsp;</TD>
469*0ef31e1fSMike Welles</TR>
470*0ef31e1fSMike Welles<TR>
471*0ef31e1fSMike Welles<TD><TT>PrimaryChromacities</TT></TD>
472*0ef31e1fSMike Welles<TD ALIGN=center>319</TD>
473*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
474*0ef31e1fSMike Welles<TD>&nbsp;</TD>
475*0ef31e1fSMike Welles</TR>
476*0ef31e1fSMike Welles<TR>
477*0ef31e1fSMike Welles<TD><TT>ColorMap</TT></TD>
478*0ef31e1fSMike Welles<TD ALIGN=center>320</TD>
479*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
480*0ef31e1fSMike Welles<TD>&nbsp;</TD>
481*0ef31e1fSMike Welles</TR>
482*0ef31e1fSMike Welles<TR>
483*0ef31e1fSMike Welles<TD><TT>TileWidth</TT></TD>
484*0ef31e1fSMike Welles<TD ALIGN=center>322</TD>
485*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
486*0ef31e1fSMike Welles<TD>data i/o</TD>
487*0ef31e1fSMike Welles</TR>
488*0ef31e1fSMike Welles<TR>
489*0ef31e1fSMike Welles<TD><TT>TileLength</TT></TD>
490*0ef31e1fSMike Welles<TD ALIGN=center>323</TD>
491*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
492*0ef31e1fSMike Welles<TD>data i/o</TD>
493*0ef31e1fSMike Welles</TR>
494*0ef31e1fSMike Welles<TR>
495*0ef31e1fSMike Welles<TD><TT>TileOffsets</TT></TD>
496*0ef31e1fSMike Welles<TD ALIGN=center>324</TD>
497*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
498*0ef31e1fSMike Welles<TD>data i/o</TD>
499*0ef31e1fSMike Welles</TR>
500*0ef31e1fSMike Welles<TR>
501*0ef31e1fSMike Welles<TD><TT>TileByteCounts</TT></TD>
502*0ef31e1fSMike Welles<TD ALIGN=center>324</TD>
503*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
504*0ef31e1fSMike Welles<TD>data i/o</TD>
505*0ef31e1fSMike Welles</TR>
506*0ef31e1fSMike Welles<TR>
507*0ef31e1fSMike Welles<TD><TT>BadFaxLines</TT></TD>
508*0ef31e1fSMike Welles<TD ALIGN=center>326</TD>
509*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
510*0ef31e1fSMike Welles<TD>&nbsp;</TD>
511*0ef31e1fSMike Welles</TR>
512*0ef31e1fSMike Welles<TR>
513*0ef31e1fSMike Welles<TD><TT>CleanFaxData</TT></TD>
514*0ef31e1fSMike Welles<TD ALIGN=center>327</TD>
515*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
516*0ef31e1fSMike Welles<TD>&nbsp;</TD>
517*0ef31e1fSMike Welles</TR>
518*0ef31e1fSMike Welles<TR>
519*0ef31e1fSMike Welles<TD><TT>ConsecutiveBadFaxLines</TT></TD>
520*0ef31e1fSMike Welles<TD ALIGN=center>328</TD>
521*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
522*0ef31e1fSMike Welles<TD>&nbsp;</TD>
523*0ef31e1fSMike Welles</TR>
524*0ef31e1fSMike Welles<TR>
525*0ef31e1fSMike Welles<TD><TT>SubIFD</TT></TD>
526*0ef31e1fSMike Welles<TD ALIGN=center>330</TD>
527*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
528*0ef31e1fSMike Welles<TD>subimage descriptor support</TD>
529*0ef31e1fSMike Welles</TR>
530*0ef31e1fSMike Welles<TR>
531*0ef31e1fSMike Welles<TD><TT>InkSet</TT></TD>
532*0ef31e1fSMike Welles<TD ALIGN=center>332</TD>
533*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
534*0ef31e1fSMike Welles<TD>&nbsp;</TD>
535*0ef31e1fSMike Welles</TR>
536*0ef31e1fSMike Welles<TR>
537*0ef31e1fSMike Welles<TD><TT>InkNames</TT></TD>
538*0ef31e1fSMike Welles<TD ALIGN=center>333</TD>
539*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
540*0ef31e1fSMike Welles<TD>&nbsp;</TD>
541*0ef31e1fSMike Welles</TR>
542*0ef31e1fSMike Welles<TR>
543*0ef31e1fSMike Welles<TD><TT>DotRange</TT></TD>
544*0ef31e1fSMike Welles<TD ALIGN=center>336</TD>
545*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
546*0ef31e1fSMike Welles<TD>&nbsp;</TD>
547*0ef31e1fSMike Welles</TR>
548*0ef31e1fSMike Welles<TR>
549*0ef31e1fSMike Welles<TD><TT>TargetPrinter</TT></TD>
550*0ef31e1fSMike Welles<TD ALIGN=center>337</TD>
551*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
552*0ef31e1fSMike Welles<TD>&nbsp;</TD>
553*0ef31e1fSMike Welles</TR>
554*0ef31e1fSMike Welles<TR>
555*0ef31e1fSMike Welles<TD><TT>ExtraSamples</TT></TD>
556*0ef31e1fSMike Welles<TD ALIGN=center>338</TD>
557*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
558*0ef31e1fSMike Welles<TD>lots</TD>
559*0ef31e1fSMike Welles</TR>
560*0ef31e1fSMike Welles<TR>
561*0ef31e1fSMike Welles<TD><TT>SampleFormat</TT></TD>
562*0ef31e1fSMike Welles<TD ALIGN=center>339</TD>
563*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
564*0ef31e1fSMike Welles<TD>&nbsp;</TD>
565*0ef31e1fSMike Welles</TR>
566*0ef31e1fSMike Welles<TR>
567*0ef31e1fSMike Welles<TD><TT>SMinSampleValue</TT></TD>
568*0ef31e1fSMike Welles<TD ALIGN=center>340</TD>
569*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
570*0ef31e1fSMike Welles<TD>&nbsp;</TD>
571*0ef31e1fSMike Welles</TR>
572*0ef31e1fSMike Welles<TR>
573*0ef31e1fSMike Welles<TD><TT>SMaxSampleValue</TT></TD>
574*0ef31e1fSMike Welles<TD ALIGN=center>341</TD>
575*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
576*0ef31e1fSMike Welles<TD>&nbsp;</TD>
577*0ef31e1fSMike Welles</TR>
578*0ef31e1fSMike Welles<TR>
579*0ef31e1fSMike Welles<TD><TT>JPEGTables</TT></TD>
580*0ef31e1fSMike Welles<TD ALIGN=center>347</TD>
581*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
582*0ef31e1fSMike Welles<TD>used by JPEG codec</TD>
583*0ef31e1fSMike Welles</TR>
584*0ef31e1fSMike Welles<TR>
585*0ef31e1fSMike Welles<TD><TT>YCbCrCoefficients</TT></TD>
586*0ef31e1fSMike Welles<TD ALIGN=center>529</TD>
587*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
588*0ef31e1fSMike Welles<TD>used by <TT>TIFFReadRGBAImage</TT> support</TD>
589*0ef31e1fSMike Welles</TR>
590*0ef31e1fSMike Welles<TR>
591*0ef31e1fSMike Welles<TD><TT>YCbCrSubsampling</TT></TD>
592*0ef31e1fSMike Welles<TD ALIGN=center>530</TD>
593*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
594*0ef31e1fSMike Welles<TD>tile/strip size calculations</TD>
595*0ef31e1fSMike Welles</TR>
596*0ef31e1fSMike Welles<TR>
597*0ef31e1fSMike Welles<TD><TT>YCbCrPositioning</TT></TD>
598*0ef31e1fSMike Welles<TD ALIGN=center>531</TD>
599*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
600*0ef31e1fSMike Welles<TD>&nbsp;</TD>
601*0ef31e1fSMike Welles</TR>
602*0ef31e1fSMike Welles<TR>
603*0ef31e1fSMike Welles<TD><TT>ReferenceBlackWhite</TT></TD>
604*0ef31e1fSMike Welles<TD ALIGN=center>532</TD>
605*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
606*0ef31e1fSMike Welles<TD>&nbsp;</TD>
607*0ef31e1fSMike Welles</TR>
608*0ef31e1fSMike Welles<TR>
609*0ef31e1fSMike Welles<TD><TT>Matteing</TT></TD>
610*0ef31e1fSMike Welles<TD ALIGN=center>32995</TD>
611*0ef31e1fSMike Welles<TD ALIGN=center>R</TD>
612*0ef31e1fSMike Welles<TD>none (obsoleted by <TT>ExtraSamples</TT> tag)</TD>
613*0ef31e1fSMike Welles</TR>
614*0ef31e1fSMike Welles<TR>
615*0ef31e1fSMike Welles<TD><TT>DataType</TT></TD>
616*0ef31e1fSMike Welles<TD ALIGN=center>32996</TD>
617*0ef31e1fSMike Welles<TD ALIGN=center>R</TD>
618*0ef31e1fSMike Welles<TD>none (obsoleted by <TT>SampleFormat</TT> tag)</TD>
619*0ef31e1fSMike Welles</TR>
620*0ef31e1fSMike Welles<TR>
621*0ef31e1fSMike Welles<TD><TT>ImageDepth</TT></TD>
622*0ef31e1fSMike Welles<TD ALIGN=center>32997</TD>
623*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
624*0ef31e1fSMike Welles<TD>tile/strip calculations</TD>
625*0ef31e1fSMike Welles</TR>
626*0ef31e1fSMike Welles<TR>
627*0ef31e1fSMike Welles<TD><TT>TileDepth</TT></TD>
628*0ef31e1fSMike Welles<TD ALIGN=center>32998</TD>
629*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
630*0ef31e1fSMike Welles<TD>tile/strip calculations</TD>
631*0ef31e1fSMike Welles</TR>
632*0ef31e1fSMike Welles<TR>
633*0ef31e1fSMike Welles<TD><TT>StoNits</TT></TD>
634*0ef31e1fSMike Welles<TD ALIGN=center>37439</TD>
635*0ef31e1fSMike Welles<TD ALIGN=center>R/W</TD>
636*0ef31e1fSMike Welles<TD>&nbsp;</TD>
637*0ef31e1fSMike Welles</TR>
638*0ef31e1fSMike Welles</TABLE>
639*0ef31e1fSMike Welles
640*0ef31e1fSMike Welles<P>
641*0ef31e1fSMike WellesThe <TT>Matteing</TT> and <TT>DataType</TT>
642*0ef31e1fSMike Wellestags have been obsoleted by the 6.0
643*0ef31e1fSMike Welles<TT>ExtraSamples</TT> and <TT>SampleFormat</TT> tags.
644*0ef31e1fSMike WellesConsult the documentation on the
645*0ef31e1fSMike Welles<TT>ExtraSamples</TT> tag and Associated Alpha for elaboration.  Note however
646*0ef31e1fSMike Wellesthat if you use Associated Alpha, you are expected to save data that is
647*0ef31e1fSMike Wellespre-multipled by Alpha.  If this means nothing to you, check out
648*0ef31e1fSMike WellesPorter & Duff's paper in the '84 SIGGRAPH proceedings: "Compositing Digital
649*0ef31e1fSMike WellesImages".
650*0ef31e1fSMike Welles
651*0ef31e1fSMike Welles<P>
652*0ef31e1fSMike WellesThe <TT>ImageDepth</TT>
653*0ef31e1fSMike Wellestag is a non-standard, but registered tag that specifies
654*0ef31e1fSMike Wellesthe Z-dimension of volumetric data.  The combination of <TT>ImageWidth</TT>,
655*0ef31e1fSMike Welles<TT>ImageLength</TT>, and <TT>ImageDepth</TT>,
656*0ef31e1fSMike Wellesdefines a 3D volume of pixels that are
657*0ef31e1fSMike Wellesfurther specified by <TT>BitsPerSample</TT> and
658*0ef31e1fSMike Welles<TT>SamplesPerPixel</TT>.  The <TT>TileDepth</TT>
659*0ef31e1fSMike Wellestag (also non-standard, but registered) can be used to specified a
660*0ef31e1fSMike Wellessubvolume "tiling" of a volume of data.
661*0ef31e1fSMike Welles
662*0ef31e1fSMike Welles<P>
663*0ef31e1fSMike WellesThe Colorimetry, and CMYK tags are additions that appear in TIFF 6.0.
664*0ef31e1fSMike WellesConsult the TIFF 6.0 specification included in the <B>doc</B> directory
665*0ef31e1fSMike Wellesand <A HREF=document.html>online</A>.
666*0ef31e1fSMike Welles
667*0ef31e1fSMike Welles<P>
668*0ef31e1fSMike WellesThe JPEG-related tag is specified in
669*0ef31e1fSMike Welles<A HREF=ftp://ftp.sgi.com/graphics/tiff/TTN2.draft.txt.gz>TIFF Technical Note #2</A> which defines
670*0ef31e1fSMike Wellesa revised JPEG-in-TIFF scheme (revised over that appendix that was
671*0ef31e1fSMike Wellespart of the TIFF 6.0 specification).
672*0ef31e1fSMike Welles
673*0ef31e1fSMike Welles
674*0ef31e1fSMike Welles
675*0ef31e1fSMike Welles<P>
676*0ef31e1fSMike Welles<HR>
677*0ef31e1fSMike Welles
678*0ef31e1fSMike Welles<ADDRESS>
679*0ef31e1fSMike Welles<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:[email protected]">[email protected]</A>.
680*0ef31e1fSMike WellesLast updated: $Date: 1999-07-27 21:50:27 $
681*0ef31e1fSMike Welles</ADDRESS>
682*0ef31e1fSMike Welles
683*0ef31e1fSMike Welles</BODY>
684*0ef31e1fSMike Welles</HTML>
685